Implementing reporting periods to limit messages processing inside a predefined timespan.

This commit is contained in:
Offray Vladimir Luna Cárdenas 2022-05-04 07:27:25 -05:00
parent 4abb9fe987
commit 459502cd5f
6 changed files with 11 additions and 39 deletions

View File

@ -4,7 +4,7 @@ exportOverviewReportLatex
self
exportDefaultReport;
externalWordCloud;
exportTweetsHistogramWithBars: 7 between: 'March 13 2022' and: 'May 1 2022';
exportTweetsHistogramWithBars: 7;
exportRetweetsHistogramWithBars: 7;
exportRepliesHistogramWithBars: 7;
exportQuotesHistogramWithBars: 7.

View File

@ -1,34 +0,0 @@
accessing
exportTweetsHistogramWithBars: aNumberOfBars between: startDate and: endDate
| tweetsByTimeSpan subtotals tweetsHistogram diagram |
tweetsByTimeSpan := self collectMessages: [ self tweetsBetween: startDate and: endDate ] byTimeSpanSplits: aNumberOfBars.
subtotals := tweetsByTimeSpan values collect: [ :collection | collection size ].
tweetsHistogram := RSChart new.
tweetsHistogram extent: 800@200.
diagram := RSBarPlot new
x: (1 to: subtotals size)
y:subtotals.
diagram color: (Color r:(91/255) g:(131/255) b:(222/255)).
tweetsHistogram addPlot: diagram.
tweetsHistogram addDecoration: (RSHorizontalTick new
fromNames: tweetsByTimeSpan keys;
labelRotation: 0;
fontSize: 72 /aNumberOfBars;
yourself).
tweetsHistogram addDecoration: (RSVerticalTick new
integer;
fontSize: 72 /aNumberOfBars).
tweetsHistogram build.
tweetsHistogram canvas pngExporter
zoomToShapes;
noFixedShapes;
fileName: (self folder / 'tweets-histogram.png')fullName;
export.
tweetsHistogram canvas pdfExporter
zoomToShapes;
noFixedShapes;
fileName: (self folder / 'tweets-histogram.pdf')fullName;
export.
^ self folder / 'tweets-histogram.png'

View File

@ -0,0 +1,5 @@
accessing
reportingPeriod
^ self config
at: 'reportingPeriod'
ifAbsentPut: [ { self messages oldest created . self messages newest created } ]

View File

@ -1,3 +0,0 @@
accessing
tweetsBetween: startDate and: endDate
^ self tweets select: [ :each | each created between: startDate asDate and: endDate asDate ]

View File

@ -1,3 +1,4 @@
accessing
messages
^ messages ifNil: [ messages := TweetsCollection new ]
messages ifNil: [ ^ messages := TweetsCollection new ].
^ messages select: [ :message | message created between: self reportingPeriod start and: self reportingPeriod end ]

View File

@ -0,0 +1,3 @@
accessing
reportingPeriod
^ self subclassResponsibility