camillo
I'm trying your script with the latest image.
| f files|
f := FSFilesystem disk workingDirectory / 'www.squeaksource.com' / 'Kozen'.
files := f glob: [ :each| each basename endsWith: '.mcz'].
files do: [ :file ||entity stream|
stream := file readStream.
(entity := ZnStreamingEntity type: ZnMimeType applicationOctetStream)
stream: stream;
contentLength: stream size.
Transcript show: file; cr.
"upload the version to gemstone"
ZnClient new
systemPolicy;
beOneShot;
signalProgress: true;
ifFail: [ :exception | Transcript show: file basename; show: '
'; print: exception ];
username: 'sd' password: 'sn00py_';
entity: entity;
url: ( 'http://ss3.gemstone.com/ss/Kozen/', file basename);
put ]
displayingProgress: 'Uploading mcz'
apparently FSReadStream does not know isBinary
streamFrom: inputStream to: outputStream size: totalSize
| bufferSize buffer leftToRead |
bufferSize := 4096 min: totalSize.
buffer := (inputStream isBinary ifTrue: [ ByteArray ] ifFalse: [ String
]) new: bufferSize.
^^^^^^^^^^
leftToRead := totalSize.
[ leftToRead > 0 ]
whileTrue: [ | readCount |
readCount := bufferSize min: leftToRead.
inputStream next: readCount into: buffer.
leftToRead := leftToRead - readCount.
outputStream next: readCount putAll: buffer startingAt:
1 ]