The Trunk: Network-ul.188.mcz

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

The Trunk: Network-ul.188.mcz

commits-2
Levente Uzonyi uploaded a new version of Network to project The Trunk:
http://source.squeak.org/trunk/Network-ul.188.mcz

==================== Summary ====================

Name: Network-ul.188
Author: ul
Time: 13 March 2017, 2:46:38.535494 pm
UUID: 5b21f6b5-5e78-4f35-a8e2-7c1db71495bf
Ancestors: Network-ul.187

SortedCollection Whack-a-mole

=============== Diff against Network-ul.187 ===============

Item was changed:
  ----- Method: ServerDirectory>>moveAllButYoungest:in:to: (in category 'squeaklets') -----
  moveAllButYoungest: young in: versions to: repository
  | all |
  "Specialized to files with names of the form 'aName_vvv.ext'.  Where vvv is a mime-encoded base 64 version number.  Versions is an array of file names tokenized into three parts (aName vvv ext).  Move the files by renaming them on the server."
 
  versions size <= young ifTrue: [^ self].
+ all := (versions as: Array)
+ replace: [ :each | { each. Base64MimeConverter decodeInteger: each second unescapePercents } ];
+ sort: [ :a :b | a second < b second ];
+ replace: [ :each | each first ].
+
+ all from: 1 to: all size - young do: [:vv | | fName |
- all := SortedCollection sortBlock: [:aa :bb | | aVers bVers |
- aVers := Base64MimeConverter decodeInteger: aa second unescapePercents.
- bVers := Base64MimeConverter decodeInteger: bb second unescapePercents.
- aVers < bVers].
- all addAll: versions.
- young timesRepeat: [all removeLast]. "ones we keep"
- all do: [:vv | | fName |
  fName := vv first, '_', vv second, '.', vv third.
  repository rename: self fullName,fName toBe: fName].
  !

Item was changed:
  ----- Method: SuperSwikiServer>>updateProjectInfoFor: (in category 'for real') -----
  updateProjectInfoFor: aProject
 
  | data details projectLinks linkString uploader |
 
  data := OrderedCollection new.
  data add: 'action: updatepage'.
  data add: 'password: ',ProjectPasswordNotification signal.
  data add: 'projectimage: ', (aProject name convertToEncoding: self encodingName) , '.gif'.
  uploader := Utilities authorNamePerSe.
  uploader isEmptyOrNil ifTrue: [uploader := Utilities authorInitialsPerSe].
  uploader isEmptyOrNil ifFalse: [
  data add: ('submittedBy: ',uploader convertToEncoding: self encodingName).
  ].
  projectLinks := Set new.
  aProject world allMorphsDo: [ :each |
  (each isKindOf: ProjectViewMorph) ifTrue: [
  projectLinks add: each safeProjectName.
  ].
  ].
  details := aProject world valueOfProperty: #ProjectDetails ifAbsent: [Dictionary new].
  details at: 'projectname' ifAbsentPut: [aProject name].
  projectLinks isEmpty ifTrue: [
  details removeKey: 'projectlinks' ifAbsent: []
  ] ifFalse: [
  linkString := String streamContents: [ :strm |
+ projectLinks sorted do: [ :each |
- projectLinks asSortedCollection do: [ :each |
  strm nextPutAll: each
  ] separatedBy: [
  strm nextPut: $.
  ].
  ].
  details at: 'projectlinks' put: linkString
  ].
  details keysAndValuesDo: [ :k :v |
  data add: k , ': ' , (v convertToEncoding: self encodingName). self flag: #yoFlag.
  ].
  ^self sendToSwikiProjectServer: data!