From 873a5cd6099d3a2455f48dc8a694d4b1956aa199 Mon Sep 17 00:00:00 2001 From: Offray Luna Date: Thu, 29 Dec 2022 10:13:54 -0500 Subject: [PATCH] Adding instance monitoring information. --- app/VideoWeb/Invidious.class.st | 29 ++++++++++++++++++++++++++--- 1 file changed, 26 insertions(+), 3 deletions(-) diff --git a/app/VideoWeb/Invidious.class.st b/app/VideoWeb/Invidious.class.st index 787ccc6..8d065b8 100644 --- a/app/VideoWeb/Invidious.class.st +++ b/app/VideoWeb/Invidious.class.st @@ -7,11 +7,17 @@ Class { #instVars : [ 'uri', 'region', - 'api' + 'api', + 'monitor' ], #category : #VideoWeb } +{ #category : #accessing } +Invidious class >> defaultInstance [ + ^ self instances select: [ :instance | instance api = true ] +] + { #category : #accessing } Invidious class >> instances [ @@ -36,16 +42,33 @@ Invidious >> api: booleanValue [ { #category : #accessing } Invidious >> fromDictionary: aDictionary [ + | rawMonitor| self uri: (aDictionary at: 'uri'); region: (aDictionary at: 'region'); - api: (aDictionary at: 'api') + api: (aDictionary at: 'api'). + rawMonitor := aDictionary at: 'monitor'. + rawMonitor ifNil: [ ^ self ]. + self monitor + at: '90DaysRatio' put: ((aDictionary at: 'monitor' at: '90dRatio') at: 'ratio'); + at: '30DaysRatio' put: ((aDictionary at: 'monitor' at: '30dRatio') at: 'ratio'); + yourself. +] + +{ #category : #accessing } +Invidious >> monitor [ + ^ monitor ifNil: [ monitor := Dictionary new] +] + +{ #category : #accessing } +Invidious >> monitor: aDictionary [ + monitor := aDictionary ] { #category : #accessing } Invidious >> printOn: aStream [ super printOn: aStream. - ^ aStream nextPutAll: ' ( ', self uri asString, ' | ', self region, ' ) ' + ^ aStream nextPutAll: ' ( ', self uri asString, ' | ', self region, ' | ', (self monitor at: '90DaysRatio'), '% ) ' ] { #category : #accessing }