Change tweets to only show display text now.
This commit is contained in:
parent
984322453f
commit
687e1105f0
@ -13,16 +13,20 @@ struct Tweet: Codable {
|
||||
let createdAt: Date?
|
||||
let idStr: String?
|
||||
let text: String?
|
||||
let displayTextRange: [Int]?
|
||||
let user: TwitterUser
|
||||
let truncated: Bool
|
||||
let retweeted: Bool
|
||||
let extendedTweet: ExtendedTweet?
|
||||
|
||||
enum CodingKeys: String, CodingKey {
|
||||
case createdAt = "created_at"
|
||||
case idStr = "id_str"
|
||||
case text = "text"
|
||||
case displayTextRange = "display_text_range"
|
||||
case user = "user"
|
||||
case truncated = "truncated"
|
||||
case retweeted = "retweeted"
|
||||
case extendedTweet = "extended_tweet"
|
||||
}
|
||||
|
||||
@ -30,6 +34,12 @@ struct Tweet: Codable {
|
||||
|
||||
struct ExtendedTweet: Codable {
|
||||
|
||||
let full_text: String?
|
||||
let fullText: String?
|
||||
let displayTextRange: [Int]?
|
||||
|
||||
enum CodingKeys: String, CodingKey {
|
||||
case fullText = "full_text"
|
||||
case displayTextRange = "display_text_range"
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -252,9 +252,9 @@ private extension TwitterFeedProvider {
|
||||
externalURL: nil,
|
||||
title: nil,
|
||||
language: nil,
|
||||
contentHTML: tweet.text,
|
||||
contentText: tweet.text,
|
||||
summary: tweet.text,
|
||||
contentHTML: makeTweetHTML(tweet),
|
||||
contentText: makeTweetText(tweet),
|
||||
summary: nil,
|
||||
imageURL: nil,
|
||||
bannerImageURL: nil,
|
||||
datePublished: tweet.createdAt,
|
||||
@ -276,4 +276,28 @@ private extension TwitterFeedProvider {
|
||||
return Set([ParsedAuthor(name: user.name, url: makeUserURL(user.screenName!), avatarURL: user.avatarURL, emailAddress: nil)])
|
||||
}
|
||||
|
||||
func makeTweetText(_ tweet: Tweet) -> String? {
|
||||
if tweet.truncated, let extendedText = tweet.extendedTweet?.fullText {
|
||||
if let displayRange = tweet.extendedTweet?.displayTextRange, displayRange.count > 1 {
|
||||
let startIndex = extendedText.index(extendedText.startIndex, offsetBy: displayRange[0])
|
||||
let endIndex = extendedText.index(extendedText.startIndex, offsetBy: displayRange[1])
|
||||
return String(extendedText[startIndex...endIndex])
|
||||
} else {
|
||||
return extendedText
|
||||
}
|
||||
} else {
|
||||
if let text = tweet.text, let displayRange = tweet.displayTextRange {
|
||||
let startIndex = text.index(text.startIndex, offsetBy: displayRange[0])
|
||||
let endIndex = text.index(text.startIndex, offsetBy: displayRange[1])
|
||||
return String(text[startIndex...endIndex])
|
||||
} else {
|
||||
return tweet.text
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func makeTweetHTML(_ tweet: Tweet) -> String? {
|
||||
return nil
|
||||
}
|
||||
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user