diff --git a/Socialmetrica.package/Nitter.class/class/columnKeys.st b/Socialmetrica.package/Nitter.class/class/columnKeys.st deleted file mode 100644 index 426b297..0000000 --- a/Socialmetrica.package/Nitter.class/class/columnKeys.st +++ /dev/null @@ -1,3 +0,0 @@ -accessing -columnKeys - ^ #('url' 'healthy' 'healthy_percentage_overall' 'rss' 'version') \ No newline at end of file diff --git a/Socialmetrica.package/Nitter.class/class/columnsDictionary.st b/Socialmetrica.package/Nitter.class/class/columnsDictionary.st new file mode 100644 index 0000000..e5d1f00 --- /dev/null +++ b/Socialmetrica.package/Nitter.class/class/columnsDictionary.st @@ -0,0 +1,8 @@ +accessing +columnsDictionary + ^ { + 'url' -> 'url' . + 'healthy' -> 'healthy'. + 'healthy_percentage_overall' -> 'uptime' . + 'rss' -> 'rss' . + 'version' -> 'version'} asDictionary \ No newline at end of file diff --git a/Socialmetrica.package/Nitter.class/class/instanceRows.st b/Socialmetrica.package/Nitter.class/class/instanceRows.st index 3f6c8e1..cc8b753 100644 --- a/Socialmetrica.package/Nitter.class/class/instanceRows.st +++ b/Socialmetrica.package/Nitter.class/class/instanceRows.st @@ -1,7 +1,8 @@ accessing instanceRows ^ (self instances at: 'hosts') collect: [:rawRow | | newRow | - newRow := OrderedCollection new. - self columnKeys do: [:key | newRow add: (rawRow at: key) ]. + newRow := NitterInstance new. + self columnsDictionary keysAndValuesDo: [:key :value | + newRow writeSlotNamed: value value: (rawRow at: key) ]. newRow ]. \ No newline at end of file diff --git a/Socialmetrica.package/Nitter.class/class/instances.st b/Socialmetrica.package/Nitter.class/class/instances.st index f9bb202..74fdf73 100644 --- a/Socialmetrica.package/Nitter.class/class/instances.st +++ b/Socialmetrica.package/Nitter.class/class/instances.st @@ -1,4 +1,3 @@ accessing instances - - ^ STONJSON fromString: 'https://status.d420.de/api/v1/instances' asUrl retrieveContents \ No newline at end of file + ^ self instancesCache \ No newline at end of file diff --git a/Socialmetrica.package/Nitter.class/class/instancesCache.st b/Socialmetrica.package/Nitter.class/class/instancesCache.st new file mode 100644 index 0000000..0aad01c --- /dev/null +++ b/Socialmetrica.package/Nitter.class/class/instancesCache.st @@ -0,0 +1,9 @@ +accessing +instancesCache + | cache cacheFile | + cacheFile := FileLocator temp / 'nitter-instances.ston'. + cacheFile exists + ifFalse: [ + cache := STON fromString: 'https://status.d420.de/api/v1/instances' asUrl retrieveContents. + MarkupFile exportAsFileOn: cacheFile containing: cache ]. + ^ STON fromString: cacheFile contents \ No newline at end of file diff --git a/Socialmetrica.package/Nitter.class/class/viewInstancesFor..st b/Socialmetrica.package/Nitter.class/class/viewInstancesFor..st index e03e939..bdccdc0 100644 --- a/Socialmetrica.package/Nitter.class/class/viewInstancesFor..st +++ b/Socialmetrica.package/Nitter.class/class/viewInstancesFor..st @@ -11,6 +11,6 @@ viewInstancesFor: aView columnNames doWithIndex: [:aName :index | columnedList column: aName - text: [:instanceRow | (instanceRow at: index) ifNil: [''] ] + text: [:instanceRow | (instanceRow slots at: index) ifNil: [''] ] ]. ^ columnedList \ No newline at end of file diff --git a/Socialmetrica.package/NitterInstance.class/README.md b/Socialmetrica.package/NitterInstance.class/README.md new file mode 100644 index 0000000..e69de29 diff --git a/Socialmetrica.package/NitterInstance.class/instance/printOn..st b/Socialmetrica.package/NitterInstance.class/instance/printOn..st new file mode 100644 index 0000000..485e11e --- /dev/null +++ b/Socialmetrica.package/NitterInstance.class/instance/printOn..st @@ -0,0 +1,5 @@ +accessing +printOn: aStream + super printOn: aStream. + ^ aStream + nextPutAll: '( ', self url ,' | uptime: ', self uptime asString, ' )' \ No newline at end of file diff --git a/Socialmetrica.package/NitterInstance.class/instance/uptime.st b/Socialmetrica.package/NitterInstance.class/instance/uptime.st new file mode 100644 index 0000000..34489b5 --- /dev/null +++ b/Socialmetrica.package/NitterInstance.class/instance/uptime.st @@ -0,0 +1,3 @@ +accessing +uptime + ^ uptime \ No newline at end of file diff --git a/Socialmetrica.package/NitterInstance.class/instance/url.st b/Socialmetrica.package/NitterInstance.class/instance/url.st new file mode 100644 index 0000000..958fa17 --- /dev/null +++ b/Socialmetrica.package/NitterInstance.class/instance/url.st @@ -0,0 +1,3 @@ +accessing +url + ^ url \ No newline at end of file diff --git a/Socialmetrica.package/NitterInstance.class/properties.json b/Socialmetrica.package/NitterInstance.class/properties.json new file mode 100644 index 0000000..80134af --- /dev/null +++ b/Socialmetrica.package/NitterInstance.class/properties.json @@ -0,0 +1,17 @@ +{ + "commentStamp" : "", + "super" : "Object", + "category" : "Socialmetrica", + "classinstvars" : [ ], + "pools" : [ ], + "classvars" : [ ], + "instvars" : [ + "url", + "healthy", + "uptime", + "rss", + "version" + ], + "name" : "NitterInstance", + "type" : "normal" +} \ No newline at end of file