2022-04-07 19:17:17 +00:00
|
|
|
accessing
|
|
|
|
fromNitterTimelineItem: xmlItem
|
2022-04-09 03:02:27 +00:00
|
|
|
| author authorAndId metricsTemp timeTemp |
|
2022-04-07 19:17:17 +00:00
|
|
|
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 .
|
2022-04-09 03:02:27 +00:00
|
|
|
|
|
|
|
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.
|
2022-04-07 19:17:17 +00:00
|
|
|
id := authorAndId last copyReplaceAll: '#m"' with: ''.
|
2022-04-09 03:02:27 +00:00
|
|
|
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.
|