Socialmetrica/Socialmetrica.package/Tweet.class/instance/fromNitterTimelineItem..st

28 lines
1.2 KiB
Smalltalk
Raw Normal View History

accessing
fromNitterTimelineItem: xmlItem
| author authorAndId metricsTemp timeTemp |
authorAndId := (((xmlItem xpath: '//a[@class="tweet-link"]')
asString splitOn: 'href="' ) second splitOn: '/') reject: [ :i | i isEmpty or: [i = '>)']].
author := authorAndId first.
user := NitterUser new
userName: author .
timeTemp := (((xmlItem xpath: '//span[@class="tweet-date"]')asString splitOn: 'title="') second splitOn: '">')first.
timeTemp := ((timeTemp copyReplaceAll: ' · ' with: ' ') copyReplaceAll: 'UTC' with: '+00:00') asDateAndTime.
created := timeTemp.
text := (xmlItem xpath: '//div[@class="tweet-content media-body"]')stringValue.
id := authorAndId last copyReplaceAll: '#m"' with: ''.
authorId := self user id.
metricsTemp := Dictionary new .
metricsTemp
at: 'comment'
put: (xmlItem xpath: '//div[@class="icon-container"]') second stringValue trimmed;
at: 'retweet'
put: (xmlItem xpath: '//div[@class="icon-container"]') third stringValue trimmed;
at: 'quote'
put: (xmlItem xpath: '//div[@class="icon-container"]') fourth stringValue trimmed;
at: 'heart'
put: (xmlItem xpath: '//div[@class="icon-container"]') fifth stringValue trimmed.
metrics := metricsTemp.