From 3148f61eb9201547fb9a44b805f53587274daa4a Mon Sep 17 00:00:00 2001 From: ruidajo Date: Tue, 25 Jul 2023 21:30:24 -0500 Subject: [PATCH] Fixing messages processing for asDictionary and web report exporter. --- .../NitterUser.class/instance/profileImageUrl.st | 2 +- .../NitterUser.class/instance/quotesReportData.st | 4 ++++ .../NitterUser.class/instance/repliesByWeeksTimeSpan.st | 4 ++++ .../NitterUser.class/instance/tweetsDivisionsByWeeks.st | 4 +++- 4 files changed, 12 insertions(+), 2 deletions(-) diff --git a/Socialmetrica.package/NitterUser.class/instance/profileImageUrl.st b/Socialmetrica.package/NitterUser.class/instance/profileImageUrl.st index 2adbeda..77735ea 100644 --- a/Socialmetrica.package/NitterUser.class/instance/profileImageUrl.st +++ b/Socialmetrica.package/NitterUser.class/instance/profileImageUrl.st @@ -3,4 +3,4 @@ profileImageUrl | documentTree | documentTree := [ self documentTree ] onErrorDo: [ ^ nil ]. - ^ self class nitterProvider, (((documentTree xpath: '//div[@class="profile-card-info"]//a[@class="profile-card-avatar"]') @ 'href') stringValue copyReplaceAll: '%2F' with: '/') copyWithoutFirst \ No newline at end of file + ^ profileImageUrl := self class nitterProvider, (((documentTree xpath: '//div[@class="profile-card-info"]//a[@class="profile-card-avatar"]') @ 'href') stringValue copyReplaceAll: '%2F' with: '/') copyWithoutFirst \ No newline at end of file diff --git a/Socialmetrica.package/NitterUser.class/instance/quotesReportData.st b/Socialmetrica.package/NitterUser.class/instance/quotesReportData.st index 271b8fc..fad768d 100644 --- a/Socialmetrica.package/NitterUser.class/instance/quotesReportData.st +++ b/Socialmetrica.package/NitterUser.class/instance/quotesReportData.st @@ -2,6 +2,10 @@ accessing quotesReportData | tempDict labels xAxis | + self quotes isEmpty + ifTrue: [ ^ { OrderedDictionary new. + ('[''', '0', ''']'). + ('[''', 'No replies', ''']')} ]. tempDict := self quotes asMessagesUserNamesSortedByOccurrences. tempDict size > 10 ifTrue: [ diff --git a/Socialmetrica.package/NitterUser.class/instance/repliesByWeeksTimeSpan.st b/Socialmetrica.package/NitterUser.class/instance/repliesByWeeksTimeSpan.st index 3c94c0a..ee56120 100644 --- a/Socialmetrica.package/NitterUser.class/instance/repliesByWeeksTimeSpan.st +++ b/Socialmetrica.package/NitterUser.class/instance/repliesByWeeksTimeSpan.st @@ -2,6 +2,10 @@ accessing repliesByWeeksTimeSpan | tweetsByTimeSpan xAxis labels | + self replies isEmpty + ifTrue: [ ^ { OrderedDictionary new. + ('[''', '0', ''']'). + ('[''', 'No replies', ''']')} ]. tweetsByTimeSpan := self collectMessages: [ self replies ] byTimeSpanSplits: self tweetsDivisionsByWeeks. xAxis := OrderedCollection new. (tweetsByTimeSpan values collect: [ :collection | collection size ]) do: [ :number | diff --git a/Socialmetrica.package/NitterUser.class/instance/tweetsDivisionsByWeeks.st b/Socialmetrica.package/NitterUser.class/instance/tweetsDivisionsByWeeks.st index 2873e3f..ba7a9d5 100644 --- a/Socialmetrica.package/NitterUser.class/instance/tweetsDivisionsByWeeks.st +++ b/Socialmetrica.package/NitterUser.class/instance/tweetsDivisionsByWeeks.st @@ -5,6 +5,8 @@ tweetsDivisionsByWeeks weeks := ((self newestTweet created - self oldestTweet created) days / 7). floor := weeks floor. (weeks - floor) > 0.4 - ifTrue: [ divisions := floor ] + ifTrue: [ floor = 0 + ifTrue: [ divisions := 1 ] + ifFalse: [ divisions := floor]] ifFalse: [ divisions := floor + 1 ]. ^ divisions \ No newline at end of file