[Pkg] Rio: File-Base-mtf.27.mcz
squeak-dev-noreply at lists.squeakfoundation.org
squeak-dev-noreply at lists.squeakfoundation.org
Sat Apr 11 21:06:18 UTC 2009
A new version of File-Base was added to project Rio:
http://www.squeaksource.com/Rio/File-Base-mtf.27.mcz
==================== Summary ====================
Name: File-Base-mtf.27
Author: mtf
Time: 11 April 2009, 5:06:11 pm
UUID: d479c2e3-7857-4d2b-9572-4bf5d8bfa360
Ancestors: File-Base-mtf.26
refactored home directory to be a method rather than an ivar
=============== Diff against File-Base-mtf.26 ===============
Item was changed:
----- Method: FileFtpExecutive>>isDirectory: (in category 'basic') -----
isDirectory: aRio
+ self ftpDo: [ :ftp | ftp changeDirectoryTo: self homePath, aRio asVmPathName ] ifError: [ :ex | ^ false ].
- self ftpDo: [ :ftp | ftp changeDirectoryTo: home, aRio asVmPathName ] ifError: [ :ex | ^ false ].
^ true.!
Item was changed:
----- Method: FileFtpExecutive>>deleteFile: (in category 'basic') -----
deleteFile: aRio
self ftpDo: [ :ftp |
+ (self isFile: aRio) ifTrue: [ ftp deleteFileNamed: self homePath , aRio asVmPathName ]
- (self isFile: aRio) ifTrue: [ ftp deleteFileNamed: home , aRio asVmPathName ]
].
aRio statIsNowInvalid.!
Item was added:
+ ----- Method: Directory class>>home (in category 'as yet unclassified') -----
+ home
+
+ ^ self localExecutive homeDirectory!
Item was changed:
----- Method: FileFtpExecutive>>startAt:recursively:select:excluding:into: (in category 'basic') -----
startAt: rioOrString recursively: beRecursive select: selectBlock excluding: xList into: results
"Return a collection of rio's selected by passing
the directoryEntry array to the selectBlock.
This can be called with startAt: aString, but if so beRecursive must be false.
See primLookupEntryIn:index: for further details."
| entry isDir fName |
+ (self ftpGetDirectory: self homePath, rioOrString asVmPathName) keysAndValuesDo: [ :index :entryArray |
- (self ftpGetDirectory: home, rioOrString asVmPathName) keysAndValuesDo: [ :index :entryArray |
fName := entryArray at: 1.
(xList includes: fName) ifFalse: [
isDir := entryArray at: 4.
entry := ((isDir ifTrue: [ self class dirClass ] ifFalse: [ self class fileClass ])
executive: self value: rioOrString)
pathJoin: fName;
setStatFromDir: rioOrString andEntryArray:entryArray;
yourself.
(selectBlock value: entry) ifTrue: [ results add: entry ].
(beRecursive and: [ isDir ])
ifTrue: [
self
startAt: entry
recursively: beRecursive
select: selectBlock
excluding: xList
into: results
]
]
].
^ results!
Item was changed:
----- Method: FileFtpExecutive>>fileSize: (in category 'basic') -----
fileSize: aRio
+ ^ self ftpDo: [ :ftp | ftp getFileSize: self homePath, aRio asVmPathName ] !
- ^ self ftpDo: [ :ftp | ftp getFileSize: home, aRio asVmPathName ] !
Item was changed:
----- Method: FileFtpExecutive>>isFile: (in category 'basic') -----
isFile: aFile
+ self ftpDo: [ :ftp | ftp getFileSize: self homePath, aFile asVmPathName ] ifError: [ :ex | ^ false ].
- self ftpDo: [ :ftp | ftp getFileSize: home, aFile asVmPathName ] ifError: [ :ex | ^ false ].
^ true.!
Item was changed:
----- Method: FileFtpExecutive>>deleteDirectory: (in category 'basic') -----
deleteDirectory: aRio
self ftpDo: [ :ftp |
+ ftp deleteDirectory: self homePath, aRio asVmPathName.
- ftp deleteDirectory: home, aRio asVmPathName.
].
aRio statIsNowInvalid.!
Item was changed:
----- Method: FileFtpExecutive>>createDirectory: (in category 'basic') -----
createDirectory: aRio
self ftpDo: [ :ftp |
+ ftp makeDirectory: self homePath, aRio asVmPathName.
- ftp makeDirectory: home, aRio asVmPathName.
].
aRio statIsNowInvalid.!
Item was changed:
----- Method: FileFtpExecutive>>ftpOpenForRead: (in category 'ftp client') -----
ftpOpenForRead: aRio
| str |
self ftpClient openPassiveDataConnection.
+ self ftpClient sendCommand: 'RETR ', self homePath , aRio asVmPathName.
- self ftpClient sendCommand: 'RETR ', home , aRio asVmPathName.
[client checkResponse]
on: TelnetProtocolError
do: [:ex |
client closeDataSocket.
ex pass].
"we will wrap a socket for writing"
rw := #read.
str := SocketStream on: self.
aRio isBinary ifTrue: [ str binary ].
^ str!
Item was changed:
----- Method: FileFtpExecutive>>rename:to: (in category 'basic') -----
rename: aRio to: bRio
+ self ftpDo: [ :ftp | ftp renameFileNamed: self homePath, aRio asVmPathName to: self homePath, bRio asVmPathName ]
- self ftpDo: [ :ftp | ftp renameFileNamed: home, aRio asVmPathName to: home, bRio asVmPathName ]
ifError: [
aRio exists ifFalse:[ self error:'Attempt to rename a non-existent file or dir:' , aRio].
bRio exists ifTrue:[ self error: 'Failed to rename, ', bRio,' already exists.' ].
].
aRio statIsNowInvalid.
^ bRio
!
Item was changed:
----- Method: FileFtpExecutive>>ftpOpenForWrite: (in category 'ftp client') -----
ftpOpenForWrite: aRio
self ftpClient openPassiveDataConnection.
+ self ftpClient sendCommand: 'STOR ', self homePath , aRio asVmPathName.
- self ftpClient sendCommand: 'STOR ', home , aRio asVmPathName.
"we will wrap a socket for writing"
rw := #write.
^ SocketStream on: self.!
Item was changed:
----- Method: FileFtpExecutive>>touch: (in category 'basic') -----
touch: aRio
+ self ftpDo: [ :ftp |
- self ftpDo: [ :dtp |
+ ftp putFileStreamContents: (WriteStream with: String new) as: self homePath , aRio asVmPathName
- ftp putFileStreamContents: (WriteStream with: String new) as: home , aRio asVmPathName
]!
More information about the Packages
mailing list