Merge pull request #53 from VTGare/master

Sensitive content field for tweets
This commit is contained in:
Nomadic 2022-03-07 19:53:29 +02:00 committed by GitHub
commit 658e55847d
2 changed files with 40 additions and 27 deletions

View file

@ -30,10 +30,15 @@ type timeline struct {
} `json:"entities"` } `json:"entities"`
ExtendedEntities struct { ExtendedEntities struct {
Media []struct { Media []struct {
IDStr string `json:"id_str"` IDStr string `json:"id_str"`
MediaURLHttps string `json:"media_url_https"` MediaURLHttps string `json:"media_url_https"`
Type string `json:"type"` ExtSensitiveMediaWarning struct {
VideoInfo struct { AdultContent bool `json:"adult_content"`
GraphicViolence bool `json:"graphic_violence"`
Other bool `json:"other"`
} `json:"ext_sensitive_media_warning"`
Type string `json:"type"`
VideoInfo struct {
Variants []struct { Variants []struct {
Bitrate int `json:"bitrate,omitempty"` Bitrate int `json:"bitrate,omitempty"`
URL string `json:"url"` URL string `json:"url"`
@ -211,9 +216,16 @@ func (timeline *timeline) parseTweet(id string) *Tweet {
maxBitrate = variant.Bitrate maxBitrate = variant.Bitrate
} }
} }
tw.Videos = append(tw.Videos, video) tw.Videos = append(tw.Videos, video)
} }
if !tw.SensitiveContent {
sensitive := media.ExtSensitiveMediaWarning
tw.SensitiveContent = sensitive.AdultContent || sensitive.GraphicViolence || sensitive.Other
}
} }
for _, url := range tweet.Entities.URLs { for _, url := range tweet.Entities.URLs {
tw.URLs = append(tw.URLs, url.ExpandedURL) tw.URLs = append(tw.URLs, url.ExpandedURL)
} }

View file

@ -12,29 +12,30 @@ type (
// Tweet type. // Tweet type.
Tweet struct { Tweet struct {
Hashtags []string Hashtags []string
HTML string HTML string
ID string ID string
InReplyToStatus *Tweet InReplyToStatus *Tweet
IsQuoted bool IsQuoted bool
IsPin bool IsPin bool
IsReply bool IsReply bool
IsRetweet bool IsRetweet bool
Likes int Likes int
PermanentURL string PermanentURL string
Photos []string Photos []string
Place *Place Place *Place
QuotedStatus *Tweet QuotedStatus *Tweet
Replies int Replies int
Retweets int Retweets int
RetweetedStatus *Tweet RetweetedStatus *Tweet
Text string Text string
TimeParsed time.Time TimeParsed time.Time
Timestamp int64 Timestamp int64
URLs []string URLs []string
UserID string UserID string
Username string Username string
Videos []Video Videos []Video
SensitiveContent bool
} }
// ProfileResult of scrapping. // ProfileResult of scrapping.