 |
Changeset 3369
- Timestamp:
- 03/16/08 08:25:01
(9 months ago)
- Author:
- lmartin92
- Message:
Have to fix stuff in FtpFolder?.d
-
Files:
-
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
| r3357 |
r3369 |
|
| 34 | 34 | //imports things to deal with text |
|---|
| 35 | 35 | private import tango.text.Util; |
|---|
| | 36 | |
|---|
| | 37 | import tango.io.Console; |
|---|
| 36 | 38 | |
|---|
| 37 | 39 | /******************************************************************************* |
|---|
| … | … | |
| 56 | 58 | package this (FtpFolder fol) |
|---|
| 57 | 59 | { |
|---|
| 58 | | _name = fol._name.dup; |
|---|
| | 60 | _name = fol._name.dup; |
|---|
| 59 | 61 | _toString = fol._toString.dup; |
|---|
| 60 | 62 | _server = fol._server.dup; |
|---|
| … | … | |
| 76 | 78 | assert((server != null || server != "")); |
|---|
| 77 | 79 | } |
|---|
| 78 | | out |
|---|
| 79 | | { |
|---|
| 80 | | assert((! server || ! _name || ! _toString || ! _username || ! _password || ! _port || ! _ftp)); |
|---|
| 81 | | } |
|---|
| 82 | 80 | body |
|---|
| 83 | 81 | { |
|---|
| … | … | |
| 89 | 87 | _port = port; |
|---|
| 90 | 88 | _ftp = new FTPConnection(_server, _username, _password, _port); |
|---|
| 91 | | _ftp.cd(_name); |
|---|
| | 89 | if(_name != "") |
|---|
| | 90 | _ftp.cd(_name); |
|---|
| 92 | 91 | } |
|---|
| 93 | 92 | |
|---|
| … | … | |
| 97 | 96 | |
|---|
| 98 | 97 | ***********************************************************************/ |
|---|
| | 98 | |
|---|
| | 99 | package void open() |
|---|
| | 100 | { |
|---|
| | 101 | _ftp.connect(_server, _username, _password, _port); |
|---|
| | 102 | } |
|---|
| 99 | 103 | |
|---|
| 100 | 104 | char[] name() |
|---|
| … | … | |
| 275 | 279 | *******************************************************************************/ |
|---|
| 276 | 280 | |
|---|
| 277 | | |
|---|
| 278 | 281 | class FtpFolders : VfsFolders |
|---|
| 279 | 282 | { |
|---|
| … | … | |
| 287 | 290 | foreach(folder; fols) |
|---|
| 288 | 291 | { |
|---|
| 289 | | _primaryFolders ~= new FtpFolder(folder); |
|---|
| 290 | | } |
|---|
| | 292 | _primaryFolders ~= folder; |
|---|
| | 293 | } |
|---|
| | 294 | Cout("Doesn't work?").newline.flush; |
|---|
| 291 | 295 | populateFolders(false); |
|---|
| 292 | 296 | } |
|---|
| … | … | |
| 294 | 298 | package this(FtpFolder fol, bool flat) |
|---|
| 295 | 299 | { |
|---|
| 296 | | _primaryFolders ~= new FtpFolder(fol); |
|---|
| | 300 | _primaryFolders ~= fol; |
|---|
| 297 | 301 | _flat = flat; |
|---|
| 298 | 302 | populateFolders(false); |
|---|
| … | … | |
| 342 | 346 | if(finf.type == FtpFileType.cdir || finf.type == FtpFileType.dir) |
|---|
| 343 | 347 | { |
|---|
| 344 | | _folders ~= new FtpFolder(finf.name, "", _ftpFol._username, _ftpFol._password, _ftpFol._port); |
|---|
| 345 | | redo = true; |
|---|
| 346 | | } |
|---|
| | 348 | _folders ~= new FtpFolder(_ftpFol.toString ~ '/' ~ finf.name, "", _ftpFol._username, _ftpFol._password, _ftpFol._port); } |
|---|
| 347 | 349 | } |
|---|
| 348 | 350 | } |
|---|
| … | … | |
| 512 | 514 | { |
|---|
| 513 | 515 | FtpFile f = cast(FtpFile) file; |
|---|
| 514 | | if(filter(f._filt)) |
|---|
| | 516 | if(filter(&f._filt)) |
|---|
| 515 | 517 | toCreateNewVfsFilesInstance ~= file; |
|---|
| 516 | 518 | } |
|---|
| … | … | |
| 526 | 528 | *******************************************************************************/ |
|---|
| 527 | 529 | |
|---|
| 528 | | |
|---|
| 529 | 530 | class FtpFile : VfsFile |
|---|
| 530 | 531 | { |
|---|
| … | … | |
| 538 | 539 | char[] _toString; |
|---|
| 539 | 540 | char[] _name; |
|---|
| 540 | | VfsInfo _filt; |
|---|
| | 541 | VfsFilterInfo _filt; |
|---|
| 541 | 542 | |
|---|
| 542 | 543 | package this(FtpFolder fol, char[] path) |
|---|
| 543 | 544 | { |
|---|
| 544 | | _name = path[locatePrior(path, '/', cast(int)path.length) > locatePrior(path, '\\', path.length) && locatePrior(path, '/', path.length) != path.length ? locatePrior(path, '/', path.length) : locatePrior(path, '\\', path.length) .. $]; |
|---|
| | 545 | _name ='/' ~ path; |
|---|
| 545 | 546 | _toString = fol.toString ~ path; |
|---|
| 546 | | _folder = new FtpFolder(fol); |
|---|
| | 547 | //_folder = new FtpFolder(fol); |
|---|
| | 548 | _folder = fol; |
|---|
| 547 | 549 | _filt.name = _name; |
|---|
| 548 | 550 | _filt.path = _toString; |
|---|
| … | … | |
| 550 | 552 | try |
|---|
| 551 | 553 | { |
|---|
| 552 | | _filt.bytes = _folder._ftp.getFileInfo(_toString).size; |
|---|
| | 554 | _filt.bytes = _folder._ftp.getFileInfo(path).size; |
|---|
| 553 | 555 | } |
|---|
| 554 | 556 | catch(Exception e) |
|---|
| 555 | 557 | { |
|---|
| 556 | | _filt.bytes = 0; |
|---|
| | 558 | _filt.bytes = 0; |
|---|
| 557 | 559 | } |
|---|
| 558 | 560 | } |
|---|
| … | … | |
| 655 | 657 | src ~= cast(byte)1; |
|---|
| 656 | 658 | fs.write(src); |
|---|
| 657 | | return create(fs); //needs to replace null with an empty stream |
|---|
| | 659 | return create(fs); |
|---|
| 658 | 660 | } |
|---|
| 659 | 661 | |
|---|
| … | … | |
| 728 | 730 | *******************************************************************************/ |
|---|
| 729 | 731 | |
|---|
| 730 | | |
|---|
| 731 | 732 | class FtpFiles : VfsFiles |
|---|
| 732 | 733 | { |
|---|
| … | … | |
| 743 | 744 | foreach(folder; folders) |
|---|
| 744 | 745 | { |
|---|
| 745 | | _folders ~= new FtpFolder(folder); |
|---|
| | 746 | _folders ~= cast(FtpFolder)folder; |
|---|
| 746 | 747 | } |
|---|
| 747 | 748 | populateFiles(); |
|---|
| … | … | |
| 840 | 841 | *******************************************************************************/ |
|---|
| 841 | 842 | |
|---|
| 842 | | |
|---|
| 843 | 843 | class FtpFolderEntry : VfsFolderEntry |
|---|
| 844 | 844 | { |
|---|
| … | … | |
| 852 | 852 | package this(FtpFolder fol, char[] path) |
|---|
| 853 | 853 | { |
|---|
| 854 | | _folder = new FtpFolder(fol); |
|---|
| | 854 | //_folder = new FtpFolder(fol); |
|---|
| | 855 | _folder = fol; |
|---|
| 855 | 856 | } |
|---|
| 856 | 857 | |
|---|
| … | … | |
| 872 | 873 | VfsFolder open () |
|---|
| 873 | 874 | { |
|---|
| 874 | | return new FtpFolder(_folder); |
|---|
| | 875 | //return new FtpFolder(_folder); |
|---|
| | 876 | _folder.open(); |
|---|
| | 877 | return _folder; |
|---|
| 875 | 878 | } |
|---|
| 876 | 879 | |
|---|
| … | … | |
| 884 | 887 | { |
|---|
| 885 | 888 | _folder._ftp.mkdir(_folder.toString); |
|---|
| 886 | | return new FtpFolder(_folder); |
|---|
| | 889 | return _folder; |
|---|
| 887 | 890 | } |
|---|
| 888 | 891 | |
|---|
Download in other formats:
|
 |
 |
|
 |
Copyright © 2006-2008 Tango. All Rights Reserved. | Page Width:
Static or
Dynamic