ZipArchive.st
changeset 2161 a737bcc07579
parent 2104 5f800e5dbb46
child 2173 254452034748
equal deleted inserted replaced
2160:554dbbd8cfce 2161:a737bcc07579
  4041     osDirectory := osDirectoryName asFilename.
  4041     osDirectory := osDirectoryName asFilename.
  4042     (osDirectory exists not or:[osDirectory exists not]) ifTrue:[
  4042     (osDirectory exists not or:[osDirectory exists not]) ifTrue:[
  4043         ^ self
  4043         ^ self
  4044     ].
  4044     ].
  4045 
  4045 
  4046     self addDirectory: archiveDirectoryName.
  4046     "do not create directories (isDirectory = true) - they are not compatible between operating systems"
       
  4047 "/    self addDirectory: archiveDirectoryName.
  4047     osDirectory recursiveDirectoryContentsDo: [:entry|
  4048     osDirectory recursiveDirectoryContentsDo: [:entry|
  4048         fileNameOrDirectoryEntry := osDirectory construct: entry. 
  4049         fileNameOrDirectoryEntry := osDirectory construct: entry. 
  4049         fileNameOrDirectoryEntry isDirectory ifTrue: [
  4050         fileNameOrDirectoryEntry isDirectory ifTrue: [
  4050             self addDirectory: (archiveDirectoryName, '/', entry).
  4051 "/            self addDirectory: (archiveDirectoryName, '/', entry).
  4051         ] ifFalse: [
  4052         ] ifFalse: [
  4052             fileNameOrDirectoryEntry readingFileDo: [:aStream|    
  4053             fileNameOrDirectoryEntry readingFileDo: [:aStream|    
  4053                 self addFile: (archiveDirectoryName, '/', entry) 
  4054                 self addFile: (archiveDirectoryName, '/', entry) 
  4054                      fromStream: aStream 
  4055                      fromStream: aStream 
  4055                      compressMethod: theCompressMethod.
  4056                      compressMethod: theCompressMethod.
  4061 addArchiveDirectoryCompressed: archiveDirectoryName fromOsDirectory: osDirectoryName
  4062 addArchiveDirectoryCompressed: archiveDirectoryName fromOsDirectory: osDirectoryName
  4062     ^ self addArchiveDirectory: archiveDirectoryName fromOsDirectory: osDirectoryName compressMethod: COMPR_DEFLATED 
  4063     ^ self addArchiveDirectory: archiveDirectoryName fromOsDirectory: osDirectoryName compressMethod: COMPR_DEFLATED 
  4063 !
  4064 !
  4064 
  4065 
  4065 addDirectory: aDirectoryName
  4066 addDirectory: aDirectoryName
       
  4067     "do not create directories (isDirectory = true) - they are not compatible between operating systems"
       
  4068 
       
  4069     <resource: #obsolete>
       
  4070 
  4066     ^ self addFile: aDirectoryName withContents: nil compressMethod: 0 asDirectory: true.
  4071     ^ self addFile: aDirectoryName withContents: nil compressMethod: 0 asDirectory: true.
  4067 !
  4072 !
  4068 
  4073 
  4069 addFile: aFileName fromStream: aStream
  4074 addFile: aFileName fromStream: aStream
  4070     ^ self addFile: aFileName fromStream: aStream compressMethod: 0
  4075     ^ self addFile: aFileName fromStream: aStream compressMethod: 0
  4198 addFile: aFileName withContents: data
  4203 addFile: aFileName withContents: data
  4199     ^ self addFile: aFileName withContents: data compressMethod: 0 asDirectory: false.
  4204     ^ self addFile: aFileName withContents: data compressMethod: 0 asDirectory: false.
  4200 !
  4205 !
  4201 
  4206 
  4202 addFile: aFileName withContents: data compressMethod: theCompressMethodArg asDirectory: isDirectory
  4207 addFile: aFileName withContents: data compressMethod: theCompressMethodArg asDirectory: isDirectory
       
  4208     "do not create directories (isDirectory = true) - they are not compatible between operating systems"
       
  4209 
  4203     |zipEntry theCompressedData curTime curDate theZipFileName theCompressMethod|
  4210     |zipEntry theCompressedData curTime curDate theZipFileName theCompressMethod|
  4204 
  4211 
  4205     (file isNil or: [mode ~~ #write]) ifTrue: [
  4212     (file isNil or: [mode ~~ #write]) ifTrue: [
  4206         ^ self error: 'Archiv not open for writing ...'.
  4213         ^ self error: 'Archiv not open for writing ...'.
  4207     ].
  4214     ].
  4672 ! !
  4679 ! !
  4673 
  4680 
  4674 !ZipArchive class methodsFor:'documentation'!
  4681 !ZipArchive class methodsFor:'documentation'!
  4675 
  4682 
  4676 version
  4683 version
  4677     ^ '$Header: /cvs/stx/stx/libbasic2/ZipArchive.st,v 1.73 2009-02-04 11:03:22 stefan Exp $'
  4684     ^ '$Header: /cvs/stx/stx/libbasic2/ZipArchive.st,v 1.74 2009-06-10 12:53:07 stefan Exp $'
  4678 ! !
  4685 ! !
  4679 
  4686 
  4680 ZipArchive initialize!
  4687 ZipArchive initialize!