Mercurial > octave-nkf
annotate scripts/@ftp/loadobj.m @ 17548:92541ff4cc3c
improve implementation of ftp object handles
* urlwrite.cc (curl_handles): Delete class.
(handles): Delete static variable.
(ch_manager): New class.
(make_handle_fraction): New function.
(F__ftp_pwd__, F__ftp_cwd__, F__ftp_dir__, F__ftp_ascii__,
F__ftp_binary__, F__ftp_mode__, F__ftp_delete__, F__ftp_rmdir__,
F__ftp_mkdir__, F__ftp_rename__, F__ftp_mput__, F__ftp_mget__):
Find curl object corresponding to given handle using ch_manager
instead of looking in handles map.
(F__ftp__): Return handle instead of accepting it as argument.
Change all uses.
author | John W. Eaton <jwe@octave.org> |
---|---|
date | Wed, 02 Oct 2013 23:40:01 -0400 |
parents | 1c89599167a6 |
children | d63878346099 |
rev | line source |
---|---|
14138
72c96de7a403
maint: update copyright notices for 2012
John W. Eaton <jwe@octave.org>
parents:
11589
diff
changeset
|
1 ## Copyright (C) 2009-2012 David Bateman |
9880 | 2 ## |
11104 | 3 ## This file is part of Octave. |
9880 | 4 ## |
11104 | 5 ## Octave is free software; you can redistribute it and/or modify it |
6 ## under the terms of the GNU General Public License as published by | |
7 ## the Free Software Foundation; either version 3 of the License, or (at | |
8 ## your option) any later version. | |
9 ## | |
10 ## Octave is distributed in the hope that it will be useful, but | |
11 ## WITHOUT ANY WARRANTY; without even the implied warranty of | |
12 ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
13 ## General Public License for more details. | |
9880 | 14 ## |
15 ## You should have received a copy of the GNU General Public License | |
11104 | 16 ## along with Octave; see the file COPYING. If not, see |
17 ## <http://www.gnu.org/licenses/>. | |
9880 | 18 |
19 function b = loadobj (a) | |
20 b = a; | |
9897
4bf50a7d533b
fix for FTP object constructor. Allow basic operation with matlab FTP objects
David Bateman <dbateman@free.fr>
parents:
9880
diff
changeset
|
21 if (isfield (b, "jobject")) |
4bf50a7d533b
fix for FTP object constructor. Allow basic operation with matlab FTP objects
David Bateman <dbateman@free.fr>
parents:
9880
diff
changeset
|
22 b = rmfield (b, "jobject"); |
4bf50a7d533b
fix for FTP object constructor. Allow basic operation with matlab FTP objects
David Bateman <dbateman@free.fr>
parents:
9880
diff
changeset
|
23 endif |
17548
92541ff4cc3c
improve implementation of ftp object handles
John W. Eaton <jwe@octave.org>
parents:
17338
diff
changeset
|
24 b.curlhandle = __ftp__ (b.host, b.username, b.password); |
9897
4bf50a7d533b
fix for FTP object constructor. Allow basic operation with matlab FTP objects
David Bateman <dbateman@free.fr>
parents:
9880
diff
changeset
|
25 if (isfield (b, "dir")) |
4bf50a7d533b
fix for FTP object constructor. Allow basic operation with matlab FTP objects
David Bateman <dbateman@free.fr>
parents:
9880
diff
changeset
|
26 if (! isempty (b.dir)) |
4bf50a7d533b
fix for FTP object constructor. Allow basic operation with matlab FTP objects
David Bateman <dbateman@free.fr>
parents:
9880
diff
changeset
|
27 __ftp_cwd__ (b.curlhandle, b.dir); |
4bf50a7d533b
fix for FTP object constructor. Allow basic operation with matlab FTP objects
David Bateman <dbateman@free.fr>
parents:
9880
diff
changeset
|
28 endif |
11589
b0084095098e
missing semicolons in script files
John W. Eaton <jwe@octave.org>
parents:
11523
diff
changeset
|
29 b = rmfield (b, "dir"); |
9897
4bf50a7d533b
fix for FTP object constructor. Allow basic operation with matlab FTP objects
David Bateman <dbateman@free.fr>
parents:
9880
diff
changeset
|
30 elseif (isfield (b, "remotePwd")) |
4bf50a7d533b
fix for FTP object constructor. Allow basic operation with matlab FTP objects
David Bateman <dbateman@free.fr>
parents:
9880
diff
changeset
|
31 ## FIXME: Can we read matlab java stringBuffer objects? |
14217
7912e682aa30
doc: Update docstrings for @ftp class.
Rik <octave@nomad.inbox5.com>
parents:
14138
diff
changeset
|
32 warning ("can not change remote directory in loaded FTP object"); |
9897
4bf50a7d533b
fix for FTP object constructor. Allow basic operation with matlab FTP objects
David Bateman <dbateman@free.fr>
parents:
9880
diff
changeset
|
33 b = rmfield (b, "remotePwd"); |
9880 | 34 endif |
35 endfunction | |
17338
1c89599167a6
maint: End m-files with 1 blank line.
Rik <rik@octave.org>
parents:
14217
diff
changeset
|
36 |