[Pharo-dev] unzip:to:

stepharo stepharo at free.fr
Tue Apr 19 14:40:15 EDT 2016



Le 19/4/16 15:53, Valentin Ryckewaert a écrit :
> I mean, fileRef basename is myZip.zip and workingDirectory is the 
> place files will go after being unziped but how does we find the file 
> named fileRef basename ?


'foo.txt' asFileReference -> a fileRef

'foo.txt' asFileReference basename.

(FileSystem disk workingDirectory / 'foo.txt') basename

this is explained in the File chapter.


Can you open a bug entry to improve the comment of the method?
>
> 2016-04-19 15:46 GMT+02:00 stepharo <stepharo at free.fr 
> <mailto:stepharo at free.fr>>:
>
>
>
>     Le 19/4/16 15:41, Valentin Ryckewaert a écrit :
>>     How does unzip:to: access to the file ?
>     I do not get your question?
>>     It must be in the workingDirectory?
>
>     Read the code luke....
>
>
>     unzip: fullFileName to: pathString
>         "Unzip the contents of the file specified by the full path
>     name fullFileName to the location given by pathString."
>
>         | zipped buffer unzipped newName |
>         newName := fullFileName copyUpToLast: FileSystem disk
>     extensionDelimiter.
>         pathString asFileReference ensureCreateDirectory.
>         unzipped := FileStream newFileNamed: (pathString
>     asFileReference / newName) fullName.
>     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>
>
>
>
>         unzipped ifNil: [self error: pathString, ' looks incorrect'].
>         [ unzipped binary.
>         zipped := self on: (FileStream readOnlyFileNamed: fullFileName).
>         buffer := ByteArray new: 50000.
>         [zipped atEnd] whileFalse: [unzipped nextPutAll: (zipped
>     nextInto: buffer)]]
>             ensure: [
>                 zipped close.
>                 unzipped close].
>         ^ newName
>
>
>
>>
>>
>>     2016-04-19 15:06 GMT+02:00 Hernán Morales Durand
>>     <hernan.morales at gmail.com <mailto:hernan.morales at gmail.com>>:
>>
>>         I use it a lot to uncompress external resources like this:
>>
>>         fileRef := ....
>>         GZipReadStream unzip: fileRef basename to: FileSystem
>>         workingDirectory.
>>
>>         but it could be used to pass a directory as String I guess.
>>         Comment should be corrected.
>>
>>
>>         2016-04-19 9:54 GMT-03:00 stepharo <stepharo at free.fr
>>         <mailto:stepharo at free.fr>>:
>>
>>             unzip: fullFileName to: pathString
>>                 "Unzip the contents of the file specified by the full
>>             path name fullFileName to the location given by pathString."
>>
>>             so we would expect to pass a string in the second argument?
>>
>>             the unique sender of it in the system
>>
>>             unzip: fullFileName
>>                 "Unzip the contents of a gzipped file specified by
>>             its full file name to the current working directory"
>>
>>                 ^ self unzip: fullFileName to: FileSystem disk
>>             workingDirectory
>>
>>
>>             but the implementation seems to indicate that
>>             fullFileName is should be a string as well as pathString
>>
>>             unzip: fullFileName to: pathString
>>                 "Unzip the contents of the file specified by the full
>>             path name fullFileName to the location given by pathString."
>>
>>                 | zipped buffer unzipped newName |
>>                 newName := fullFileName copyUpToLast: FileSystem disk
>>             extensionDelimiter.
>>                 pathString asFileReference ensureCreateDirectory.
>>                 unzipped := FileStream newFileNamed: (pathString
>>             asFileReference / newName) fullName.
>>                 unzipped ifNil: [self error: pathString, ' looks
>>             incorrect'].
>>                 [ unzipped binary.
>>                 zipped := self on: (FileStream readOnlyFileNamed:
>>             fullFileName).
>>                 buffer := ByteArray new: 50000.
>>                 [zipped atEnd] whileFalse: [unzipped nextPutAll:
>>             (zipped nextInto: buffer)]]
>>                     ensure: [
>>                         zipped close.
>>                         unzipped close].
>>                 ^ newName
>>
>>             Am I correct to think that the comments are not really
>>             good enough?
>>
>>             Stef
>>
>>
>>
>>
>>
>
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.pharo.org/pipermail/pharo-dev_lists.pharo.org/attachments/20160419/fc39f16c/attachment.html>


More information about the Pharo-dev mailing list