str

package
v1.0.9 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 13, 2024 License: MIT Imports: 11 Imported by: 0

Documentation

Overview

Package str used for structs

Package str used for structs

Package str used for structs

Package str used for structs

Package str used for structs

Package str used for structs

Package str used for structs

Package str used for structs

Package str used for structs

Package str used for structs

Package str used for structs

Package str used for structs

Package str used for structs

Package str used for structs

Package str used for structs

Package str used for structs

Package str used for structs

Package str used for structs

Package str used for structs

Package str used for structs

Package str used for structs

Package str used for structs

Package str used for structs

Package str used for structs

Package str used for structs

Package str used for structs

Package str used for structs

Package str used for structs

Package str used for structs

Package str used for structs

Package str used for structs

Package str used for structs

Package str used for structs

Package str used for structs

Package str used for structs

Package str used for structs

Package str used for structs

Package str used for structs

Index

Constants

This section is empty.

Variables

View Source
var Headers = map[string]any{
	"Accept":            "application/json",
	"Content-Type":      "application/json",
	"User-Agent":        "Trakt exporter",
	"Connection":        "Keep-Alive",
	"trakt-api-version": "2",
	"trakt-api-key":     "",
	"Authorization":     "",
}

Headers map with headers

Functions

func Bool

func Bool(v bool) *bool

Bool is a helper routine that allocates a new bool value to store v and returns a pointer to it.

func ContainInt

func ContainInt(key int, s []int) bool

ContainInt check if int exists in slice

func ContainString

func ContainString(key string, s []string) bool

ContainString check if string exists in slice

func Format

func Format(pattern string, args ...any) string

Format helper function for Fomat in stringFormatter

func Formatc

func Formatc(pattern string, data map[string]any) string

Formatc helper function for FormatComplex in stringFormatter

func Int

func Int(v int) *int

Int is a helper routine that allocates a new int value to store v and returns a pointer to it.

func Int64

func Int64(v int64) *int64

Int64 is a helper routine that allocates a new int64 value to store v and returns a pointer to it.

func String

func String(v string) *string

String is a helper routine that allocates a new string value to store v and returns a pointer to it.

func Stringify

func Stringify(message any) string

Stringify attempts to create a reasonable string representation of types in the Trakt library. It does things like resolve pointers to their values and omits struct fields with nil values. inspired by the go-github library.

Types

type Air

type Air struct {
	Day      *string `json:"day,omitempty"`
	Time     *string `json:"time,omitempty"`
	TimeZone *string `json:"timezone,omitempty"`
}

Air represents JSON response for media object

func (Air) String

func (a Air) String() string

type Avatar

type Avatar struct {
	Full *string `json:"full,omitempty"`
}

Avatar represents JSON avatar object

type CalendarList

type CalendarList struct {
	Released   *string    `json:"released,omitempty"`
	FirstAired *Timestamp `json:"first_aired,omitempty"`
	Episode    *Episode   `json:"episode,omitempty"`
	Show       *Show      `json:"show,omitempty"`
	Movie      *Movie     `json:"movie,omitempty"`
}

CalendarList represents JSON calendar list item

func (CalendarList) String

func (c CalendarList) String() string

type Character

type Character struct {
	Character     *string   `json:"character,omitempty"`
	Characters    *[]string `json:"characters,omitempty"`
	EpisodeCount  *int      `json:"episode_count,omitempty"`
	SeriesRegular *bool     `json:"series_regular,omitempty"`
	Movie         *Movie    `json:"movie,omitempty"`
	Show          *Show     `json:"show,omitempty"`
}

Character represents JSON character object

func (Character) String

func (c Character) String() string

type Crew

type Crew struct {
	Writing    *[]Job `json:"writing,omitempty"`
	Directing  *[]Job `json:"directing,omitempty"`
	Production *[]Job `json:"production,omitempty"`
}

Crew represents JSON crew object

