annotate scripts/miscellaneous/isfolder.m @ 30329:81d26e8481a6

maint: Shorten @seealso lines to less than 80 characters (bug #57599) * chol.cc, data.cc, debug.cc, file-io.cc, load-save.cc, oct-hist.cc, pr-output.cc, sparse.cc, syscalls.cc, time.cc, utils.cc, ov-struct.cc, base64decode.m, base64encode.m, getappdata.m, isappdata.m, setappdata.m, colormap.m, isdir.m, cast.m, getfield.m, isfile.m, isfolder.m, setfield.m, contour.m, contour3.m, contourf.m, ezplot.m, isosurface.m, mesh.m, meshc.m, meshz.m, plot.m, surf.m, surfc.m, waterfall.m, movmad.m, movmax.m, movmean.m, movmedian.m, movmin.m, movprod.m, movstd.m, movsum.m, movvar.m: Shorten @seealso lines to less than 80 characters.
author Rik <rik@octave.org>
date Tue, 23 Nov 2021 11:26:38 -0800
parents 7854d5752dd2
children 4054c9dc6013
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
27923
bd51beb6205e update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents: 27919
diff changeset
1 ########################################################################
bd51beb6205e update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents: 27919
diff changeset
2 ##
29358
0a5b15007766 update Octave Project Developers copyright for the new year
John W. Eaton <jwe@octave.org>
parents: 27923
diff changeset
3 ## Copyright (C) 2018-2021 The Octave Project Developers
27918
b442ec6dda5c use centralized file for copyright info for individual contributors
John W. Eaton <jwe@octave.org>
parents: 26376
diff changeset
4 ##
27923
bd51beb6205e update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents: 27919
diff changeset
5 ## See the file COPYRIGHT.md in the top-level directory of this
bd51beb6205e update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents: 27919
diff changeset
6 ## distribution or <https://octave.org/copyright/>.
25780
7c5956c45a29 isfolder.m: New function for Matlab compatibility (bug #54456).
Guillaume Flandin <guillaume.offline@gmail.com>
parents:
diff changeset
7 ##
7c5956c45a29 isfolder.m: New function for Matlab compatibility (bug #54456).
Guillaume Flandin <guillaume.offline@gmail.com>
parents:
diff changeset
8 ## This file is part of Octave.
7c5956c45a29 isfolder.m: New function for Matlab compatibility (bug #54456).
Guillaume Flandin <guillaume.offline@gmail.com>
parents:
diff changeset
9 ##
7c5956c45a29 isfolder.m: New function for Matlab compatibility (bug #54456).
Guillaume Flandin <guillaume.offline@gmail.com>
parents:
diff changeset
10 ## Octave is free software: you can redistribute it and/or modify it
7c5956c45a29 isfolder.m: New function for Matlab compatibility (bug #54456).
Guillaume Flandin <guillaume.offline@gmail.com>
parents:
diff changeset
11 ## under the terms of the GNU General Public License as published by
7c5956c45a29 isfolder.m: New function for Matlab compatibility (bug #54456).
Guillaume Flandin <guillaume.offline@gmail.com>
parents:
diff changeset
12 ## the Free Software Foundation, either version 3 of the License, or
7c5956c45a29 isfolder.m: New function for Matlab compatibility (bug #54456).
Guillaume Flandin <guillaume.offline@gmail.com>
parents:
diff changeset
13 ## (at your option) any later version.
7c5956c45a29 isfolder.m: New function for Matlab compatibility (bug #54456).
Guillaume Flandin <guillaume.offline@gmail.com>
parents:
diff changeset
14 ##
7c5956c45a29 isfolder.m: New function for Matlab compatibility (bug #54456).
Guillaume Flandin <guillaume.offline@gmail.com>
parents:
diff changeset
15 ## Octave is distributed in the hope that it will be useful, but
7c5956c45a29 isfolder.m: New function for Matlab compatibility (bug #54456).
Guillaume Flandin <guillaume.offline@gmail.com>
parents:
diff changeset
16 ## WITHOUT ANY WARRANTY; without even the implied warranty of
7c5956c45a29 isfolder.m: New function for Matlab compatibility (bug #54456).
Guillaume Flandin <guillaume.offline@gmail.com>
parents:
diff changeset
17 ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
7c5956c45a29 isfolder.m: New function for Matlab compatibility (bug #54456).
Guillaume Flandin <guillaume.offline@gmail.com>
parents:
diff changeset
18 ## GNU General Public License for more details.
7c5956c45a29 isfolder.m: New function for Matlab compatibility (bug #54456).
Guillaume Flandin <guillaume.offline@gmail.com>
parents:
diff changeset
19 ##
7c5956c45a29 isfolder.m: New function for Matlab compatibility (bug #54456).
Guillaume Flandin <guillaume.offline@gmail.com>
parents:
diff changeset
20 ## You should have received a copy of the GNU General Public License
7c5956c45a29 isfolder.m: New function for Matlab compatibility (bug #54456).
Guillaume Flandin <guillaume.offline@gmail.com>
parents:
diff changeset
21 ## along with Octave; see the file COPYING. If not, see
7c5956c45a29 isfolder.m: New function for Matlab compatibility (bug #54456).
Guillaume Flandin <guillaume.offline@gmail.com>
parents:
diff changeset
22 ## <https://www.gnu.org/licenses/>.
27923
bd51beb6205e update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents: 27919
diff changeset
23 ##
bd51beb6205e update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents: 27919
diff changeset
24 ########################################################################
25780
7c5956c45a29 isfolder.m: New function for Matlab compatibility (bug #54456).
Guillaume Flandin <guillaume.offline@gmail.com>
parents:
diff changeset
25
7c5956c45a29 isfolder.m: New function for Matlab compatibility (bug #54456).
Guillaume Flandin <guillaume.offline@gmail.com>
parents:
diff changeset
26 ## -*- texinfo -*-
7c5956c45a29 isfolder.m: New function for Matlab compatibility (bug #54456).
Guillaume Flandin <guillaume.offline@gmail.com>
parents:
diff changeset
27 ## @deftypefn {} {} isfolder (@var{f})
7c5956c45a29 isfolder.m: New function for Matlab compatibility (bug #54456).
Guillaume Flandin <guillaume.offline@gmail.com>
parents:
diff changeset
28 ## @deftypefnx {} {@var{tf} =} isfolder (@var{f})
7c5956c45a29 isfolder.m: New function for Matlab compatibility (bug #54456).
Guillaume Flandin <guillaume.offline@gmail.com>
parents:
diff changeset
29 ## Return true if @var{f} is a directory and false otherwise.
7c5956c45a29 isfolder.m: New function for Matlab compatibility (bug #54456).
Guillaume Flandin <guillaume.offline@gmail.com>
parents:
diff changeset
30 ##
7c5956c45a29 isfolder.m: New function for Matlab compatibility (bug #54456).
Guillaume Flandin <guillaume.offline@gmail.com>
parents:
diff changeset
31 ## If @var{f} is a cell array of strings, @var{tf} is a logical array of the
7c5956c45a29 isfolder.m: New function for Matlab compatibility (bug #54456).
Guillaume Flandin <guillaume.offline@gmail.com>
parents:
diff changeset
32 ## same size.
30329
81d26e8481a6 maint: Shorten @seealso lines to less than 80 characters (bug #57599)
Rik <rik@octave.org>
parents: 29359
diff changeset
33 ## @seealso{isfile, exist, stat, is_absolute_filename,
81d26e8481a6 maint: Shorten @seealso lines to less than 80 characters (bug #57599)
Rik <rik@octave.org>
parents: 29359
diff changeset
34 ## is_rooted_relative_filename}
25780
7c5956c45a29 isfolder.m: New function for Matlab compatibility (bug #54456).
Guillaume Flandin <guillaume.offline@gmail.com>
parents:
diff changeset
35 ## @end deftypefn
7c5956c45a29 isfolder.m: New function for Matlab compatibility (bug #54456).
Guillaume Flandin <guillaume.offline@gmail.com>
parents:
diff changeset
36
7c5956c45a29 isfolder.m: New function for Matlab compatibility (bug #54456).
Guillaume Flandin <guillaume.offline@gmail.com>
parents:
diff changeset
37 function retval = isfolder (f)
7c5956c45a29 isfolder.m: New function for Matlab compatibility (bug #54456).
Guillaume Flandin <guillaume.offline@gmail.com>
parents:
diff changeset
38
28891
de5f2f9a64ff maint: Use same coding style when checking for a minimum of 1 input.
Rik <rik@octave.org>
parents: 28886
diff changeset
39 if (nargin < 1)
25780
7c5956c45a29 isfolder.m: New function for Matlab compatibility (bug #54456).
Guillaume Flandin <guillaume.offline@gmail.com>
parents:
diff changeset
40 print_usage ();
7c5956c45a29 isfolder.m: New function for Matlab compatibility (bug #54456).
Guillaume Flandin <guillaume.offline@gmail.com>
parents:
diff changeset
41 endif
7c5956c45a29 isfolder.m: New function for Matlab compatibility (bug #54456).
Guillaume Flandin <guillaume.offline@gmail.com>
parents:
diff changeset
42
7c5956c45a29 isfolder.m: New function for Matlab compatibility (bug #54456).
Guillaume Flandin <guillaume.offline@gmail.com>
parents:
diff changeset
43 if (! (ischar (f) || iscellstr (f)))
7c5956c45a29 isfolder.m: New function for Matlab compatibility (bug #54456).
Guillaume Flandin <guillaume.offline@gmail.com>
parents:
diff changeset
44 error ("isfolder: F must be a string or cell array of strings");
7c5956c45a29 isfolder.m: New function for Matlab compatibility (bug #54456).
Guillaume Flandin <guillaume.offline@gmail.com>
parents:
diff changeset
45 endif
7c5956c45a29 isfolder.m: New function for Matlab compatibility (bug #54456).
Guillaume Flandin <guillaume.offline@gmail.com>
parents:
diff changeset
46
7c5956c45a29 isfolder.m: New function for Matlab compatibility (bug #54456).
Guillaume Flandin <guillaume.offline@gmail.com>
parents:
diff changeset
47 f = cellstr (f);
7c5956c45a29 isfolder.m: New function for Matlab compatibility (bug #54456).
Guillaume Flandin <guillaume.offline@gmail.com>
parents:
diff changeset
48 retval = false (size (f));
7c5956c45a29 isfolder.m: New function for Matlab compatibility (bug #54456).
Guillaume Flandin <guillaume.offline@gmail.com>
parents:
diff changeset
49 for i = 1:numel (f)
7c5956c45a29 isfolder.m: New function for Matlab compatibility (bug #54456).
Guillaume Flandin <guillaume.offline@gmail.com>
parents:
diff changeset
50 [info, err] = stat (f{i});
7c5956c45a29 isfolder.m: New function for Matlab compatibility (bug #54456).
Guillaume Flandin <guillaume.offline@gmail.com>
parents:
diff changeset
51 retval(i) = (! err && S_ISDIR (info.mode));
7c5956c45a29 isfolder.m: New function for Matlab compatibility (bug #54456).
Guillaume Flandin <guillaume.offline@gmail.com>
parents:
diff changeset
52 endfor
7c5956c45a29 isfolder.m: New function for Matlab compatibility (bug #54456).
Guillaume Flandin <guillaume.offline@gmail.com>
parents:
diff changeset
53
7c5956c45a29 isfolder.m: New function for Matlab compatibility (bug #54456).
Guillaume Flandin <guillaume.offline@gmail.com>
parents:
diff changeset
54 endfunction
7c5956c45a29 isfolder.m: New function for Matlab compatibility (bug #54456).
Guillaume Flandin <guillaume.offline@gmail.com>
parents:
diff changeset
55
7c5956c45a29 isfolder.m: New function for Matlab compatibility (bug #54456).
Guillaume Flandin <guillaume.offline@gmail.com>
parents:
diff changeset
56
7c5956c45a29 isfolder.m: New function for Matlab compatibility (bug #54456).
Guillaume Flandin <guillaume.offline@gmail.com>
parents:
diff changeset
57 %!assert (isfolder (pwd ()))
7c5956c45a29 isfolder.m: New function for Matlab compatibility (bug #54456).
Guillaume Flandin <guillaume.offline@gmail.com>
parents:
diff changeset
58 %!assert (! isfolder (tempname ()))
7c5956c45a29 isfolder.m: New function for Matlab compatibility (bug #54456).
Guillaume Flandin <guillaume.offline@gmail.com>
parents:
diff changeset
59 %!assert (! isfolder (which ("isfolder")))
7c5956c45a29 isfolder.m: New function for Matlab compatibility (bug #54456).
Guillaume Flandin <guillaume.offline@gmail.com>
parents:
diff changeset
60 %!assert (isfolder ( {pwd(), tempname()}), [true, false])
7c5956c45a29 isfolder.m: New function for Matlab compatibility (bug #54456).
Guillaume Flandin <guillaume.offline@gmail.com>
parents:
diff changeset
61 %!assert (isfolder ( {pwd(); tempname()}), [true; false])
7c5956c45a29 isfolder.m: New function for Matlab compatibility (bug #54456).
Guillaume Flandin <guillaume.offline@gmail.com>
parents:
diff changeset
62
7c5956c45a29 isfolder.m: New function for Matlab compatibility (bug #54456).
Guillaume Flandin <guillaume.offline@gmail.com>
parents:
diff changeset
63 %!test
7c5956c45a29 isfolder.m: New function for Matlab compatibility (bug #54456).
Guillaume Flandin <guillaume.offline@gmail.com>
parents:
diff changeset
64 %! unwind_protect
7c5956c45a29 isfolder.m: New function for Matlab compatibility (bug #54456).
Guillaume Flandin <guillaume.offline@gmail.com>
parents:
diff changeset
65 %! tmp = tempname ();
7c5956c45a29 isfolder.m: New function for Matlab compatibility (bug #54456).
Guillaume Flandin <guillaume.offline@gmail.com>
parents:
diff changeset
66 %! [d, n] = fileparts (tmp);
7c5956c45a29 isfolder.m: New function for Matlab compatibility (bug #54456).
Guillaume Flandin <guillaume.offline@gmail.com>
parents:
diff changeset
67 %! assert (! isfolder (tmp));
7c5956c45a29 isfolder.m: New function for Matlab compatibility (bug #54456).
Guillaume Flandin <guillaume.offline@gmail.com>
parents:
diff changeset
68 %! mkdir (tmp);
7c5956c45a29 isfolder.m: New function for Matlab compatibility (bug #54456).
Guillaume Flandin <guillaume.offline@gmail.com>
parents:
diff changeset
69 %! assert (isfolder (tmp));
7c5956c45a29 isfolder.m: New function for Matlab compatibility (bug #54456).
Guillaume Flandin <guillaume.offline@gmail.com>
parents:
diff changeset
70 %! assert (! isfolder (n));
7c5956c45a29 isfolder.m: New function for Matlab compatibility (bug #54456).
Guillaume Flandin <guillaume.offline@gmail.com>
parents:
diff changeset
71 %! addpath (d);
7c5956c45a29 isfolder.m: New function for Matlab compatibility (bug #54456).
Guillaume Flandin <guillaume.offline@gmail.com>
parents:
diff changeset
72 %! assert (! isfolder (n));
7c5956c45a29 isfolder.m: New function for Matlab compatibility (bug #54456).
Guillaume Flandin <guillaume.offline@gmail.com>
parents:
diff changeset
73 %! unwind_protect_cleanup
28087
9cb04a9e81ec rmdir: throw an error if operation fails and nargout == 0 (bug #57830).
Rik <rik@octave.org>
parents: 27923
diff changeset
74 %! sts = rmdir (tmp);
9cb04a9e81ec rmdir: throw an error if operation fails and nargout == 0 (bug #57830).
Rik <rik@octave.org>
parents: 27923
diff changeset
75 %! rmpath (d);
25828
8b548f2f8086 maint: Strip trailing whitespace from source files.
John W. Eaton <jwe@octave.org>
parents: 25782
diff changeset
76 %! end_unwind_protect
25780
7c5956c45a29 isfolder.m: New function for Matlab compatibility (bug #54456).
Guillaume Flandin <guillaume.offline@gmail.com>
parents:
diff changeset
77
7c5956c45a29 isfolder.m: New function for Matlab compatibility (bug #54456).
Guillaume Flandin <guillaume.offline@gmail.com>
parents:
diff changeset
78 ## Test input validation
28886
d8318c12d903 test: remove unnecessary BIST tests in m-files checking for excessive number of inputs.
Rik <rik@octave.org>
parents: 28087
diff changeset
79 %!error <Invalid call> isfolder ()
25780
7c5956c45a29 isfolder.m: New function for Matlab compatibility (bug #54456).
Guillaume Flandin <guillaume.offline@gmail.com>
parents:
diff changeset
80 %!error isfolder ("a", "b")
7c5956c45a29 isfolder.m: New function for Matlab compatibility (bug #54456).
Guillaume Flandin <guillaume.offline@gmail.com>
parents:
diff changeset
81 %!error <F must be a string> isfolder (1.0)