Mercurial > octave
changeset 26142:b9d72a2dac8f
Accept a cell array of strings to uncompress functions (bug #55102).
* bunzip2.m, gunzip.m: Document third calling form which returns FILELIST.
For single file arguments, extract the destination dir from filename.
* unpack.m: Change default for input DIR to [].
For cell array input, recursively call unpack and supply either the specified
DIR, or get the output DIR from the filename.
* untar.m, unzip.m: Document third calling form which returns FILELIST.
author | Rik <rik@octave.org> |
---|---|
date | Tue, 27 Nov 2018 12:14:41 -0800 |
parents | 42a06f8e6966 |
children | c7f845bf4fec |
files | scripts/miscellaneous/bunzip2.m scripts/miscellaneous/gunzip.m scripts/miscellaneous/unpack.m scripts/miscellaneous/untar.m scripts/miscellaneous/unzip.m |
diffstat | 5 files changed, 18 insertions(+), 10 deletions(-) [+] |
line wrap: on
line diff
--- a/scripts/miscellaneous/bunzip2.m Mon Nov 26 14:49:03 2018 -0800 +++ b/scripts/miscellaneous/bunzip2.m Tue Nov 27 12:14:41 2018 -0800 @@ -17,8 +17,9 @@ ## <https://www.gnu.org/licenses/>. ## -*- texinfo -*- -## @deftypefn {} {@var{filelist} =} bunzip2 (@var{bzfile}) -## @deftypefnx {} {@var{filelist} =} bunzip2 (@var{bzfile}, @var{dir}) +## @deftypefn {} {} bunzip2 (@var{bzfile}) +## @deftypefnx {} {} bunzip2 (@var{bzfile}, @var{dir}) +## @deftypefnx {} {@var{filelist} =} bunzip2 (@dots{}) ## Unpack the bzip2 archive @var{bzfile}. ## ## If @var{dir} is specified the files are unpacked in this directory rather @@ -36,7 +37,7 @@ print_usage (); endif - if (isempty (dir)) + if (isempty (dir) && ischar (bzfile)) dir = fileparts (bzfile); endif
--- a/scripts/miscellaneous/gunzip.m Mon Nov 26 14:49:03 2018 -0800 +++ b/scripts/miscellaneous/gunzip.m Tue Nov 27 12:14:41 2018 -0800 @@ -17,8 +17,9 @@ ## <https://www.gnu.org/licenses/>. ## -*- texinfo -*- -## @deftypefn {} {@var{filelist} =} gunzip (@var{gzfile}) -## @deftypefnx {} {@var{filelist} =} gunzip (@var{gzfile}, @var{dir}) +## @deftypefn {} {} gunzip (@var{gzfile}) +## @deftypefnx {} {} gunzip (@var{gzfile}, @var{dir}) +## @deftypefnx {} {@var{filelist} =} gunzip (@dots{}) ## Unpack the gzip archive @var{gzfile}. ## ## If @var{gzfile} is a directory, all gzfiles in the directory will be @@ -39,7 +40,7 @@ print_usage (); endif - if (isempty (dir)) + if (isempty (dir) && ischar (gzfile)) dir = fileparts (gzfile); endif
--- a/scripts/miscellaneous/unpack.m Mon Nov 26 14:49:03 2018 -0800 +++ b/scripts/miscellaneous/unpack.m Tue Nov 27 12:14:41 2018 -0800 @@ -71,7 +71,7 @@ ## Author: Bill Denney <denney@seas.upenn.edu> -function filelist = unpack (file, dir = ".", filetype = "") +function filelist = unpack (file, dir = [], filetype = "") if (nargin < 1 || nargin > 3) print_usage (); @@ -101,7 +101,11 @@ if (numel (file) > 1) files = {}; for i = 1:numel (file) - tmpfiles = unpack (file{i}, dir); + if (! isempty (dir)) + tmpfiles = unpack (file{i}, dir); + else + tmpfiles = unpack (file{i}, fileparts (file{i})); + endif files = {files{:} tmpfiles{:}}; endfor
--- a/scripts/miscellaneous/untar.m Mon Nov 26 14:49:03 2018 -0800 +++ b/scripts/miscellaneous/untar.m Tue Nov 27 12:14:41 2018 -0800 @@ -19,6 +19,7 @@ ## -*- texinfo -*- ## @deftypefn {} {} untar (@var{tarfile}) ## @deftypefnx {} {} untar (@var{tarfile}, @var{dir}) +## @deftypefnx {} {@var{filelist} =} untar (@dots{}) ## Unpack the TAR archive @var{tarfile}. ## ## If @var{dir} is specified the files are unpacked in this directory rather
--- a/scripts/miscellaneous/unzip.m Mon Nov 26 14:49:03 2018 -0800 +++ b/scripts/miscellaneous/unzip.m Tue Nov 27 12:14:41 2018 -0800 @@ -17,8 +17,9 @@ ## <https://www.gnu.org/licenses/>. ## -*- texinfo -*- -## @deftypefn {} {@var{filelist} =} unzip (@var{zipfile}) -## @deftypefnx {} {@var{filelist} =} unzip (@var{zipfile}, @var{dir}) +## @deftypefn {} {} unzip (@var{zipfile}) +## @deftypefnx {} {} unzip (@var{zipfile}, @var{dir}) +## @deftypefnx {} {@var{filelist} =} unzip (@dots{}) ## Unpack the ZIP archive @var{zipfile}. ## ## If @var{dir} is specified the files are unpacked in this directory rather