Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func CountVideosInChannel ¶
CountVideosInChannel is unused for now... keeping it here just in case
Types ¶
type Video ¶
type Video interface { Size() *int64 ID() string IDAndNum() string PlaylistPosition() int PublishedAt() time.Time Sync(*jsonrpc.Client, sources.SyncParams, *sdk.SyncedVideo, bool, *sync.RWMutex, *sync.WaitGroup, *mpb.Progress) (*sources.SyncSummary, error) }
func GetVideosToSync ¶
func GetVideosToSync(channelID string, syncedVideos map[string]sdk.SyncedVideo, quickSync bool, maxVideos int, videoParams VideoParams, lastUploadedVideo string) ([]Video, error)
type VideoParams ¶
type VideoParams struct { VideoDir string Stopper *stop.Group IPPool *ip_manager.IPPool }
type YoutubeStatsResponse ¶
type YoutubeStatsResponse struct { Contents struct { TwoColumnBrowseResultsRenderer struct { Tabs []struct { TabRenderer struct { Title string `json:"title"` Selected bool `json:"selected"` Content struct { SectionListRenderer struct { Contents []struct { ItemSectionRenderer struct { Contents []struct { ChannelAboutFullMetadataRenderer struct { Description struct { SimpleText string `json:"simpleText"` } `json:"description"` ViewCountText struct { SimpleText string `json:"simpleText"` } `json:"viewCountText"` JoinedDateText struct { Runs []struct { Text string `json:"text"` } `json:"runs"` } `json:"joinedDateText"` CanonicalChannelURL string `json:"canonicalChannelUrl"` BypassBusinessEmailCaptcha bool `json:"bypassBusinessEmailCaptcha"` Title struct { SimpleText string `json:"simpleText"` } `json:"title"` Avatar struct { Thumbnails []struct { URL string `json:"url"` Width int `json:"width"` Height int `json:"height"` } `json:"thumbnails"` } `json:"avatar"` ShowDescription bool `json:"showDescription"` DescriptionLabel struct { Runs []struct { Text string `json:"text"` } `json:"runs"` } `json:"descriptionLabel"` DetailsLabel struct { Runs []struct { Text string `json:"text"` } `json:"runs"` } `json:"detailsLabel"` ChannelID string `json:"channelId"` } `json:"channelAboutFullMetadataRenderer"` } `json:"contents"` } `json:"itemSectionRenderer"` } `json:"contents"` } `json:"sectionListRenderer"` } `json:"content"` } `json:"tabRenderer"` } `json:"tabs"` } `json:"twoColumnBrowseResultsRenderer"` } `json:"contents"` Header struct { C4TabbedHeaderRenderer struct { ChannelID string `json:"channelId"` Title string `json:"title"` Avatar struct { Thumbnails []struct { URL string `json:"url"` Width int `json:"width"` Height int `json:"height"` } `json:"thumbnails"` } `json:"avatar"` Banner struct { Thumbnails []struct { URL string `json:"url"` Width int `json:"width"` Height int `json:"height"` } `json:"thumbnails"` } `json:"banner"` VisitTracking struct { RemarketingPing string `json:"remarketingPing"` } `json:"visitTracking"` SubscriberCountText struct { SimpleText string `json:"simpleText"` } `json:"subscriberCountText"` } `json:"c4TabbedHeaderRenderer"` } `json:"header"` Metadata struct { ChannelMetadataRenderer struct { Title string `json:"title"` Description string `json:"description"` RssURL string `json:"rssUrl"` ChannelConversionURL string `json:"channelConversionUrl"` ExternalID string `json:"externalId"` Keywords string `json:"keywords"` OwnerUrls []string `json:"ownerUrls"` Avatar struct { Thumbnails []struct { URL string `json:"url"` Width int `json:"width"` Height int `json:"height"` } `json:"thumbnails"` } `json:"avatar"` ChannelURL string `json:"channelUrl"` IsFamilySafe bool `json:"isFamilySafe"` VanityChannelURL string `json:"vanityChannelUrl"` } `json:"channelMetadataRenderer"` } `json:"metadata"` Topbar struct { DesktopTopbarRenderer struct { CountryCode string `json:"countryCode"` } `json:"desktopTopbarRenderer"` } `json:"topbar"` Microformat struct { MicroformatDataRenderer struct { URLCanonical string `json:"urlCanonical"` Title string `json:"title"` Description string `json:"description"` Thumbnail struct { Thumbnails []struct { URL string `json:"url"` Width int `json:"width"` Height int `json:"height"` } `json:"thumbnails"` } `json:"thumbnail"` SiteName string `json:"siteName"` AppName string `json:"appName"` AndroidPackage string `json:"androidPackage"` IosAppStoreID string `json:"iosAppStoreId"` IosAppArguments string `json:"iosAppArguments"` OgType string `json:"ogType"` URLApplinksWeb string `json:"urlApplinksWeb"` URLApplinksIos string `json:"urlApplinksIos"` URLApplinksAndroid string `json:"urlApplinksAndroid"` URLTwitterIos string `json:"urlTwitterIos"` URLTwitterAndroid string `json:"urlTwitterAndroid"` TwitterCardType string `json:"twitterCardType"` TwitterSiteHandle string `json:"twitterSiteHandle"` SchemaDotOrgType string `json:"schemaDotOrgType"` Noindex bool `json:"noindex"` Unlisted bool `json:"unlisted"` FamilySafe bool `json:"familySafe"` Tags []string `json:"tags"` } `json:"microformatDataRenderer"` } `json:"microformat"` }
func ChannelInfo ¶
func ChannelInfo(channelID string) (*YoutubeStatsResponse, error)
Click to show internal directories.
Click to hide internal directories.