Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type CMSLink ¶
type CMSLink struct {
// The CMS link used internally to callCMS
Link string `json:"href"`
}
A struct for the CMS links in each response type
type Client ¶ added in v1.0.1
type Client struct {
// contains filtered or unexported fields
}
Main client for downloading videos
func NewVRVClient ¶
func (*Client) Authenticate ¶ added in v1.0.1
func (*Client) GetEpisode ¶ added in v1.0.1
type CollectionResult ¶
type CollectionResult struct {
Items []struct {
Links struct {
// A CMS link for season information
SeasonCMS CMSLink `json:"episode/season"`
// A CMS link for series information
SeriesCMS CMSLink `json:"episode/series"`
// A CMS link for individual video information
SelfCMS CMSLink `json:"resource"`
// A CMS link for uploader information
ChannelCMS CMSLink `json:"resource/channel"`
// A CMS link for stream information
StreamsCMS CMSLink `json:"streams"`
} `json:"__links__"`
} `json:"items"`
}
A CollectionResult represents the object that is returned when an initial search for an episode, series, or season is done
type Episode ¶
type Episode struct {
// The custom HTTP Client used for Episode requests
Client *HTTPClient
// The class of the JSON response (should be episode)
Class string `json:"__class__"`
// The unqiue ID of the episode
ID string `json:"id"`
// The channel ID of the video uploader
ChannelID string `json:"channel_id"`
// The title of the series the episode is a part of
SeriesTitle string `json:"series_title"`
// The season number
SeasonNumber int `json:"season_number"`
// The episode number in the season
Number float64 `json:"episode_number"`
// The title of the episode
Title string `json:"title"`
// The description of the episode
Description string `json:"description"`
// Is the episode intended for mature audiences
IsMature bool `json:"is_mature"`
// Is the mature content blocked on the user's account
IsMatureBlocked bool `json:"mature_blocked"`
// When the episode aired (2012-10-29T09:35:00-07:00) format
EpisodeAirDate string `json:"episode_air_date"`
// Does the series have subtitles
IsSubbed bool `json:"is_subbed"`
// Is the series episode dubbed
IsDubbed bool `json:"is_dubbed"`
// Duration of the episode (milliseconds)
Duration int `json:"duration_ms"`
// Is the episode only avaliable for premium members
IsPremiumOnly bool `json:"is_premium_only"`
// Is the episode avaliable offline
IsAvaliableOffline bool `json:"available_offline"`
//IsHD bool `json:"hd_flag"`
Links struct {
// A CMS link for uploader information
ChannelCMS CMSLink `json:"episode/channel"`
// A CMS link for movie information
Movies CMSLink `json:"movie_listing/movies"`
// A CMS link for season information
SeasonCMS CMSLink `json:"episode/season"`
// A CMS link for series information
SeriesCMS CMSLink `json:"episode/series"`
// A CMS link for stream information
Streams CMSLink `json:"streams"`
} `json:"__links__"`
Images struct {
// A list of thumbnails for the epside
Thumbnails [][]Thumbnail `json:"thumbnail"`
} `json:"images`
}
A VRV Episode
type HTTPClient ¶
type HTTPClient struct {
// contains filtered or unexported fields
}
Custom HTTP client that handles all requests made by the VRV Struct
func (*HTTPClient) DoOAuthRequest ¶
Calls DoRequest with OAuth Token information retrieved from login
type ImageStruct ¶ added in v1.0.1
type ImageStruct struct {
Width int `json:"width"`
Height int `json:"height"`
Type string `json:"type"`
URL string `json:"source"`
}
ImageStruct holds art information about the series
type OAuthClientResp ¶
type OAuthClientResp struct {
Params struct {
// The authentication key returned on VRV's website
OAuthKey string `json:"oAuthKey"`
// The authentication secret returned on VRV's website
OAuthSecret string `json:"oAuthSecret"`
// The API URL that VRV uses to make API requests
ApiDomain string `json:"apiDomain"`
} `json:"cxApiParams"`
}
type OAuthToken ¶
type Season ¶
type Season struct {
// The custom HTTP Client used for the Season
Client *HTTPClient
// The class of the JSON response (should be season)
Class string `json:"__class__"`
// The unqiue ID of the season
ID string `json:"id"`
// The title of the season
Title string `json:"title"`
// The description of the season
Description string `json:"description"`
// The season number
Number int `json:"season_number"`
//idk if this is supposed to be whether the account
// has completed it or whether it's done being made
IsComplete bool `json:"is_complete"`
// Is the season intended for mature audiences
IsMature bool `json:"is_mature"`
// Is mature content blocked on the current user's account
IsMatureBlocked bool `json:"mature_blocked"`
// Does the season have subtitles
IsSubbed bool `json:"is_subbed"`
// Is the season dubbed
IsDubbed bool `json:"is_dubbed"`
// Is the season simulcasted
IsSimulcast bool `json:"is_simulcast"`
// The seasonal tags for the season
Tags []string `json:"season_tags"`
Links struct {
// A CMS link for uploader information
ChannelCMS CMSLink `json:"season/channel"`
// A CMS link for episodes information
EpisodesCMS CMSLink `json:"season/episodes"`
// A CMS link for series information
SeriesCMS CMSLink `json:"season/series"`
} `json:"__links__"`
}
A VRV Season
func (*Season) GetEpisodes ¶
Gets the episodes of a season
type Seasons ¶
type Seasons struct {
// The class of the JSON response (should be collection)
Class string `json:"__class__"`
// Number of seasons
Count int `json:"total"`
// An array of the seasons
Seasons []Season `json:"items"`
}
A VRV Season Container
type Series ¶
type Series struct {
// The custom HTTP Client for the series
Client *HTTPClient
// The unique ID of the series
ID string `json:"id"`
// What website/channel uploaded the series
Uploader string `json:"channel_id"`
// Title of the Series
Title string `json:"title"`
// Description of the series
Description string `json:"description"`
// Tags for the series for using VRV's search feature
Tags []string `json:"keywords"`
// Seasonal tags for the series
SeasonTags []string `json:"season_tags"`
// String tags of the rating on the series (ex "TV-14")
MatureRatings []string `json:"maturity_ratings"`
// Number of episodes in the series
EpisodeCount int `json:"episode_count"`
// Number of seasons in the series
SeasonCount int `json:"season_count"`
// Is the series itended for mature audiences
IsMature bool `json:"is_mature"`
// Are mature videos blocked for the account logged in
IsMatureBlocked bool `json:"mature_blocked"`
// Does the series have subtitles
IsSubbed bool `json:"is_subbed"`
// Is the series dubbed
IsDubbed bool `json:"is_dubbed"`
// Is the series simulcasted
IsSimulcast bool `json:"is_simulcast"`
Links struct {
// A CMS link for uploader information
ChannelCMS CMSLink `json:"series/channel"`
// A CMS link for season information
SeasonsCMS CMSLink `json:"series/seasons"`
} `json:"__links__"`
Art struct {
PosterWide [][]ImageStruct `json:"poster_wide"`
PosterTall [][]ImageStruct `json:"poster_tall"`
} `json:"images"`
}
A VRV Series
func (*Series) GetSeasons ¶
Returns all seasons that are a part of a series
type StreamHolder ¶
type Streams ¶
type Streams struct {
// The type of the struct (stream)
Class string `json:"__class__"`
// Subtitles for the streams
Subtitles []Subtitle `json:"subtitles"`
// The audio language of the streams
AudioLanguage string `json:"audio_locale"`
// The media ID of the streams
ID string `json:"media_id"`
Streams struct {
HLS []StreamHolder `json:"adaptive_hls"`
} `json:"streams"`
}
A VRV stream list
Click to show internal directories.
Click to hide internal directories.