func (Crew) String

func (c Crew) String() string

type CurrentDeviceToken

type CurrentDeviceToken struct {
	RefreshToken *string `json:"refresh_token"`
	ClientID     *string `json:"client_id"`
	ClientSecret *string `json:"client_secret"`
	RedirectURI  *string `json:"redirect_uri"`
	GrantType    *string `json:"grant_type"`
}

CurrentDeviceToken represents JSON current device token object

type DeviceCode

type DeviceCode struct {
	DeviceCode      string `json:"device_code"`
	UserCode        string `json:"user_code"`
	VerificationURL string `json:"verification_url"`
	ExpiresIn       int    `json:"expires_in"`
	Interval        int    `json:"interval"`
}

DeviceCode represents JSON response for /device/code

type DeviceToken

type DeviceToken struct {
	AccessToken  *string `json:"access_token"`
	TokenType    *string `json:"token_type"`
	ExpiresIn    *int    `json:"expires_in"`
	RefreshToken *string `json:"refresh_token"`
	Scope        *string `json:"scope"`
	CreatedAt    *int    `json:"created_at"`
}

DeviceToken represents JSON response for /device/token

type Episode

type Episode struct {
	Season                *int       `json:"season,omitempty"`
	Number                *int       `json:"number,omitempty"`
	Title                 *string    `json:"title,omitempty"`
	IDs                   *IDs       `json:"ids,omitempty"`
	NumberAbs             *int       `json:"number_abs,omitempty"`
	Overview              *string    `json:"overview,omitempty"`
	Rating                *float32   `json:"rating,omitempty"`
	Votes                 *int       `json:"votes,omitempty"`
	CommentCount          *int       `json:"comment_count,omitempty"`
	FirstAired            *Timestamp `json:"first_aired,omitempty"`
	UpdatedAt             *Timestamp `json:"updated_at,omitempty"`
	AvailableTranslations *[]string  `json:"available_translations,omitempty"`
	Runtime               *int       `json:"runtime,omitempty"`
	EpisodeType           *string    `json:"episode_type,omitempty"`
}

Episode represents JSON response for media object

func (Episode) String

func (s Episode) String() string

type ErrorResponse

type ErrorResponse struct {
	Response *http.Response `json:"-"`       // HTTP response that caused this error
	Message  string         `json:"message"` // error message
}

ErrorResponse represents reponse with message

func (*ErrorResponse) Error

func (r *ErrorResponse) Error() string

type ExportlistItem

type ExportlistItem struct {
	Rank            *int       `json:"rank,omitempty"`
	ID              *int64     `json:"id,omitempty"`
	WatchedAt       *Timestamp `json:"watched_at,omitempty"`
	ListedAt        *Timestamp `json:"listed_at,omitempty"`
	CollectedAt     *Timestamp `json:"collected_at,omitempty"`
	LastCollectedAt *Timestamp `json:"last_collected_at,omitempty"`
	UpdatedAt       *Timestamp `json:"updated_at,omitempty"`
	LastUpdatedAt   *Timestamp `json:"last_updated_at,omitempty"`
	Notes           *string    `json:"notes,omitempty"`
	Type            *string    `json:"type,omitempty"`
	Movie           *Movie     `json:"movie,omitempty"`
	Show            *Show      `json:"show,omitempty"`
	Season          *Season    `json:"season,omitempty"`
	Episode         *Episode   `json:"episode,omitempty"`
	Metadata        *Metadata  `json:"metadata,omitempty"`
}

ExportlistItem represents JSON for list item

func (ExportlistItem) GetTime

func (i ExportlistItem) GetTime() *Timestamp

GetTime return Timestamp from item

func (ExportlistItem) String

func (i ExportlistItem) String() string

type ExportlistItemJSON

