Documentation ¶
Index ¶
- Constants
- func GetArticle(name string, urlString string) ([]byte, error)
- func GetContent(name string, url string, mediaType string) ([]byte, error)
- func GetKeys(key string) (string, error)
- func GetMedia(name string, url string) ([]byte, error)
- func GetYTVid(name string, url string) ([]byte, error)
- func UploadToB2(data []byte, name, fileType string) (string, error)
- type AltTitlesEntity
- type AuthorAttributes
- type AuthorData
- type AuthorResponse
- type B2AuthResp
- type B2AuthTokens
- type B2Error
- type B2UpUrlResp
- type B2UploadResp
- type B2UploadTokens
- type CardFaces
- type CleanMTG
- type CleanManga
- type CleanMedia
- type CleanQuestion
- type CleanRepo
- type CleanYT
- type Credits
- type Description
- type ImageUris
- type Legalities
- type Links
- type MangaAttributes
- type MangaData
- type MangaResponse
- type Movie
- type NameOrTitle
- type Preview
- type Prices
- type PurchaseUris
- type QuestionItems
- type QuestionOwner
- type QuestionResponse
- type RelatedUris
- type RelationshipsAttributes
- type RelationshipsEntity
- type SEResponse
- type ScryfallCardData
- type TVShow
- type TagsAttributes
- type TagsEntity
- type TypeData
- type YouTubeAPIEndpoint
- type YouTubeResponse
Constants ¶
View Source
const ( API = "https://api.mangadex.org" ASSETS = "https://uploads.mangadex.org" )
Variables ¶
This section is empty.
Functions ¶
func GetArticle ¶
Get Markdown version of article from url.
func UploadToB2 ¶
Upload file to B2 bucket. DOCS: https://www.backblaze.com/b2/docs/b2_upload_file.html
Types ¶
type AltTitlesEntity ¶ added in v1.4.0
type AuthorAttributes ¶ added in v1.4.0
type AuthorAttributes struct { Name string `json:"name"` ImageURL string `json:"imageUrl,omitempty"` Biography string `json:"biography"` Twitter string `json:"twitter,omitempty"` Pixiv string `json:"pixiv,omitempty"` MelonBook string `json:"melonBook,omitempty"` FanBox string `json:"fanBox,omitempty"` Booth string `json:"booth,omitempty"` NicoVideo string `json:"nicoVideo,omitempty"` Skeb string `json:"skeb,omitempty"` Fantia string `json:"fantia,omitempty"` Tumblr string `json:"tumblr,omitempty"` Youtube string `json:"youtube,omitempty"` Weibo string `json:"weibo,omitempty"` Website string `json:"website,omitempty"` CreatedAt string `json:"createdAt"` UpdatedAt string `json:"updatedAt"` Version int `json:"version"` }
type AuthorData ¶ added in v1.4.0
type AuthorData struct { ID string `json:"id"` Type string `json:"type"` Attributes AuthorAttributes `json:"attributes"` Relationships []RelationshipsEntity `json:"relationships,omitempty"` }
type AuthorResponse ¶ added in v1.4.0
type AuthorResponse struct { Result string `json:"result"` Response string `json:"response"` Data AuthorData `json:"data"` }
type B2AuthResp ¶
type B2AuthResp struct { AbsoluteMinimumPartSize int `json:"absoluteMinimumPartSize"` AccountId string `json:"accountId"` Allowed struct { BucketId string `json:"bucketId"` BucketName string `json:"bucketName"` Capabilities []string `json:"capabilities"` NamePrefix string `json:"namePrefix"` } `json:"allowed"` ApiUrl string `json:"apiUrl"` AuthorizationToken string `json:"authorizationToken"` DownloadUrl string `json:"downloadUrl"` RecommendedPartSize int `json:"recommendedPartSize"` S3ApiUrl string `json:"s3ApiUrl"` }
type B2AuthTokens ¶
type B2AuthTokens struct { ApiUrl string AuthorizationToken string DownloadUrl string RecommendedPartSize int }
func AuthTokens ¶
func AuthTokens() (B2AuthTokens, error)
Authorize B2 bucket for upload. DOCS: https://www.backblaze.com/b2/docs/b2_authorize_account.html
type B2UpUrlResp ¶
type B2UploadResp ¶
type B2UploadResp struct { FileId string `json:"fileId"` FileName string `json:"fileName"` AccountId string `json:"accountId"` BucketId string `json:"bucketId"` ContentLength int `json:"contentLength"` ContentSha1 string `json:"contentSha1"` ContentType string `json:"contentType"` FileInfo struct { Author string `json:"author"` } `json:"fileInfo"` ServerSideEncryption struct { Algorithm string `json:"algorithm"` Mode string `json:"mode"` } `json:"serverSideEncryption"` }
type B2UploadTokens ¶
func GetUploadUrl ¶
func GetUploadUrl() (B2UploadTokens, error)
Get B2 endpoint for upload. DOCS: https://www.backblaze.com/b2/docs/b2_get_upload_url.html
type CardFaces ¶ added in v1.4.0
type CardFaces struct { Object string `json:"object"` Name string `json:"name"` ManaCost string `json:"mana_cost"` TypeLine string `json:"type_line"` OracleText string `json:"oracle_text"` FlavorText string `json:"flavor_text"` Colors []string `json:"colors"` Power string `json:"power"` Toughness string `json:"toughness"` Artist string `json:"artist"` ArtistID string `json:"artist_id"` IllustrationID string `json:"illustration_id"` ImageUris ImageUris `json:"image_uris"` }
type CleanMTG ¶ added in v1.4.0
type CleanMTG struct { Name string Colors *[]string Type string Set string SetName string OracleText *string FlavorText *string Rarity string CollectorNumber int Artist string ReleasedAt string Image string Back *string }
func GetMTGInfo ¶ added in v1.4.0
type CleanManga ¶ added in v1.4.0
type CleanManga struct { Title string Description string Author string Year int Status string Cover string Url string }
func GetMangaInfo ¶ added in v1.4.0
func GetMangaInfo(url string) (CleanManga, error)
type CleanMedia ¶ added in v1.4.0
func GetMediaInfo ¶ added in v1.4.0
func GetMediaInfo(url string) (CleanMedia, error)
type CleanQuestion ¶ added in v1.3.0
func GetQuestionInfo ¶ added in v1.3.0
func GetQuestionInfo(url string) (CleanQuestion, error)
type CleanRepo ¶ added in v1.2.0
func GetRepoInfo ¶ added in v1.2.0
DOCS: https://docs.github.com/en/graphql/reference/queries#repository
type Credits ¶ added in v1.4.0
type Credits struct { ID int `json:"id"` Cast []struct { Adult bool `json:"adult"` Gender int `json:"gender"` ID int `json:"id"` KnownForDepartment string `json:"known_for_department"` Name string `json:"name"` OriginalName string `json:"original_name"` Popularity float64 `json:"popularity"` ProfilePath string `json:"profile_path"` CastID int `json:"cast_id"` Character string `json:"character"` CreditID string `json:"credit_id"` Order int `json:"order"` } `json:"cast"` Crew []struct { Adult bool `json:"adult"` Gender int `json:"gender"` ID int `json:"id"` KnownForDepartment string `json:"known_for_department"` Name string `json:"name"` OriginalName string `json:"original_name"` Popularity float64 `json:"popularity"` ProfilePath *string `json:"profile_path"` CreditID string `json:"credit_id"` Department string `json:"department"` Job string `json:"job"` } `json:"crew"` }
type Description ¶ added in v1.4.0
type Legalities ¶ added in v1.4.0
type Legalities struct { Gladiator string `json:"gladiator"` Historicbrawl string `json:"historicbrawl"` Explorer string `json:"explorer"` Vintage string `json:"vintage"` Oldschool string `json:"oldschool"` Legacy string `json:"legacy"` Pauper string `json:"pauper"` Standard string `json:"standard"` Modern string `json:"modern"` Penny string `json:"penny"` Brawl string `json:"brawl"` Duel string `json:"duel"` Paupercommander string `json:"paupercommander"` Premodern string `json:"premodern"` Alchemy string `json:"alchemy"` Future string `json:"future"` Commander string `json:"commander"` Historic string `json:"historic"` Pioneer string `json:"pioneer"` }
type MangaAttributes ¶ added in v1.4.0
type MangaAttributes struct { Title NameOrTitle `json:"title"` AltTitles []AltTitlesEntity `json:"altTitles,omitempty"` Description Description `json:"description"` IsLocked bool `json:"isLocked"` Links Links `json:"links"` OriginalLanguage string `json:"originalLanguage"` LastVolume string `json:"lastVolume"` LastChapter string `json:"lastChapter"` PublicationDemographic string `json:"publicationDemographic"` Status string `json:"status"` Year int `json:"year"` ContentRating string `json:"contentRating"` Tags []TagsEntity `json:"tags,omitempty"` State string `json:"state"` ChapterNumbersResetOnNewVolume bool `json:"chapterNumbersResetOnNewVolume"` CreatedAt string `json:"createdAt"` UpdatedAt string `json:"updatedAt"` Version int `json:"version"` AvailableTranslatedLanguages []string `json:"availableTranslatedLanguages,omitempty"` LatestUploadedChapter string `json:"latestUploadedChapter"` }
type MangaData ¶ added in v1.4.0
type MangaData struct { ID string `json:"id"` Type string `json:"type"` Attributes MangaAttributes `json:"attributes"` Relationships []RelationshipsEntity `json:"relationships,omitempty"` }
type MangaResponse ¶ added in v1.4.0
type Movie ¶ added in v1.4.0
type Movie struct { Adult bool `json:"adult"` BackdropPath string `json:"backdrop_path"` BelongsToCollection struct { ID int `json:"id"` Name string `json:"name"` PosterPath string `json:"poster_path"` BackdropPath string `json:"backdrop_path"` } `json:"belongs_to_collection"` Budget int `json:"budget"` Genres []struct { ID int `json:"id"` Name string `json:"name"` } `json:"genres"` Homepage string `json:"homepage"` ID int `json:"id"` ImdbID string `json:"imdb_id"` OriginalLanguage string `json:"original_language"` OriginalTitle string `json:"original_title"` Overview string `json:"overview"` Popularity float64 `json:"popularity"` PosterPath string `json:"poster_path"` ProductionCompanies []struct { ID int `json:"id"` LogoPath string `json:"logo_path"` Name string `json:"name"` OriginCountry string `json:"origin_country"` } `json:"production_companies"` ProductionCountries []struct { Iso31661 string `json:"iso_3166_1"` Name string `json:"name"` } `json:"production_countries"` ReleaseDate string `json:"release_date"` Revenue int `json:"revenue"` Runtime int `json:"runtime"` SpokenLanguages []struct { EnglishName string `json:"english_name"` Iso6391 string `json:"iso_639_1"` Name string `json:"name"` } `json:"spoken_languages"` Status string `json:"status"` Tagline string `json:"tagline"` Title string `json:"title"` Video bool `json:"video"` VoteAverage float64 `json:"vote_average"` VoteCount int `json:"vote_count"` }
type NameOrTitle ¶ added in v1.4.0
type NameOrTitle struct {
En string `json:"en"`
}
type PurchaseUris ¶ added in v1.4.0
type QuestionItems ¶ added in v1.3.0
type QuestionItems struct { Tags []string `json:"tags"` Owner QuestionOwner `json:"owner"` IsAnswered bool `json:"is_answered"` ViewCount int `json:"view_count"` ProtectedDate int `json:"protected_date"` AcceptedAnswerID int `json:"accepted_answer_id"` AnswerCount int `json:"answer_count"` CommunityOwnedDate int `json:"community_owned_date"` Score int `json:"score"` LockedDate int `json:"locked_date"` LastActivityDate int `json:"last_activity_date"` CreationDate int `json:"creation_date"` LastEditDate int `json:"last_edit_date"` QuestionID int `json:"question_id"` ContentLicense string `json:"content_license"` Link string `json:"link"` Title string `json:"title"` }
type QuestionOwner ¶ added in v1.3.0
type QuestionOwner struct { AccountID int `json:"account_id"` Reputation int `json:"reputation"` UserID int `json:"user_id"` UserType string `json:"user_type"` AcceptRate int `json:"accept_rate"` ProfileImage string `json:"profile_image"` DisplayName string `json:"display_name"` Link string `json:"link"` }
type QuestionResponse ¶ added in v1.3.0
type QuestionResponse struct { Items []QuestionItems `json:"items"` HasMore bool `json:"has_more"` QuotaMax int `json:"quota_max"` QuotaRemaining int `json:"quota_remaining"` }
type RelatedUris ¶ added in v1.4.0
type RelationshipsAttributes ¶ added in v1.4.0
type RelationshipsEntity ¶ added in v1.4.0
type RelationshipsEntity struct { ID string `json:"id"` Type string `json:"type"` Attributes *RelationshipsAttributes `json:"attributes,omitempty"` }
type SEResponse ¶ added in v1.4.0
type SEResponse struct { Data struct { Repository struct { Name string `json:"name"` Owner struct { Login string `json:"login"` } `json:"owner"` Description *string `json:"description"` PrimaryLanguage struct { Name *string `json:"name"` } `json:"primaryLanguage"` } `json:"repository"` } `json:"data"` }
type ScryfallCardData ¶ added in v1.4.0
type ScryfallCardData struct { Rarity string `json:"rarity"` Artist string `json:"artist"` Frame string `json:"frame"` Power string `json:"power"` URI string `json:"uri"` ID string `json:"id"` TcgplayerID int `json:"tcgplayer_id"` Digital bool `json:"digital"` CMC int `json:"cmc"` PennyRank int `json:"penny_rank"` Preview Preview `json:"preview"` CollectorNumber string `json:"collector_number"` Layout string `json:"layout"` SetID string `json:"set_id"` FullArt bool `json:"full_art"` Nonfoil bool `json:"nonfoil"` Textless bool `json:"textless"` BorderColor string `json:"border_color"` SetURI string `json:"set_uri"` Finishes []string `json:"finishes"` SetSearchURI string `json:"set_search_uri"` Legalities Legalities `json:"legalities"` IllustrationID string `json:"illustration_id"` Games []string `json:"games"` OracleID string `json:"oracle_id"` OracleText string `json:"oracle_text"` ImageStatus string `json:"image_status"` Reserved bool `json:"reserved"` MtgoID int `json:"mtgo_id"` ManaCost string `json:"mana_cost"` PrintsSearchURI string `json:"prints_search_uri"` Colors []string `json:"colors"` Name string `json:"name"` CardmarketID int `json:"cardmarket_id"` RelatedUris RelatedUris `json:"related_uris"` CardBackID string `json:"card_back_id"` Oversized bool `json:"oversized"` ScryfallSetURI string `json:"scryfall_set_uri"` ColorIdentity []string `json:"color_identity"` TypeLine string `json:"type_line"` PurchaseUris PurchaseUris `json:"purchase_uris"` Object string `json:"object"` ScryfallURI string `json:"scryfall_uri"` SetName string `json:"set_name"` EdhrecRank int `json:"edhrec_rank"` MultiverseIDs []int `json:"multiverse_ids"` Set string `json:"set"` Foil bool `json:"foil"` ReleasedAt string `json:"released_at"` RulingsURI string `json:"rulings_uri"` Toughness string `json:"toughness"` ImageUris ImageUris `json:"image_uris"` CardFaces []CardFaces `json:"card_faces"` Promo bool `json:"promo"` Booster bool `json:"booster"` StorySpotlight bool `json:"story_spotlight"` SetType string `json:"set_type"` Variation bool `json:"variation"` Keywords []string `json:"keywords"` ArtistIDs []string `json:"artist_ids"` FlavorText string `json:"flavor_text"` Prices Prices `json:"prices"` HighresImage bool `json:"highres_image"` Lang string `json:"lang"` Reprint bool `json:"reprint"` }
type TVShow ¶ added in v1.4.0
type TVShow struct { Adult bool `json:"adult"` BackdropPath string `json:"backdrop_path"` CreatedBy []struct { ID int `json:"id"` CreditID string `json:"credit_id"` Name string `json:"name"` Gender int `json:"gender"` ProfilePath string `json:"profile_path"` } `json:"created_by"` EpisodeRunTime []int `json:"episode_run_time"` FirstAirDate string `json:"first_air_date"` Genres []struct { ID int `json:"id"` Name string `json:"name"` } `json:"genres"` Homepage string `json:"homepage"` ID int `json:"id"` InProduction bool `json:"in_production"` Languages []string `json:"languages"` LastAirDate string `json:"last_air_date"` LastEpisodeToAir struct { ID int `json:"id"` Name string `json:"name"` Overview string `json:"overview"` VoteAverage float64 `json:"vote_average"` VoteCount int `json:"vote_count"` AirDate string `json:"air_date"` EpisodeNumber int `json:"episode_number"` ProductionCode string `json:"production_code"` Runtime int `json:"runtime"` SeasonNumber int `json:"season_number"` ShowID int `json:"show_id"` StillPath string `json:"still_path"` } `json:"last_episode_to_air"` Name string `json:"name"` Networks []struct { ID int `json:"id"` LogoPath string `json:"logo_path"` Name string `json:"name"` OriginCountry string `json:"origin_country"` } `json:"networks"` NumberOfEpisodes int `json:"number_of_episodes"` NumberOfSeasons int `json:"number_of_seasons"` OriginCountry []string `json:"origin_country"` OriginalLanguage string `json:"original_language"` OriginalName string `json:"original_name"` Overview string `json:"overview"` Popularity float64 `json:"popularity"` PosterPath string `json:"poster_path"` ProductionCompanies []struct { ID int `json:"id"` LogoPath string `json:"logo_path"` Name string `json:"name"` OriginCountry string `json:"origin_country"` } `json:"production_companies"` ProductionCountries []struct { ISO31661 string `json:"iso_3166_1"` Name string `json:"name"` } `json:"production_countries"` Seasons []struct { AirDate string `json:"air_date"` EpisodeCount int `json:"episode_count"` ID int `json:"id"` Name string `json:"name"` Overview string `json:"overview"` PosterPath string `json:"poster_path"` SeasonNumber int `json:"season_number"` } `json:"seasons"` SpokenLanguages []struct { EnglishName string `json:"english_name"` ISO6391 string `json:"iso_639_1"` Name string `json:"name"` } `json:"spoken_languages"` Status string `json:"status"` Tagline string `json:"tagline"` Type string `json:"type"` VoteAverage float64 `json:"vote_average"` VoteCount int `json:"vote_count"` }
type TagsAttributes ¶ added in v1.4.0
type TagsAttributes struct { Name NameOrTitle `json:"name"` Description string `json:"description,omitempty"` Group string `json:"group"` Version int `json:"version"` }
type TagsEntity ¶ added in v1.4.0
type TagsEntity struct { ID string `json:"id"` Type string `json:"type"` Attributes TagsAttributes `json:"attributes"` Relationships []interface{} `json:"relationships,omitempty"` }
type YouTubeAPIEndpoint ¶ added in v1.4.0
type YouTubeResponse ¶ added in v1.4.0
type YouTubeResponse struct { Kind string `json:"kind"` Etag string `json:"etag"` Items []struct { Kind string `json:"kind"` Etag string `json:"etag"` ID string `json:"id"` Snippet struct { PublishedAt string `json:"publishedAt"` ChannelID string `json:"channelId"` Title string `json:"title"` Description string `json:"description"` Thumbnails struct { Default struct { URL string `json:"url"` Width int `json:"width"` Height int `json:"height"` } `json:"default"` Medium struct { URL string `json:"url"` Width int `json:"width"` Height int `json:"height"` } `json:"medium"` High struct { URL string `json:"url"` Width int `json:"width"` Height int `json:"height"` } `json:"high"` Standard struct { URL string `json:"url"` Width int `json:"width"` Height int `json:"height"` } `json:"standard"` Maxres struct { URL string `json:"url"` Width int `json:"width"` Height int `json:"height"` } `json:"maxres"` } `json:"thumbnails"` ChannelTitle string `json:"channelTitle"` Tags []string `json:"tags"` CategoryID string `json:"categoryId"` LiveBroadcastContent string `json:"liveBroadcastContent"` DefaultLanguage string `json:"defaultLanguage"` Localized struct { Title string `json:"title"` Description string `json:"description"` } `json:"localized"` DefaultAudioLanguage string `json:"defaultAudioLanguage"` } `json:"snippet"` } `json:"items"` PageInfo struct { TotalResults int `json:"totalResults"` ResultsPerPage int `json:"resultsPerPage"` } `json:"pageInfo"` }
Click to show internal directories.
Click to hide internal directories.