annotate scripts/@ftp/ftp.m @ 16508:f19e24c97b20

move common warndlg, errordlg, helpdlg, and msgbox code to private function * message_dialog.m: New file. * scripts/ui/module.mk: Include it in the list of functions. * errordlg.m, helpdlg.m, warndlg.m, msgbox.m: Call message_dialog to do most of the work.
author John W. Eaton <jwe@octave.org>
date Fri, 12 Apr 2013 18:17:26 -0400
parents 7912e682aa30
children bc924baa2c4e
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
14138
72c96de7a403 maint: update copyright notices for 2012
John W. Eaton <jwe@octave.org>
parents: 11523
diff changeset
1 ## Copyright (C) 2009-2012 David Bateman
9880
7f77e5081e83 Add ftp objects
David Bateman <dbateman@free.fr>
parents:
diff changeset
2 ##
11104
2c356a35d7f5 fix copyright notices
John W. Eaton <jwe@octave.org>
parents: 10793
diff changeset
3 ## This file is part of Octave.
9880
7f77e5081e83 Add ftp objects
David Bateman <dbateman@free.fr>
parents:
diff changeset
4 ##
11104
2c356a35d7f5 fix copyright notices
John W. Eaton <jwe@octave.org>
parents: 10793
diff changeset
5 ## Octave is free software; you can redistribute it and/or modify it
2c356a35d7f5 fix copyright notices
John W. Eaton <jwe@octave.org>
parents: 10793
diff changeset
6 ## under the terms of the GNU General Public License as published by
2c356a35d7f5 fix copyright notices
John W. Eaton <jwe@octave.org>
parents: 10793
diff changeset
7 ## the Free Software Foundation; either version 3 of the License, or (at
2c356a35d7f5 fix copyright notices
John W. Eaton <jwe@octave.org>
parents: 10793
diff changeset
8 ## your option) any later version.
2c356a35d7f5 fix copyright notices
John W. Eaton <jwe@octave.org>
parents: 10793
diff changeset
9 ##
2c356a35d7f5 fix copyright notices
John W. Eaton <jwe@octave.org>
parents: 10793
diff changeset
10 ## Octave is distributed in the hope that it will be useful, but
2c356a35d7f5 fix copyright notices
John W. Eaton <jwe@octave.org>
parents: 10793
diff changeset
11 ## WITHOUT ANY WARRANTY; without even the implied warranty of
2c356a35d7f5 fix copyright notices
John W. Eaton <jwe@octave.org>
parents: 10793
diff changeset
12 ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
2c356a35d7f5 fix copyright notices
John W. Eaton <jwe@octave.org>
parents: 10793
diff changeset
13 ## General Public License for more details.
9880
7f77e5081e83 Add ftp objects
David Bateman <dbateman@free.fr>
parents:
diff changeset
14 ##
7f77e5081e83 Add ftp objects
David Bateman <dbateman@free.fr>
parents:
diff changeset
15 ## You should have received a copy of the GNU General Public License
11104
2c356a35d7f5 fix copyright notices
John W. Eaton <jwe@octave.org>
parents: 10793
diff changeset
16 ## along with Octave; see the file COPYING. If not, see
2c356a35d7f5 fix copyright notices
John W. Eaton <jwe@octave.org>
parents: 10793
diff changeset
17 ## <http://www.gnu.org/licenses/>.
9880
7f77e5081e83 Add ftp objects
David Bateman <dbateman@free.fr>
parents:
diff changeset
18
7f77e5081e83 Add ftp objects
David Bateman <dbateman@free.fr>
parents:
diff changeset
19 ## -*- texinfo -*-
11472
1740012184f9 Use uppercase for variable names in error() strings to match Info documentation. Only m-files done.
Rik <octave@nomad.inbox5.com>
parents: 11469
diff changeset
20 ## @deftypefn {Function File} {@var{f} =} ftp (@var{host})
1740012184f9 Use uppercase for variable names in error() strings to match Info documentation. Only m-files done.
Rik <octave@nomad.inbox5.com>
parents: 11469
diff changeset
21 ## @deftypefnx {Function File} {@var{f} =} ftp (@var{host}, @var{username}, @var{password})
9880
7f77e5081e83 Add ftp objects
David Bateman <dbateman@free.fr>
parents:
diff changeset
22 ## Connect to the FTP server @var{host} with @var{username} and @var{password}.
7f77e5081e83 Add ftp objects
David Bateman <dbateman@free.fr>
parents:
diff changeset
23 ## If @var{username} and @var{password} are not specified, user "anonymous"
10711
fbd7843974fa Periodic grammar check of documentation files to ensure common format.
Rik <octave@nomad.inbox5.com>
parents: 9897
diff changeset
24 ## with no password is used. The returned FTP object @var{f} represents the
9880
7f77e5081e83 Add ftp objects
David Bateman <dbateman@free.fr>
parents:
diff changeset
25 ## established FTP connection.
14217
7912e682aa30 doc: Update docstrings for @ftp class.
Rik <octave@nomad.inbox5.com>
parents: 14138
diff changeset
26 ##
7912e682aa30 doc: Update docstrings for @ftp class.
Rik <octave@nomad.inbox5.com>
parents: 14138
diff changeset
27 ## The list of actions for an FTP object are shown below. All functions
7912e682aa30 doc: Update docstrings for @ftp class.
Rik <octave@nomad.inbox5.com>
parents: 14138
diff changeset
28 ## require an FTP object as the first argument.
7912e682aa30 doc: Update docstrings for @ftp class.
Rik <octave@nomad.inbox5.com>
parents: 14138
diff changeset
29 ##
7912e682aa30 doc: Update docstrings for @ftp class.
Rik <octave@nomad.inbox5.com>
parents: 14138
diff changeset
30 ## @multitable @columnfractions 0.15 0.8
7912e682aa30 doc: Update docstrings for @ftp class.
Rik <octave@nomad.inbox5.com>
parents: 14138
diff changeset
31 ## @headitem Method @tab Description
7912e682aa30 doc: Update docstrings for @ftp class.
Rik <octave@nomad.inbox5.com>
parents: 14138
diff changeset
32 ## @item ascii @tab Set transfer type to ascii
7912e682aa30 doc: Update docstrings for @ftp class.
Rik <octave@nomad.inbox5.com>
parents: 14138
diff changeset
33 ## @item binary @tab Set transfer type to binary
7912e682aa30 doc: Update docstrings for @ftp class.
Rik <octave@nomad.inbox5.com>
parents: 14138
diff changeset
34 ## @item cd @tab Change remote working directory
7912e682aa30 doc: Update docstrings for @ftp class.
Rik <octave@nomad.inbox5.com>
parents: 14138
diff changeset
35 ## @item close @tab Close FTP connection
7912e682aa30 doc: Update docstrings for @ftp class.
Rik <octave@nomad.inbox5.com>
parents: 14138
diff changeset
36 ## @item delete @tab Delete remote file
7912e682aa30 doc: Update docstrings for @ftp class.
Rik <octave@nomad.inbox5.com>
parents: 14138
diff changeset
37 ## @item dir @tab List remote directory contents
7912e682aa30 doc: Update docstrings for @ftp class.
Rik <octave@nomad.inbox5.com>
parents: 14138
diff changeset
38 ## @item mget @tab Download remote files
7912e682aa30 doc: Update docstrings for @ftp class.
Rik <octave@nomad.inbox5.com>
parents: 14138
diff changeset
39 ## @item mkdir @tab Create remote directory
7912e682aa30 doc: Update docstrings for @ftp class.
Rik <octave@nomad.inbox5.com>
parents: 14138
diff changeset
40 ## @item mput @tab Upload local files
7912e682aa30 doc: Update docstrings for @ftp class.
Rik <octave@nomad.inbox5.com>
parents: 14138
diff changeset
41 ## @item rename @tab Rename remote file or directory
7912e682aa30 doc: Update docstrings for @ftp class.
Rik <octave@nomad.inbox5.com>
parents: 14138
diff changeset
42 ## @item rmdir @tab Remove remote directory
7912e682aa30 doc: Update docstrings for @ftp class.
Rik <octave@nomad.inbox5.com>
parents: 14138
diff changeset
43 ## @end multitable
7912e682aa30 doc: Update docstrings for @ftp class.
Rik <octave@nomad.inbox5.com>
parents: 14138
diff changeset
44 ##
9880
7f77e5081e83 Add ftp objects
David Bateman <dbateman@free.fr>
parents:
diff changeset
45 ## @end deftypefn
7f77e5081e83 Add ftp objects
David Bateman <dbateman@free.fr>
parents:
diff changeset
46
14217
7912e682aa30 doc: Update docstrings for @ftp class.
Rik <octave@nomad.inbox5.com>
parents: 14138
diff changeset
47 function obj = ftp (host = "", username = "anonymous", password = "")
7912e682aa30 doc: Update docstrings for @ftp class.
Rik <octave@nomad.inbox5.com>
parents: 14138
diff changeset
48 if (nargin == 1 && isa (host, "ftp"))
7912e682aa30 doc: Update docstrings for @ftp class.
Rik <octave@nomad.inbox5.com>
parents: 14138
diff changeset
49 obj = host; # Copy constructor
9897
4bf50a7d533b fix for FTP object constructor. Allow basic operation with matlab FTP objects
David Bateman <dbateman@free.fr>
parents: 9880
diff changeset
50 else
4bf50a7d533b fix for FTP object constructor. Allow basic operation with matlab FTP objects
David Bateman <dbateman@free.fr>
parents: 9880
diff changeset
51 p.host = host;
4bf50a7d533b fix for FTP object constructor. Allow basic operation with matlab FTP objects
David Bateman <dbateman@free.fr>
parents: 9880
diff changeset
52 p.username = username;
4bf50a7d533b fix for FTP object constructor. Allow basic operation with matlab FTP objects
David Bateman <dbateman@free.fr>
parents: 9880
diff changeset
53 p.password = password;
4bf50a7d533b fix for FTP object constructor. Allow basic operation with matlab FTP objects
David Bateman <dbateman@free.fr>
parents: 9880
diff changeset
54 p.curlhandle = tmpnam ("ftp-");
14217
7912e682aa30 doc: Update docstrings for @ftp class.
Rik <octave@nomad.inbox5.com>
parents: 14138
diff changeset
55 if (nargin > 0)
7912e682aa30 doc: Update docstrings for @ftp class.
Rik <octave@nomad.inbox5.com>
parents: 14138
diff changeset
56 __ftp__ (p.curlhandle, host, username, password);
7912e682aa30 doc: Update docstrings for @ftp class.
Rik <octave@nomad.inbox5.com>
parents: 14138
diff changeset
57 endif
9897
4bf50a7d533b fix for FTP object constructor. Allow basic operation with matlab FTP objects
David Bateman <dbateman@free.fr>
parents: 9880
diff changeset
58 obj = class (p, "ftp");
4bf50a7d533b fix for FTP object constructor. Allow basic operation with matlab FTP objects
David Bateman <dbateman@free.fr>
parents: 9880
diff changeset
59 endif
9880
7f77e5081e83 Add ftp objects
David Bateman <dbateman@free.fr>
parents:
diff changeset
60 endfunction