type ExportlistItemJSON struct {
	Title           *string    `json:"title,omitempty"`
	Trakt           *int64     `json:"trakt,omitempty"`
	Imdb            *string    `json:"imdb,omitempty"`
	Tmdb            *int       `json:"tmdb,omitempty"`
	Tvdb            *int       `json:"tvdb,omitempty"`
	WatchedAt       *Timestamp `json:"watched_at,omitempty"`
	ListedAt        *Timestamp `json:"listed_at,omitempty"`
	CollectedAt     *Timestamp `json:"collected_at,omitempty"`
	LastCollectedAt *Timestamp `json:"last_collected_at,omitempty"`
	UpdatedAt       *Timestamp `json:"updated_at,omitempty"`
	LastUpdatedAt   *Timestamp `json:"last_updated_at,omitempty"`
	Movie           *Movie     `json:"movie,omitempty"`
	Show            *Show      `json:"show,omitempty"`
	Season          *Season    `json:"season,omitempty"`
	Episode         *Episode   `json:"episode,omitempty"`
	Year            *int       `json:"year,omitempty"`
	Metadata        *Metadata  `json:"metadata,omitempty"`
}

ExportlistItemJSON represents JSON for list item

func (ExportlistItemJSON) String

func (i ExportlistItemJSON) String() string

func (*ExportlistItemJSON) Uptime added in v1.0.5

func (i *ExportlistItemJSON) Uptime(options *Options, data *ExportlistItem)

Uptime update item time fields

type HistoryListItem

type HistoryListItem struct {
	ID        *int64     `json:"id,omitempty"`
	WatchedAt *Timestamp `json:"watched_at,omitempty"`
	Action    *string    `json:"action,omitempty"`
	Type      *string    `json:"type,omitempty"`
	Movie     *Movie     `json:"movie,omitempty"`
	Episode   *Episode   `json:"episode,omitempty"`
	Show      *Show      `json:"show,omitempty"`
}

HistoryListItem represents JSON list object

func (HistoryListItem) String

func (h HistoryListItem) String() string

type IDs

type IDs struct {
	Trakt  *int64  `json:"trakt,omitempty"`
	Slug   *string `json:"slug,omitempty"`
	Imdb   *string `json:"imdb,omitempty"`
	Tmdb   *int    `json:"tmdb,omitempty"`
	Tvdb   *int    `json:"tvdb,omitempty"`
	Tvrage *string `json:"tvrage,omitempty"`
}

IDs represents JSON ids object with ids of object from other services

func (*IDs) HaveID

func (i *IDs) HaveID(key string) bool

HaveID checks if id for key exists in object

type Images

type Images struct {
	Avatar *Avatar `json:"avatar,omitempty"`
}

Images represents JSON images object

type Job

type Job struct {
	Job          *string   `json:"job,omitempty"`
	Jobs         *[]string `json:"jobs,omitempty"`
	EpisodeCount *int      `json:"episode_count,omitempty"`
	Show         *Show     `json:"show,omitempty"`
	Movie        *Movie    `json:"movie,omitempty"`
}

Job represents JSON crew member positions

func (Job) String

func (j Job) String() string

type Metadata

type Metadata struct {
	MediaType     *string `json:"media_type,omitempty"`
	Resolution    *string `json:"resolution,omitempty"`
	Hdr           *string `json:"hdr,omitempty"`
	Audio         *string `json:"audio,omitempty"`
	AudioChannels *string `json:"audio_channels,omitempty"`
	ThreeD        *bool   `json:"3d,omitempty"`
}

Metadata represents JSON media metadata object

func (Metadata) String

func (m Metadata) String() string

type Movie

