From ac5061e40d5a1eadd9b226aeeab302418da5b12c Mon Sep 17 00:00:00 2001 From: Offray Luna Date: Sat, 10 Feb 2024 13:05:47 -0500 Subject: [PATCH] Improving Nitter instances view. --- .../Nitter.class/class/instances.st | 2 +- .../Nitter.class/class/viewInstancesFor..st | 13 +++++++++---- .../NitterInstance.class/README.md | 7 +++++++ .../NitterInstance.class/instance/hasRSS.st | 3 +++ .../NitterInstance.class/instance/healthy.st | 3 +++ .../NitterInstance.class/instance/isHealthy.st | 3 +++ .../NitterInstance.class/instance/rss.st | 3 +++ .../NitterInstance.class/properties.json | 2 +- 8 files changed, 30 insertions(+), 6 deletions(-) create mode 100644 Socialmetrica.package/NitterInstance.class/instance/hasRSS.st create mode 100644 Socialmetrica.package/NitterInstance.class/instance/healthy.st create mode 100644 Socialmetrica.package/NitterInstance.class/instance/isHealthy.st create mode 100644 Socialmetrica.package/NitterInstance.class/instance/rss.st diff --git a/Socialmetrica.package/Nitter.class/class/instances.st b/Socialmetrica.package/Nitter.class/class/instances.st index 74fdf73..f9ca6d3 100644 --- a/Socialmetrica.package/Nitter.class/class/instances.st +++ b/Socialmetrica.package/Nitter.class/class/instances.st @@ -1,3 +1,3 @@ accessing instances - ^ self instancesCache \ No newline at end of file + ^ self instanceRows \ 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 bdccdc0..6453d66 100644 --- a/Socialmetrica.package/Nitter.class/class/viewInstancesFor..st +++ b/Socialmetrica.package/Nitter.class/class/viewInstancesFor..st @@ -1,16 +1,21 @@ accessing viewInstancesFor: aView - | columnedList columnNames | + | columnedList columnNamesMap | self instances isEmptyOrNil ifTrue: [ ^ aView empty]. columnedList := aView columnedList title: 'Instances'; items: [ self instanceRows ]; priority: 1. - columnNames := #('Instance' 'Healthy' 'Uptime %' 'RSS' 'Nitter Version'). - columnNames doWithIndex: [:aName :index | + columnNamesMap := { + 'Instance' -> 'url'. + 'Healthy' -> 'healthy'. + 'Uptime %' -> 'uptime'. + 'RSS' -> 'rss'. + 'Nitter Version' -> 'version'} asOrderedDictionary. + columnNamesMap keysAndValuesDo: [:aName :value | columnedList column: aName - text: [:instanceRow | (instanceRow slots at: index) ifNil: [''] ] + text: [:instanceRow | (instanceRow readSlotNamed: value) ifNil: [''] ] ]. ^ columnedList \ No newline at end of file diff --git a/Socialmetrica.package/NitterInstance.class/README.md b/Socialmetrica.package/NitterInstance.class/README.md index e69de29..fd27a65 100644 --- a/Socialmetrica.package/NitterInstance.class/README.md +++ b/Socialmetrica.package/NitterInstance.class/README.md @@ -0,0 +1,7 @@ +I model a Nitter instance uptime & health tracker as described in https://status.d420.de/about. + +Taken from the official documentation, in the previous linkm the fields we are modelling are: + +- healthy: stands for hosts which are reachable and pass a content check. +- rss: whether the host has RSS feeds enabled. +- version: which nitter version the host reports. \ No newline at end of file diff --git a/Socialmetrica.package/NitterInstance.class/instance/hasRSS.st b/Socialmetrica.package/NitterInstance.class/instance/hasRSS.st new file mode 100644 index 0000000..29d7dcf --- /dev/null +++ b/Socialmetrica.package/NitterInstance.class/instance/hasRSS.st @@ -0,0 +1,3 @@ +accessing +hasRSS + ^ self rss \ No newline at end of file diff --git a/Socialmetrica.package/NitterInstance.class/instance/healthy.st b/Socialmetrica.package/NitterInstance.class/instance/healthy.st new file mode 100644 index 0000000..08edd58 --- /dev/null +++ b/Socialmetrica.package/NitterInstance.class/instance/healthy.st @@ -0,0 +1,3 @@ +accessing +healthy + ^ healthy \ No newline at end of file diff --git a/Socialmetrica.package/NitterInstance.class/instance/isHealthy.st b/Socialmetrica.package/NitterInstance.class/instance/isHealthy.st new file mode 100644 index 0000000..51f301f --- /dev/null +++ b/Socialmetrica.package/NitterInstance.class/instance/isHealthy.st @@ -0,0 +1,3 @@ +accessing +isHealthy + ^ self healthy \ No newline at end of file diff --git a/Socialmetrica.package/NitterInstance.class/instance/rss.st b/Socialmetrica.package/NitterInstance.class/instance/rss.st new file mode 100644 index 0000000..70b07eb --- /dev/null +++ b/Socialmetrica.package/NitterInstance.class/instance/rss.st @@ -0,0 +1,3 @@ +accessing +rss + ^ rss \ No newline at end of file diff --git a/Socialmetrica.package/NitterInstance.class/properties.json b/Socialmetrica.package/NitterInstance.class/properties.json index 80134af..a116762 100644 --- a/Socialmetrica.package/NitterInstance.class/properties.json +++ b/Socialmetrica.package/NitterInstance.class/properties.json @@ -1,5 +1,5 @@ { - "commentStamp" : "", + "commentStamp" : "", "super" : "Object", "category" : "Socialmetrica", "classinstvars" : [ ],