A new version of Installer-Core was added to project Installer: http://www.squeaksource.com/Installer/Installer-Core-kph.282.mcz
==================== Summary ====================
Name: Installer-Core-kph.282 Author: test Time: 12 January 2009, 12:08:45 am UUID: f628cec7-761e-4afb-ac35-c588b636f2c0 Ancestors: Installer-Core-kph.281
Now uses installer export page from mantis.
=============== Diff against Installer-Core-kph.281 ===============
Item was changed: ----- Method: InstallerMantis>>select: (in category 'public interface') ----- select: aBlock
+ ^ self dataAll select: aBlock! - ^ self csvAll select: aBlock!
Item was changed: InstallerWebBased subclass: #InstallerMantis + instanceVariableNames: 'ma bug desc date array status' + classVariableNames: 'Fixes Status' - instanceVariableNames: 'ma bug desc date array' - classVariableNames: 'Fixes CSVFields' poolDictionaries: '' category: 'Installer-Core'!
!InstallerMantis commentStamp: 'kph 12/10/2008 00:20' prior: 0! Search feature
A := Installer mantis.
A searchCategory: 'Collections'
self assert: (A searchStatusConfirmed size > 0). self assert: (A searchStatusAcknowledged size > 0). self assert: (A searchStatusConfirmed size > 0). self assert: (A searchStatusResolved size > 0). self assert: (A searchStatusAssigned size > 0).!
Item was added: + ----- Method: InstallerMantis class>>initialize (in category 'instance creation') ----- + initialize + + Status := Dictionary new + at: '10' put: 'new'; + at: '20' put: 'feedback'; + at: '30' put: 'acknowledged'; + at: '40' put: 'confirmed'; + at: '50' put: 'assigned'; + at: '60' put: 'pending'; + at: '70' put: 'testing'; + at: '80' put: 'resolved'; + at: '90' put: 'closed'; + yourself !
Item was changed: ----- Method: InstallerMantis>>setArray: (in category 'public interface') ----- + setArray: dataRow - setArray: aCsvDataRow
+ (array := dataRow) ifNotNil: [ self bug ].! - array := aCsvDataRow asArray. - self bug.!
Item was changed: ----- Method: InstallerMantis>>summary (in category 'search-private') ----- summary
+ ^ self dataAtName: 'Summary'! - ^ self csvKey: 'Summary'!
Item was changed: ----- Method: InstallerMantis>>category (in category 'search-private') ----- category
+ ^ self dataAtName: 'Category' - ^ self csvKey: 'Category' " s bugs collect: [ :ea | ea category ] "!
Item was changed: ----- Method: InstallerMantis>>in:row: (in category 'public interface') ----- + in: parent row: dataRow - in: parent row: aCsvDataRow
- array := aCsvDataRow asArray. self ma: parent ma. self markers: parent markers. + self setArray: dataRow.! - self bug.!
Item was added: + ----- Method: InstallerMantis>>dataAtName: (in category 'search-private') ----- + dataAtName: key + + ^ array at: (self dataNames indexOf: key)!
Item was changed: ----- Method: InstallerMantis>>bug (in category 'accessing') ----- bug ^ bug ifNil: [ + date := ((self dataAtName: 'Updated') replaceAll: $ with: $T) asDateAndTime. + desc := (self dataAtName: 'Summary'). + bug := (self dataAtName: 'Id'). + status := Status at: (self dataAtName: 'Status'). + ]! - date := (self csvKey: 'Updated') asDate. - desc := (self csvKey: 'Summary'). - bug := (self csvKey: 'Id'). - ]!
Item was changed: + ----- Method: InstallerMantis>>status (in category 'accessing') ----- + status - ----- Method: InstallerMantis>>status (in category 'search-private') ----- - status
+ ^ status! - ^ self csvKey: 'Status' - - - !
Item was added: + ----- Method: InstallerMantis>>dataNames (in category 'public interface') ----- + dataNames + + ^ #(Id Project Category Assigned Updated Status Severity FixedIn Summary)!
Item was added: + ----- Method: InstallerMantis>>dataGetFrom: (in category 'public interface') ----- + dataGetFrom: aPath + + | rs line first col row | + + rs := HTTPSocket httpGet: ma, aPath. + + first := true. + + ^ array := Array streamContents: [ :out | + + [ rs atEnd ] whileFalse: [ + + line := rs nextLine readStream. + col := 1. + row := Array new: 9. + [ (line atEnd or: [ col > 9 ]) ] whileFalse: [ row at: col put: (line upTo: $|). col := col + 1 ]. + + rs next. + out nextPut: (self class new in: self row: row) ]. + + ]. + " + self reset. + self getBugsList + "!
Item was changed: ----- Method: InstallerMantis>>selectAll (in category 'public interface') ----- selectAll
+ ^ self dataAll! - ^ self search: [ :b | true ]!
Item was added: + ----- Method: InstallerMantis>>dataAll (in category 'search-private') ----- + dataAll + + ^ array ifNil: [ array := self dataGetFrom: '/installer_export.php' ]!
Item was removed: - ----- Method: InstallerMantis>>csvUpdated (in category 'search-private') ----- - csvUpdated - - ^ (self csvKey: 'Updated') asDate!
Item was removed: - ----- Method: InstallerMantis>>isCategory: (in category 'public interface') ----- - isCategory: c - - ^ self csvCategory = c!
Item was removed: - ----- Method: InstallerMantis>>csvSummary (in category 'search-private') ----- - csvSummary - - ^ self csvKey: 'Summary'!
Item was removed: - ----- Method: InstallerMantis>>csvKey: (in category 'search-private') ----- - csvKey: key - - ^ array at: (CSVFields indexOf: key)!
Item was removed: - ----- Method: InstallerMantis>>csvFields: (in category 'search-private') ----- - csvFields: firstRow - - CSVFields := firstRow - !
Item was removed: - ----- Method: InstallerMantis>>csvCategory (in category 'search-private') ----- - csvCategory - - ^ self csvKey: 'Category' - - " - s bugs collect: [ :ea | ea category ] - "!
Item was removed: - ----- Method: InstallerMantis>>csvGetData (in category 'public interface') ----- - csvGetData - - | rs line first col row | - - rs := HTTPSocket httpGet: ma, '/csv_export.php'. - - first := true. - - ^ array := Array streamContents: [ :out | - - [ rs atEnd ] whileFalse: [ - - line := rs nextLine readStream. - col := 1. - row := Array new: 24. - [ line atEnd ] whileFalse: [ row at: col put: (line upTo: $,). col := col + 1 ]. - - (#('private' 'public') includes: (row at: 17)) ifTrue: [ - self notify: 'Bug Report: ', (row at: 1), ' has a comma within a field - please correct/report asap'. - row at: 15 put: ((row at: 15), '.', (row at: 16)). - row := row copyWithoutIndex: 16. - ]. - - (row at: 23) ifNotNil: [ self error ]. - rs next. - first ifTrue: [ self csvFields: row. first := false ] - ifFalse: [ out nextPut: (self class new in: self row: row) ]. - ] - ]. - " - self reset. - self getBugsList - "!
Item was removed: - ----- Method: InstallerMantis>>isStatus: (in category 'public interface') ----- - isStatus: c - - ^ self csvStatus = c!
Item was removed: - ----- Method: InstallerMantis>>searchAll (in category 'public interface') ----- - searchAll - - ^ self select: [ :b | true ]!
Item was removed: - ----- Method: InstallerMantis>>csvId (in category 'search-private') ----- - csvId - - ^ array at: 1!
Item was removed: - ----- Method: InstallerMantis>>csvAll (in category 'search-private') ----- - csvAll - - ^ array ifNil: [ array := self csvGetData ]!
Item was removed: - ----- Method: InstallerMantis>>csvStatus (in category 'search-private') ----- - csvStatus - - ^ self csvKey: 'Status' - - - !
Item was removed: - ----- Method: InstallerMantis>>submitted (in category 'accessing') ----- - submitted - - ^ self csvKey: 'Date Sumbitted'. - - !
packages@lists.squeakfoundation.org