A new version of Rio-Grande was added to project Rio: http://www.squeaksource.com/Rio/Rio-Grande-kph.42.mcz
==================== Summary ====================
Name: Rio-Grande-kph.42 Author: kph Time: 7 November 2008, 4:02:35 am UUID: aad4ba8c-7b93-49e5-86ee-14f6e54a6203 Ancestors: Rio-Grande-kph.41
some fixes
=============== Diff against Rio-Grande-kph.41 ===============
Item was changed: ----- Method: RioFtpFileSystem>>ftpDo: (in category 'as yet unclassified') ----- ftpDo: aBlock
+ | tmp result | - | tmp |
tmp := isKeepAlive. isKeepAlive := true.
+ [ result := aBlock value: self ftpClient. ] - [ aBlock value: self ftpClient. ]
ensure: [ (isKeepAlive := tmp) ifFalse: [ ftpClient ifNotNil: [ ftpClient quit ] ] ]. + ^ result! - !
Item was added: + ----- Method: RioFtpFileSystem>>in:select: (in category 'as yet unclassified') ----- + in: aRio select: selectBlock + + ^ self ftpDo: [ :c | super in: aRio select: selectBlock ]!
Item was changed: ----- Method: FTPClient>>getFileSize: (in category '*rio-grande') ----- getFileSize: fileName self sendCommand: 'SIZE ' , fileName. self checkResponse. + ^ (self lastResponse readStream upTo: $ ; upToEnd) asNumber! - !
Item was changed: ----- Method: RioFtpFileSystem>>basicReader: (in category 'as yet unclassified') ----- basicReader: aRio + - ^ self ftpOpenForRead: aRio!
Item was added: + ----- Method: RioFtpFileSystem>>rioClass (in category 'as yet unclassified') ----- + rioClass + + ^ RioFtp!
Item was added: + ----- Method: RioFtpFileSystem>>fileSize: (in category 'as yet unclassified') ----- + fileSize: aRio + + ^ self ftpDo: [ :client | client getFileSize: home, aRio asVmPathName ] !
Item was changed: ----- Method: Rio>>fileSize (in category 'accessing stat') ----- fileSize
+ ^ executive fileSize: self! - ^ self stat fileSize!
Item was changed: ----- Method: Rio>>copyTo: (in category 'public file') ----- copyTo: aPathOrRio
+ | outRio size | + + "we do a stat here, so that we have the fileSize". + size := self fileSize. - | outRio | - - self validateIsFile. ^ (outRio := aPathOrRio asRio isBinary: self isBinary) writer: [ :out | self reader: [ :in | + in copyTo: out size: size withProgress: - in copyTo: out size: self fileSize withProgress: (self copyDescription, ' ', self asString, ' ', outRio copyResultDescription) ]. ].
!
packages@lists.squeakfoundation.org