annotate scripts/@ftp/ftp.m @ 19630:0e1f5a750d00

maint: Periodic merge of gui-release to default.
author John W. Eaton <jwe@octave.org>
date Tue, 20 Jan 2015 10:24:46 -0500
parents 0f70468a56cd 446c46af4b42
children 4197fc428c7d
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
17744
d63878346099 maint: Update copyright notices for release.
John W. Eaton <jwe@octave.org>
parents: 17548
diff changeset
1 ## Copyright (C) 2009-2013 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}.
17281
bc924baa2c4e doc: Add new @qcode macro for code samples which are quoted.
Rik <rik@octave.org>
parents: 14217
diff changeset
23 ## If @var{username} and @var{password} are not specified, user
bc924baa2c4e doc: Add new @qcode macro for code samples which are quoted.
Rik <rik@octave.org>
parents: 14217
diff changeset
24 ## @qcode{"anonymous"} with no password is used. The returned FTP object
bc924baa2c4e doc: Add new @qcode macro for code samples which are quoted.
Rik <rik@octave.org>
parents: 14217
diff changeset
25 ## @var{f} represents the 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
19627
446c46af4b42 strip trailing whitespace from most source files
John W. Eaton <jwe@octave.org>
parents: 17744
diff changeset
34 ## @item cd @tab Change remote working directory
14217
7912e682aa30 doc: Update docstrings for @ftp class.
Rik <octave@nomad.inbox5.com>
parents: 14138
diff changeset
35 ## @item close @tab Close FTP connection
19627
446c46af4b42 strip trailing whitespace from most source files
John W. Eaton <jwe@octave.org>
parents: 17744
diff changeset
36 ## @item delete @tab Delete remote file
446c46af4b42 strip trailing whitespace from most source files
John W. Eaton <jwe@octave.org>
parents: 17744
diff changeset
37 ## @item dir @tab List remote directory contents
14217
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
19627
446c46af4b42 strip trailing whitespace from most source files
John W. Eaton <jwe@octave.org>
parents: 17744
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;
19312
6ca096827123 Use tempname() rather than tmpnam() in core Octave.
Rik <rik@octave.org>
parents: 17744
diff changeset
54 p.curlhandle = tempname ("ftp-");
14217
7912e682aa30 doc: Update docstrings for @ftp class.
Rik <octave@nomad.inbox5.com>
parents: 14138
diff changeset
55 if (nargin > 0)
17548
92541ff4cc3c improve implementation of ftp object handles
John W. Eaton <jwe@octave.org>
parents: 17338
diff changeset
56 p.curlhandle = __ftp__ (host, username, password);
14217
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
17338
1c89599167a6 maint: End m-files with 1 blank line.
Rik <rik@octave.org>
parents: 17281
diff changeset
61
19341
0f70468a56cd Remove interactive ftp functions from list of functions missing BIST tests.
Mike Sander <msander@cogeco.ca>
parents: 19312
diff changeset
62
0f70468a56cd Remove interactive ftp functions from list of functions missing BIST tests.
Mike Sander <msander@cogeco.ca>
parents: 19312
diff changeset
63 ## No test possible for interactive function.
0f70468a56cd Remove interactive ftp functions from list of functions missing BIST tests.
Mike Sander <msander@cogeco.ca>
parents: 19312
diff changeset
64 %!assert (1)
0f70468a56cd Remove interactive ftp functions from list of functions missing BIST tests.
Mike Sander <msander@cogeco.ca>
parents: 19312
diff changeset
65