type Movie struct {
	Title                 *string    `json:"title,omitempty"`
	Year                  *int       `json:"year,omitempty"`
	IDs                   *IDs       `json:"ids,omitempty"`
	Tagline               *string    `json:"tagline,omitempty"`
	Overview              *string    `json:"overview,omitempty"`
	Released              *string    `json:"released,omitempty"`
	Runtime               *int       `json:"runtime,omitempty"`
	Country               *string    `json:"country,omitempty"`
	Trailer               *string    `json:"trailer,omitempty"`
	Homepage              *string    `json:"homepage,omitempty"`
	Status                *string    `json:"status,omitempty"`
	Rating                *float32   `json:"rating,omitempty"`
	Votes                 *int       `json:"votes,omitempty"`
	CommentCount          *int       `json:"comment_count,omitempty"`
	UpdatedAt             *Timestamp `json:"updated_at,omitempty"`
	Language              *string    `json:"language,omitempty"`
	Languages             *[]string  `json:"languages,omitempty"`
	AvailableTranslations *[]string  `json:"available_translations,omitempty"`
	Genres                *[]string  `json:"genres,omitempty"`
	Certification         *string    `json:"certification,omitempty"`
}

Movie represents JSON movie object

func (Movie) String

func (m Movie) String() string

type NewDeviceCode

type NewDeviceCode struct {
	ClientID *string `json:"client_id"`
}

NewDeviceCode represents request new device code payload.

func (NewDeviceCode) String

func (d NewDeviceCode) String() string

type NewDeviceToken

type NewDeviceToken struct {
	Code         *string `json:"code"`
	ClientID     *string `json:"client_id"`
	ClientSecret *string `json:"client_secret"`
}

NewDeviceToken represents JSON when request for new token with code

type Options

type Options struct {
	Headers      map[string]any
	ExtendedInfo string
	List         string
	Type         string
	SearchIDType string
	StartDate    string
	Query        string
	Sort         string
	Module       string
	Action       string
	Format       string
	UserName     string
	Time         string
	ID           string
	Output       string
	SearchType   Slice
	SearchField  Slice
	Token        Token
	PerPage      int
	Days         int
	Verbose      bool
	Version      bool
}

Options represents a app opions.

type Person

type Person struct {
	Name               *string    `json:"name,omitempty"`
	IDs                *IDs       `json:"ids,omitempty"`
	SocialIDs          *SocialIDs `json:"social_ids,omitempty"`
	Biography          *string    `json:"biography,omitempty"`
	Birthday           *string    `json:"birthday,omitempty"`
	Death              *string    `json:"death,omitempty"`
	Birthplace         *string    `json:"birthplace,omitempty"`
	Homepage           *string    `json:"homepage,omitempty"`
	Gender             *string    `json:"gender,omitempty"`
	KnownForDepartment *string    `json:"known_for_department,omitempty"`
	UpdatedAt          *Timestamp `json:"updated_at,omitempty"`
}

Person represents JSON person object

func (Person) String

func (p Person) String() string

type PersonItem

type PersonItem struct {
	UpdatedAt *Timestamp `json:"updated_at,omitempty"`
	Person    *Person    `json:"person,omitempty"`
}

PersonItem represents JSON person object

func (PersonItem) String

func (p PersonItem) String() string

type PersonMovies

type PersonMovies struct {
	Cast *[]Character `json:"cast,omitempty"`
	Crew *Crew        `json:"crew,omitempty"`
}

PersonMovies represents JSON person movies object

func (PersonMovies) String

func (p PersonMovies) String() string

type PersonShows

type PersonShows struct {
	Cast *[]Character `json:"cast,omitempty"`
	Crew *Crew        `json:"crew,omitempty"`
}

PersonShows represents JSON cast and crew object for person

func (PersonShows) String

func (p PersonShows) String() string

type PersonalList

type PersonalList struct {
	Name           *string      `json:"name,omitempty"`
	Description    *string      `json:"description,omitempty"`
	Privacy        *string      `json:"privacy,omitempty"`
	ShareLink      *string      `json:"share_link,omitempty"`
	Type           *string      `json:"type,omitempty"`
	DisplayNumbers *bool        `json:"display_strings,omitempty"`
	AllowComments  *bool        `json:"allow_comments,omitempty"`
	SortBy         *string      `json:"sort_by,omitempty"`
	SortHow        *string      `json:"sort_how,omitempty"`
	CreatedAt      *Timestamp   `json:"created_at,omitempty"`
	UpdatedAt      *Timestamp   `json:"updated_at,omitempty"`
	ItemCount      *int         `json:"item_count,omitempty"`
	CommentCount   *int         `json:"comment_count,omitempty"`
	Likes          *int         `json:"likes,omitempty"`
	IDs            *IDs         `json:"ids,omitempty"`
	User           *UserProfile `json:"user,omitempty"`
}

PersonalList represents JSON personal list object

func (PersonalList) String

func (p PersonalList) String() string

type Podcast

type Podcast struct {
	Title *string `json:"title,omitempty"`
	Year  *int    `json:"year,omitempty"`
	IDs   *IDs    `json:"ids,omitempty"`
}

Podcast represents JSON podcast object

func (Podcast) String

func (p Podcast) String() string

type PodcastEpisode

type PodcastEpisode struct {
	Season *int    `json:"season,omitempty"`
	Number *int    `json:"number,omitempty"`
	Title  *string `json:"title,omitempty"`
	IDs    *IDs    `json:"ids,omitempty"`
}

PodcastEpisode represents JSON podcast episode object

func (PodcastEpisode) String

func (p PodcastEpisode) String() string

type Rate

type Rate struct {
	// The time at which the current rate limit will reset.
	Reset Timestamp `json:"reset"`
	// The number of requests per hour the client is currently limited to.
	Limit int `json:"limit"`
	// The number of remaining requests the client can make this hour.
	Remaining int `json:"remaining"`
}

Rate represents the rate limit for the current client.

func (Rate) String

func (r Rate) String() string

type Response

type Response struct {
	*http.Response
	// Explicitly specify the Rate type so Rate's String() receiver doesn't
	// propagate to Response.
	Rate Rate
}

Response http object

type SearchListItem

type SearchListItem struct {
	Type           *string         `json:"type,omitempty"`
	Score          *float32        `json:"score,omitempty"`
	Movie          *Movie          `json:"movie,omitempty"`
	Show           *Show           `json:"show,omitempty"`
	Episode        *Episode        `json:"episode,omitempty"`
	Person         *Person         `json:"person,omitempty"`
	List           *PersonalList   `json:"list,omitempty"`
	PodcastEpisode *PodcastEpisode `json:"podcast_episode,omitempty"`
	Podcast        *Podcast        `json:"podcast,omitempty"`
}

SearchListItem represents JSON search response object

func (SearchListItem) String

func (i SearchListItem) String() string

type Season

type Season struct {
	Number *int `json:"number,omitempty"`
	IDs    *IDs `json:"ids,omitempty"`
}

Season represents JSON season object

func (Season) String

func (s Season) String() string

type Show

type Show struct {
	Title                 *string    `json:"title,omitempty"`
	Year                  *int       `json:"year,omitempty"`
	IDs                   *IDs       `json:"ids,omitempty"`
	Tagline               *string    `json:"tagline,omitempty"`
	Overview              *string    `json:"overview,omitempty"`
	FirstAired            *Timestamp `json:"first_aired,omitempty"`
	Airs                  *Air       `json:"airs,omitempty"`
	Runtime               *int       `json:"runtime,omitempty"`
	Certification         *string    `json:"certification,omitempty"`
	Network               *string    `json:"network,omitempty"`
	Country               *string    `json:"country,omitempty"`
	Trailer               *string    `json:"trailer,omitempty"`
	Homepage              *string    `json:"homepage,omitempty"`
	Status                *string    `json:"status,omitempty"`
	Rating                *float32   `json:"rating,omitempty"`
	Votes                 *int       `json:"votes,omitempty"`
	CommentCount          *int       `json:"comment_count,omitempty"`
	UpdatedAt             *Timestamp `json:"updated_at,omitempty"`
	Language              *string    `json:"language,omitempty"`
	Languages             *[]string  `json:"languages,omitempty"`
	AvailableTranslations *[]string  `json:"available_translations,omitempty"`
	Genres                *[]string  `json:"genres,omitempty"`
	AiredEpisodes         *int       `json:"aired_episodes,omitempty"`
}

Show represents JSON show object

func (Show) String

func (s Show) String() string

type Slice

type Slice []string

Slice as a slice of strings

func (*Slice) Set

func (i *Slice) Set(value string) error

Set add element to slice

func (*Slice) String

func (i *Slice) String() string

Get string value of slice

type SocialIDs

type SocialIDs struct {
	Twitter   *string `json:"twitter,omitempty"`
	Facebook  *string `json:"facebook,omitempty"`
	Instagram *string `json:"instagram,omitempty"`
	Wikipedia *string `json:"wikipedia,omitempty"`
}

SocialIDs represents JSON object with social media handlers

func (SocialIDs) String

func (s SocialIDs) String() string

type Timestamp

type Timestamp struct {
	time.Time
}

Timestamp object

func (Timestamp) String

func (t Timestamp) String() string

type Token

type Token struct {
	AccessToken  string `json:"access_token"`
	TokenType    string `json:"token_type"`
	RefreshToken string `json:"refresh_token"`
	Scope        string `json:"scope"`
	ExpiresIn    int    `json:"expires_in"`
	CreatedAt    int    `json:"created_at"`
}

Token represents JSON token object

func (*Token) ExpirationPoint

func (t *Token) ExpirationPoint() time.Time

ExpirationPoint return point in time with nanosecond precision for token

func (*Token) Expired

func (t *Token) Expired() bool

Expired check if token is expired

func (*Token) ExpiritySeconds

func (t *Token) ExpiritySeconds() int

ExpiritySeconds return number of seconds to token expire

type TokenInterface

type TokenInterface interface {
	Expired() bool
	ExpiritySeconds() int
	ExpirationPoint() time.Time
}

TokenInterface methods for tokens

type UserListItem

type UserListItem struct {
	Rank     *int       `json:"rank,omitempty"`
	ID       *int       `json:"id,omitempty"`
	ListedAt *Timestamp `json:"listed_at,omitempty"`
	Notes    *string    `json:"notes,omitempty"`
	Type     *string    `json:"type,omitempty"`
	Movie    *Movie     `json:"movie,omitempty"`
	Show     *Show      `json:"show,omitempty"`
	Season   *Season    `json:"season,omitempty"`
	Episode  *Episode   `json:"episode,omitempty"`
	Person   *Person    `json:"person,omitempty"`
}

UserListItem represents JSON user personal list item object

func (UserListItem) String

func (i UserListItem) String() string

type UserProfile

type UserProfile struct {
	Userame       *string    `json:"username,omitempty"`
	Private       *bool      `json:"private,omitempty"`
	Name          *string    `json:"name,omitempty"`
	Vip           *bool      `json:"vip,omitempty"`
	VipEp         *bool      `json:"vip_ep,omitempty"`
	IDs           *IDs       `json:"ids,omitempty"`
	JoinedAt      *Timestamp `json:"joined_at,omitempty"`
	Location      *string    `json:"location,omitempty"`
	About         *string    `json:"about,omitempty"`
	Gender        *string    `json:"gender,omitempty"`
	Age           *int       `json:"age,omitempty"`
	Images        *Images    `json:"images,omitempty"`
	VipOg         *bool      `json:"vip_og,omitempty"`
	VipYears      *int       `json:"vip_years,omitempty"`
	VipCoverImage *string    `json:"vip_cover_image,omitempty"`
}

UserProfile represents JSON user profile object

func (UserProfile) String

func (u UserProfile) String() string

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL