Documentation ¶
Index ¶
- Constants
- Variables
- func CheckErrors(errs ...error) error
- func GazelleArtistRole(value int) string
- func GazelleArtistRoleByLabel(value string) int
- func GazelleReleaseType(value int) string
- func GazelleReleaseTypeByLabel(value string) int
- func IsValidTorrentType(tt string) bool
- func MarshallResponse(response interface{}) ([]byte, error)
- func ShortEdition(edition string) string
- func ShortEncoding(encoding string) string
- type Artist
- type BibUploadForm
- type Bibliotik
- type CollageInfo
- type Gazelle
- func (t *Gazelle) AddGroupTags(torrentGroupID int, tags []string) error
- func (t *Gazelle) CopyTagsFromRequest(requestID, torrentGroupID int) error
- func (t *Gazelle) Download(id int, useFLToken bool, destinationFolder, torrentFilename string) error
- func (t *Gazelle) EditTorrentDescription(torrentID int, description string) error
- func (t *Gazelle) EditTorrentGroupDescription(torrentGroupID int, description, coverURL string) error
- func (t *Gazelle) FillRequest(requestID, torrentID int) error
- func (t *Gazelle) GetAllLeechingUserTorrents(userID int) (*UserTorrents, error)
- func (t *Gazelle) GetAllSeedingUserTorrents(userID int) (*UserTorrents, error)
- func (t *Gazelle) GetAllSnatchedUserTorrents(userID int) (*UserTorrents, error)
- func (t *Gazelle) GetAllUploadedUserTorrents(userID int) (*UserTorrents, error)
- func (t *Gazelle) GetAllUserTorrents(torrentType string, userID int) (*UserTorrents, error)
- func (t *Gazelle) GetArtist(artistID int) (*GazelleArtist, error)
- func (t *Gazelle) GetCollage(id int) (*GazelleCollage, error)
- func (t *Gazelle) GetGroupEditInformation(torrentGroupID int) (string, string, string, error)
- func (t *Gazelle) GetInbox(pageNumber int, inboxType string, sort bool, search, searchType string) (*GazelleInbox, error)
- func (t *Gazelle) GetInboxConversation(convID int) (*GazelleInboxConversation, error)
- func (t *Gazelle) GetIndex() (*GazelleIndex, error)
- func (t *Gazelle) GetLastUploadedToTorrentGroup(torrentGroupID int) (int, error)
- func (t *Gazelle) GetLeechingUserTorrents(userID, number, offset int) (*UserTorrents, error)
- func (t *Gazelle) GetLogScore(logPath string) (*LogChecker, error)
- func (t *Gazelle) GetLoggedUserStats() (*GazelleUserStats, error)
- func (t *Gazelle) GetRequest(requestID int) (*GazelleRequest, error)
- func (t *Gazelle) GetSeedingUserTorrents(userID, number, offset int) (*UserTorrents, error)
- func (t *Gazelle) GetSnatchedUserTorrents(userID, number, offset int) (*UserTorrents, error)
- func (t *Gazelle) GetTorrent(torrentID int) (*GazelleTorrent, error)
- func (t *Gazelle) GetTorrentByHash(hash string) (*GazelleTorrent, error)
- func (t *Gazelle) GetTorrentFromFile(torrentPath string) (*GazelleTorrent, error)
- func (t *Gazelle) GetTorrentGroup(torrentGroupID int) (*GazelleTorrentGroup, error)
- func (t *Gazelle) GetUploadedUserTorrents(userID, number, offset int) (*UserTorrents, error)
- func (t *Gazelle) GetUserStats(userID int) (*GazelleUserStats, error)
- func (t *Gazelle) GetUserTorrents(torrentType string, userID, number, offset int) (*UserTorrents, error)
- func (t *Gazelle) IsTorrentDeleted(torrentID int) (bool, string, error)
- func (t *Gazelle) Login() error
- func (t *Gazelle) Search(artist, title string) (*GazelleSearch, error)
- func (t *Gazelle) SearchRequest(artist, title string) (*GazelleRequestSearch, error)
- func (t *Gazelle) UploadMusic(torrentPath string, logFiles []string, metadata *GazelleTorrent) (int, error)
- func (t *Gazelle) UploadMusicToExistingGroup(torrentGroupID int, torrentPath string, logFiles []string, ...) (int, error)
- type GazelleArtist
- type GazelleArtistResponse
- type GazelleCollage
- type GazelleCollageResponse
- type GazelleGenericResponse
- type GazelleInbox
- type GazelleInboxConversation
- type GazelleInboxConversationResponse
- type GazelleInboxResponse
- type GazelleIndex
- type GazelleIndexResponse
- type GazelleRequest
- type GazelleRequestResponse
- type GazelleRequestSearch
- type GazelleRequestSearchResponse
- type GazelleSearch
- type GazelleSearchResponse
- type GazelleTorrent
- type GazelleTorrentGroup
- type GazelleTorrentGroupResponse
- type GazelleTorrentResponse
- type GazelleUserStats
- type GazelleUserStatsResponse
- type LogChecker
- type LogCheckerResponse
- type RequestSearchResult
- type Tracker
- type UserTorrent
- type UserTorrents
- type UserTorrentsResponse
Constants ¶
View Source
const ( EPUBFormat = "15" ErrorUploadFailed = "upload failed" )
View Source
const ( FormatFLAC = "FLAC" FormatMP3 = "MP3" FormatAAC = "AAC" FormatAC3 = "AC3" FormatDTS = "DTS" SourceCD = "CD" SourceWEB = "WEB" SourceDVD = "DVD" SourceVinyl = "Vinyl" SourceSoundboard = "Soundboard" SourceDAT = "DAT" SourceCassette = "Cassette" SourceBluRay = "Blu-Ray" SourceSACD = "SACD" Quality192 = "192" Quality256 = "256" Quality320 = "320" QualityAPS = "APS (VBR)" QualityAPX = "APX (VBR)" QualityV2 = "V2 (VBR)" QualityV1 = "V1 (VBR)" QualityV0 = "V0 (VBR)" QualityLossless = "Lossless" Quality24bitLossless = "24bit Lossless" ReleaseAlbum = "Album" ReleaseSoundtrack = "Soundtrack" ReleaseEP = "EP" ReleaseAnthology = "Anthology" ReleaseCompilation = "Compilation" ReleaseSingle = "Single" ReleaseLive = "Live album" ReleaseRemix = "Remix" ReleaseBootleg = "Bootleg" ReleaseInterview = "Interview" ReleaseMixtape = "Mixtape" ReleaseDemo = "Demo" ReleaseConcert = "Concert Recording" ReleaseDJMix = "DJ Mix" ReleaseUnknown = "Unknown" RoleMain = "Main" RoleGuest = "Guest" RoleComposer = "Composer" RoleConductor = "Conductor" RoleDJ = "DJ / Compiler" RoleRemixer = "Remixer" RoleProducer = "Producer" TrackPattern = `(.*[.flac|.FLAC|.mp3|.MP3]){{{(\d*)}}}` VariousArtists = "Various Artists" )
Variables ¶
View Source
var ( KnownReleaseTypes = []string{ReleaseAlbum, ReleaseSoundtrack, ReleaseEP, ReleaseAnthology, ReleaseCompilation, ReleaseSingle, ReleaseLive, ReleaseRemix, ReleaseBootleg, ReleaseInterview, ReleaseMixtape, ReleaseDemo, ReleaseConcert, ReleaseDJMix, ReleaseUnknown} KnownFormats = []string{FormatFLAC, FormatMP3, FormatAAC, FormatAC3, FormatDTS} KnownSources = []string{SourceCD, SourceWEB, SourceVinyl, SourceBluRay, SourceCassette, SourceDVD, SourceDAT, SourceSoundboard, SourceSACD} KnownQualities = []string{Quality192, Quality256, Quality320, QualityAPS, QualityAPX, QualityV2, QualityV1, QualityV0, QualityLossless, Quality24bitLossless} )
Functions ¶
func CheckErrors ¶
CheckErrors and return the first non-nil one.
func GazelleArtistRole ¶ added in v0.5.0
func GazelleArtistRoleByLabel ¶ added in v0.5.0
func GazelleReleaseType ¶ added in v0.3.0
func GazelleReleaseTypeByLabel ¶ added in v0.5.0
func IsValidTorrentType ¶ added in v0.8.0
func MarshallResponse ¶ added in v0.8.0
func ShortEdition ¶ added in v0.2.0
func ShortEncoding ¶ added in v0.2.0
Types ¶
type BibUploadForm ¶
type BibUploadForm struct { TorrentFileField string TitleField string EditorsField string ContributorsField string TranslatorsField string PublishersField string PagesField string AuthorsField string FormatField string // EPUB == "15" IsbnField string TagsField string DescriptionField string RetailField string // retail == "1" NotifyField string // default "1" LanguageField string // english == "1" YearField string ImageField string AnonymousField string // default "0" SupplementsField string // default "0" }
BibUploadForm tracks all of the upload form fields.
func NewDefaultBibUploadForm ¶
func NewDefaultBibUploadForm() *BibUploadForm
func (*BibUploadForm) ShowInfo ¶
func (uf *BibUploadForm) ShowInfo() string
ShowInfo returns a table with relevant information about a book.
type Bibliotik ¶ added in v0.3.0
type Bibliotik struct {
Tracker
}
func NewBibliotik ¶ added in v0.3.0
func (*Bibliotik) GetAnnounceURL ¶ added in v0.8.0
func (*Bibliotik) Upload ¶ added in v0.3.0
func (t *Bibliotik) Upload(uf *BibUploadForm) error
type CollageInfo ¶ added in v0.8.0
type Gazelle ¶ added in v0.3.0
type Gazelle struct { Tracker // contains filtered or unexported fields }
Gazelle allows querying the Gazelle JSON API.
func NewGazelle ¶ added in v0.2.0
func (*Gazelle) AddGroupTags ¶ added in v0.7.0
func (*Gazelle) CopyTagsFromRequest ¶ added in v0.7.0
CopyTagsFromRequest without doing any checks on whether the two are related.
func (*Gazelle) EditTorrentDescription ¶ added in v0.5.0
func (*Gazelle) EditTorrentGroupDescription ¶ added in v0.5.0
func (*Gazelle) FillRequest ¶ added in v0.5.0
func (*Gazelle) GetAllLeechingUserTorrents ¶ added in v0.8.0
func (t *Gazelle) GetAllLeechingUserTorrents(userID int) (*UserTorrents, error)
func (*Gazelle) GetAllSeedingUserTorrents ¶ added in v0.8.0
func (t *Gazelle) GetAllSeedingUserTorrents(userID int) (*UserTorrents, error)
func (*Gazelle) GetAllSnatchedUserTorrents ¶ added in v0.8.0
func (t *Gazelle) GetAllSnatchedUserTorrents(userID int) (*UserTorrents, error)
func (*Gazelle) GetAllUploadedUserTorrents ¶ added in v0.8.0
func (t *Gazelle) GetAllUploadedUserTorrents(userID int) (*UserTorrents, error)
func (*Gazelle) GetAllUserTorrents ¶ added in v0.8.0
func (t *Gazelle) GetAllUserTorrents(torrentType string, userID int) (*UserTorrents, error)
func (*Gazelle) GetArtist ¶ added in v0.3.0
func (t *Gazelle) GetArtist(artistID int) (*GazelleArtist, error)
func (*Gazelle) GetCollage ¶ added in v0.8.0
func (t *Gazelle) GetCollage(id int) (*GazelleCollage, error)
func (*Gazelle) GetGroupEditInformation ¶ added in v0.7.3
func (*Gazelle) GetInboxConversation ¶ added in v0.8.0
func (t *Gazelle) GetInboxConversation(convID int) (*GazelleInboxConversation, error)
func (*Gazelle) GetIndex ¶ added in v0.8.0
func (t *Gazelle) GetIndex() (*GazelleIndex, error)
func (*Gazelle) GetLastUploadedToTorrentGroup ¶ added in v0.7.6
func (*Gazelle) GetLeechingUserTorrents ¶ added in v0.8.0
func (t *Gazelle) GetLeechingUserTorrents(userID, number, offset int) (*UserTorrents, error)
func (*Gazelle) GetLogScore ¶ added in v0.3.0
func (t *Gazelle) GetLogScore(logPath string) (*LogChecker, error)
func (*Gazelle) GetLoggedUserStats ¶ added in v0.3.0
func (t *Gazelle) GetLoggedUserStats() (*GazelleUserStats, error)
func (*Gazelle) GetRequest ¶ added in v0.5.0
func (t *Gazelle) GetRequest(requestID int) (*GazelleRequest, error)
GetRequest information from the API
func (*Gazelle) GetSeedingUserTorrents ¶ added in v0.8.0
func (t *Gazelle) GetSeedingUserTorrents(userID, number, offset int) (*UserTorrents, error)
func (*Gazelle) GetSnatchedUserTorrents ¶ added in v0.8.0
func (t *Gazelle) GetSnatchedUserTorrents(userID, number, offset int) (*UserTorrents, error)
func (*Gazelle) GetTorrent ¶ added in v0.3.0
func (t *Gazelle) GetTorrent(torrentID int) (*GazelleTorrent, error)
func (*Gazelle) GetTorrentByHash ¶ added in v0.7.5
func (t *Gazelle) GetTorrentByHash(hash string) (*GazelleTorrent, error)
func (*Gazelle) GetTorrentFromFile ¶ added in v0.7.5
func (t *Gazelle) GetTorrentFromFile(torrentPath string) (*GazelleTorrent, error)
func (*Gazelle) GetTorrentGroup ¶ added in v0.3.0
func (t *Gazelle) GetTorrentGroup(torrentGroupID int) (*GazelleTorrentGroup, error)
func (*Gazelle) GetUploadedUserTorrents ¶ added in v0.8.0
func (t *Gazelle) GetUploadedUserTorrents(userID, number, offset int) (*UserTorrents, error)
func (*Gazelle) GetUserStats ¶ added in v0.3.0
func (t *Gazelle) GetUserStats(userID int) (*GazelleUserStats, error)
func (*Gazelle) GetUserTorrents ¶ added in v0.8.0
func (t *Gazelle) GetUserTorrents(torrentType string, userID, number, offset int) (*UserTorrents, error)
func (*Gazelle) IsTorrentDeleted ¶ added in v0.3.0
func (*Gazelle) Search ¶ added in v0.5.0
func (t *Gazelle) Search(artist, title string) (*GazelleSearch, error)
Search for releases from the API
func (*Gazelle) SearchRequest ¶ added in v0.5.0
func (t *Gazelle) SearchRequest(artist, title string) (*GazelleRequestSearch, error)
SearchRequest information from the API
func (*Gazelle) UploadMusic ¶ added in v0.5.0
func (*Gazelle) UploadMusicToExistingGroup ¶ added in v0.5.0
type GazelleArtist ¶ added in v0.2.0
type GazelleArtist struct { Body string `json:"body"` HasBookmarked bool `json:"hasBookmarked"` ID int `json:"id"` Image string `json:"image"` Name string `json:"name"` NotificationsEnabled bool `json:"notificationsEnabled"` Requests []struct { Bounty int `json:"bounty"` CategoryID int `json:"categoryId"` RequestID int `json:"requestId"` TimeAdded string `json:"timeAdded"` Title string `json:"title"` Votes int `json:"votes"` Year int `json:"year"` } `json:"requests"` SimilarArtists []struct { ArtistID int `json:"artistId"` Name string `json:"name"` Score int `json:"score"` SimilarID int `json:"similarId"` } `json:"similarArtists"` Statistics struct { NumGroups int `json:"numGroups"` NumLeechers int `json:"numLeechers"` NumSeeders int `json:"numSeeders"` NumSnatches int `json:"numSnatches"` NumTorrents int `json:"numTorrents"` } `json:"statistics"` Tags []struct { Count int `json:"count"` Name string `json:"name"` } `json:"tags"` Torrentgroup []struct { Artists []struct { Aliasid int `json:"aliasid"` ID int `json:"id"` Name string `json:"name"` } `json:"artists"` ExtendedArtists struct { One []struct { Aliasid int `json:"aliasid"` ID int `json:"id"` Name string `json:"name"` } `json:"1"` Two []struct { Aliasid int `json:"aliasid"` ID int `json:"id"` Name string `json:"name"` } `json:"2"` Three []struct { Aliasid int `json:"aliasid"` ID int `json:"id"` Name string `json:"name"` } `json:"3"` Four []struct { Aliasid int `json:"aliasid"` ID int `json:"id"` Name string `json:"name"` } `json:"4"` Five []struct { Aliasid int `json:"aliasid"` ID int `json:"id"` Name string `json:"name"` } `json:"5"` Six []struct { Aliasid int `json:"aliasid"` ID int `json:"id"` Name string `json:"name"` } `json:"6"` Seven []struct { Aliasid int `json:"aliasid"` ID int `json:"id"` Name string `json:"name"` } `json:"7"` } `json:"extendedArtists"` GroupCatalogueNumber string `json:"groupCatalogueNumber"` GroupCategoryID string `json:"groupCategoryID"` GroupID int `json:"groupId"` GroupName string `json:"groupName"` GroupRecordLabel string `json:"groupRecordLabel"` GroupVanityHouse bool `json:"groupVanityHouse"` GroupYear int `json:"groupYear"` HasBookmarked bool `json:"hasBookmarked"` ReleaseType int `json:"releaseType"` Tags []string `json:"tags"` Torrent []struct { Encoding string `json:"encoding"` FileCount int `json:"fileCount"` Format string `json:"format"` FreeTorrent bool `json:"freeTorrent"` GroupID int `json:"groupId"` HasCue bool `json:"hasCue"` HasFile int `json:"hasFile"` HasLog bool `json:"hasLog"` ID int `json:"id"` Leechers int `json:"leechers"` LogScore int `json:"logScore"` Media string `json:"media"` RemasterRecordLabel string `json:"remasterRecordLabel"` RemasterTitle string `json:"remasterTitle"` RemasterYear int `json:"remasterYear"` Remastered bool `json:"remastered"` Scene bool `json:"scene"` Seeders int `json:"seeders"` Size int `json:"size"` Snatched int `json:"snatched"` Time string `json:"time"` } `json:"torrent"` WikiImage string `json:"wikiImage"` } `json:"torrentgroup"` VanityHouse bool `json:"vanityHouse"` }
type GazelleArtistResponse ¶ added in v0.8.0
type GazelleArtistResponse struct { Response GazelleArtist `json:"response"` Status string `json:"status"` Error string `json:"error"` }
type GazelleCollage ¶ added in v0.8.0
type GazelleCollage struct { CollageCategoryID int `json:"collageCategoryID"` CollageCategoryName string `json:"collageCategoryName"` CreatorID int `json:"creatorID"` Deleted bool `json:"deleted"` Description string `json:"description"` HasBookmarked bool `json:"hasBookmarked"` ID int `json:"id"` Locked bool `json:"locked"` MaxGroups int `json:"maxGroups"` MaxGroupsPerUser int `json:"maxGroupsPerUser"` Name string `json:"name"` SubscriberCount int `json:"subscriberCount"` TorrentGroupIDList []string `json:"torrentGroupIDList"` Torrentgroups []struct { CatalogueNumber string `json:"catalogueNumber"` CategoryID string `json:"categoryId"` ID string `json:"id"` MusicInfo struct { Artists []Artist `json:"artists"` Composers []Artist `json:"composers"` Conductor []Artist `json:"conductor"` Dj []Artist `json:"dj"` Producer []Artist `json:"producer"` RemixedBy []Artist `json:"remixedBy"` With []Artist `json:"with"` } `json:"musicInfo"` Name string `json:"name"` RecordLabel string `json:"recordLabel"` ReleaseType string `json:"releaseType"` TagList string `json:"tagList"` Torrents []struct { Encoding string `json:"encoding"` FileCount int `json:"fileCount"` Format string `json:"format"` FreeTorrent bool `json:"freeTorrent"` HasCue bool `json:"hasCue"` HasLog bool `json:"hasLog"` Leechers int `json:"leechers"` LogScore int `json:"logScore"` Media string `json:"media"` RemasterCatalogueNumber string `json:"remasterCatalogueNumber"` RemasterRecordLabel string `json:"remasterRecordLabel"` RemasterTitle string `json:"remasterTitle"` RemasterYear int `json:"remasterYear"` Remastered bool `json:"remastered"` Reported bool `json:"reported"` Scene bool `json:"scene"` Seeders int `json:"seeders"` Size int `json:"size"` Snatched int `json:"snatched"` Time string `json:"time"` Torrentid int `json:"torrentid"` } `json:"torrents"` VanityHouse string `json:"vanityHouse"` WikiImage string `json:"wikiImage"` Year string `json:"year"` } `json:"torrentgroups"` }
func (*GazelleCollage) Anonymize ¶ added in v0.8.0
func (gc *GazelleCollage) Anonymize()
type GazelleCollageResponse ¶ added in v0.8.0
type GazelleCollageResponse struct { Status string `json:"status"` Error string `json:"error"` Response GazelleCollage `json:"response"` }
type GazelleGenericResponse ¶ added in v0.2.0
type GazelleInbox ¶ added in v0.8.0
type GazelleInbox struct { CurrentPage int `json:"currentPage"` Messages []struct { Avatar string `json:"avatar"` ConvID int `json:"convId"` Date string `json:"date"` Donor bool `json:"donor"` Enabled bool `json:"enabled"` ForwardedID int `json:"forwardedId"` ForwardedName string `json:"forwardedName"` SenderID int `json:"senderId"` Sticky bool `json:"sticky"` Subject string `json:"subject"` Unread bool `json:"unread"` Username string `json:"username"` Warned bool `json:"warned"` } `json:"messages"` Pages int `json:"pages"` }
type GazelleInboxConversation ¶ added in v0.8.0
type GazelleInboxConversation struct { ConvID int `json:"convId"` Messages []struct { Avatar string `json:"avatar"` BbBody string `json:"bbBody"` Body string `json:"body"` MessageID int `json:"messageId"` SenderID int `json:"senderId"` SenderName string `json:"senderName"` SentDate string `json:"sentDate"` } `json:"messages"` Sticky bool `json:"sticky"` Subject string `json:"subject"` }
type GazelleInboxConversationResponse ¶ added in v0.8.0
type GazelleInboxConversationResponse struct { Response GazelleInboxConversation `json:"response"` Status string `json:"status"` Error string `json:"error"` }
type GazelleInboxResponse ¶ added in v0.8.0
type GazelleInboxResponse struct { Response GazelleInbox `json:"response"` Status string `json:"status"` Error string `json:"error"` }
type GazelleIndex ¶ added in v0.2.0
type GazelleIndex struct { APIVersion string `json:"api_version"` Authkey string `json:"authkey"` ID int `json:"id"` Notifications struct { Messages int `json:"messages"` NewAnnouncement bool `json:"newAnnouncement"` NewBlog bool `json:"newBlog"` NewSubscriptions bool `json:"newSubscriptions"` Notifications int `json:"notifications"` } `json:"notifications"` Passkey string `json:"passkey"` Username string `json:"username"` UserStats struct { Class string `json:"class"` Downloaded int `json:"downloaded"` Ratio float64 `json:"ratio"` RequiredRatio float64 `json:"requiredratio"` Uploaded int `json:"uploaded"` } `json:"userstats"` }
type GazelleIndexResponse ¶ added in v0.8.0
type GazelleIndexResponse struct { Response GazelleIndex `json:"response"` Status string `json:"status"` Error string `json:"error"` }
type GazelleRequest ¶ added in v0.8.0
type GazelleRequest struct { BbDescription string `json:"bbDescription"` BitrateList []string `json:"bitrateList"` CanEdit bool `json:"canEdit"` CanVote bool `json:"canVote"` CatalogueNumber string `json:"catalogueNumber"` CategoryID int `json:"categoryId"` CategoryName string `json:"categoryName"` CommentPage int `json:"commentPage"` CommentPages int `json:"commentPages"` Comments []struct { AddedTime string `json:"addedTime"` AuthorID int `json:"authorId"` Avatar string `json:"avatar"` Class string `json:"class"` Comment string `json:"comment"` Donor bool `json:"donor"` EditedTime string `json:"editedTime"` EditedUserID int `json:"editedUserId"` EditedUsername string `json:"editedUsername"` Enabled bool `json:"enabled"` Name string `json:"name"` PostID int `json:"postId"` Warned bool `json:"warned"` } `json:"comments"` Description string `json:"description"` FillerID int `json:"fillerId"` FillerName string `json:"fillerName"` FormatList []string `json:"formatList"` Image string `json:"image"` IsBookmarked bool `json:"isBookmarked"` IsFilled bool `json:"isFilled"` LastVote string `json:"lastVote"` LogCue string `json:"logCue"` MediaList []string `json:"mediaList"` MinimumVote int `json:"minimumVote"` MusicInfo struct { Artists []Artist `json:"artists"` Composers []Artist `json:"composers"` Conductor []Artist `json:"conductor"` Dj []Artist `json:"dj"` Producer []Artist `json:"producer"` RemixedBy []Artist `json:"remixedBy"` With []Artist `json:"with"` } `json:"musicInfo"` Oclc string `json:"oclc"` RecordLabel string `json:"recordLabel"` ReleaseName string `json:"releaseName"` ReleaseType int `json:"releaseType"` RequestID int `json:"requestId"` RequestorID int `json:"requestorId"` RequestorName string `json:"requestorName"` Tags []string `json:"tags"` TimeAdded string `json:"timeAdded"` TimeFilled string `json:"timeFilled"` Title string `json:"title"` TopContributors []struct { Bounty int `json:"bounty"` UserID int `json:"userId"` UserName string `json:"userName"` } `json:"topContributors"` TorrentID int `json:"torrentId"` TotalBounty int `json:"totalBounty"` VoteCount int `json:"voteCount"` Year int `json:"year"` }
type GazelleRequestResponse ¶ added in v0.8.0
type GazelleRequestResponse struct { Response GazelleRequest `json:"response"` Status string `json:"status"` Error string `json:"error"` }
type GazelleRequestSearch ¶ added in v0.8.0
type GazelleRequestSearch struct { CurrentPage int `json:"currentPage"` Pages int `json:"pages"` Results []RequestSearchResult `json:"results"` }
type GazelleRequestSearchResponse ¶ added in v0.8.0
type GazelleRequestSearchResponse struct { Response GazelleRequestSearch `json:"response"` Status string `json:"status"` Error string `json:"error"` }
type GazelleSearch ¶ added in v0.8.0
type GazelleSearch struct { CurrentPage int `json:"currentPage"` Pages int `json:"pages"` Results []struct { Artist string `json:"artist"` Bookmarked bool `json:"bookmarked"` Cover string `json:"cover"` GroupID int `json:"groupId"` GroupName string `json:"groupName"` GroupTime string `json:"groupTime"` GroupYear int `json:"groupYear"` MaxSize int `json:"maxSize"` ReleaseType string `json:"releaseType"` Tags []string `json:"tags"` Torrents []struct { Artists []struct { Aliasid int `json:"aliasid"` ID int `json:"id"` Name string `json:"name"` } `json:"artists"` CanUseToken bool `json:"canUseToken"` EditionID int `json:"editionId"` Encoding string `json:"encoding"` FileCount int `json:"fileCount"` Format string `json:"format"` HasCue bool `json:"hasCue"` HasLog bool `json:"hasLog"` HasSnatched bool `json:"hasSnatched"` IsFreeleech bool `json:"isFreeleech"` IsNeutralLeech bool `json:"isNeutralLeech"` IsPersonalFreeleech bool `json:"isPersonalFreeleech"` Leechers int `json:"leechers"` LogScore int `json:"logScore"` Media string `json:"media"` RemasterCatalogueNumber string `json:"remasterCatalogueNumber"` RemasterTitle string `json:"remasterTitle"` RemasterYear int `json:"remasterYear"` Remastered bool `json:"remastered"` Scene bool `json:"scene"` Seeders int `json:"seeders"` Size int `json:"size"` Snatches int `json:"snatches"` Time string `json:"time"` TorrentID int `json:"torrentId"` VanityHouse bool `json:"vanityHouse"` } `json:"torrents"` TotalLeechers int `json:"totalLeechers"` TotalSeeders int `json:"totalSeeders"` TotalSnatched int `json:"totalSnatched"` VanityHouse bool `json:"vanityHouse"` } `json:"results"` }
type GazelleSearchResponse ¶ added in v0.8.0
type GazelleSearchResponse struct { Response GazelleSearch `json:"response"` Status string `json:"status"` Error string `json:"error"` }
type GazelleTorrent ¶ added in v0.2.0
type GazelleTorrent struct { Group struct { BbBody string `json:"bbBody"` CatalogueNumber string `json:"catalogueNumber"` CategoryID int `json:"categoryId"` CategoryName string `json:"categoryName"` ID int `json:"id"` IsBookmarked bool `json:"isBookmarked"` MusicInfo struct { Artists []Artist `json:"artists"` Composers []Artist `json:"composers"` Conductor []Artist `json:"conductor"` Dj []Artist `json:"dj"` Producer []Artist `json:"producer"` RemixedBy []Artist `json:"remixedBy"` With []Artist `json:"with"` } `json:"musicInfo"` Name string `json:"name"` RecordLabel string `json:"recordLabel"` ReleaseType int `json:"releaseType"` Tags []string `json:"tags"` Time string `json:"time"` VanityHouse bool `json:"vanityHouse"` WikiBody string `json:"wikiBody"` WikiImage string `json:"wikiImage"` Year int `json:"year"` } `json:"group"` Torrent struct { Description string `json:"description"` DynamicRange string `json:"dynamicrange"` Encoding string `json:"encoding"` FileCount int `json:"fileCount"` FileList string `json:"fileList"` FilePath string `json:"filePath"` Format string `json:"format"` FreeTorrent bool `json:"freeTorrent"` Grade string `json:"grade"` HasCue bool `json:"hasCue"` HasLog bool `json:"hasLog"` HasSnatched bool `json:"has_snatched"` ID int `json:"id"` InfoHash string `json:"infoHash"` Leechers int `json:"leechers"` Lineage string `json:"lineage"` LogScore int `json:"logScore"` LossyMasterApproved bool `json:"lossyMasterApproved"` LossyWebApproved bool `json:"lossyWebApproved"` Matrixorrunout string `json:"matrixorrunout"` Media string `json:"media"` RemasterCatalogueNumber string `json:"remasterCatalogueNumber"` RemasterRecordLabel string `json:"remasterRecordLabel"` RemasterTitle string `json:"remasterTitle"` RemasterYear int `json:"remasterYear"` Remastered bool `json:"remastered"` Reported bool `json:"reported"` SampleRate string `json:"samplerate"` Scene bool `json:"scene"` Seeders int `json:"seeders"` Size int `json:"size"` Snatched int `json:"snatched"` Time string `json:"time"` Trumpable bool `json:"trumpable"` UserID int `json:"userId"` Username string `json:"username"` } `json:"torrent"` }
type GazelleTorrentGroup ¶ added in v0.2.0
type GazelleTorrentGroup struct { Group struct { CatalogueNumber string `json:"catalogueNumber"` CategoryID int `json:"categoryId"` CategoryName string `json:"categoryName"` Collages []CollageInfo `json:"collages"` ID int `json:"id"` IsBookmarked bool `json:"isBookmarked"` MusicInfo struct { Artists []Artist `json:"artists"` Composers []Artist `json:"composers"` Conductor []Artist `json:"conductor"` Dj []Artist `json:"dj"` Producer []Artist `json:"producer"` RemixedBy []Artist `json:"remixedBy"` With []Artist `json:"with"` } `json:"musicInfo"` Name string `json:"name"` PersonalCollages []CollageInfo `json:"personalCollages"` RecordLabel string `json:"recordLabel"` ReleaseType int `json:"releaseType"` Tags []string `json:"tags"` Time string `json:"time"` VanityHouse bool `json:"vanityHouse"` WikiBody string `json:"wikiBody"` WikiImage string `json:"wikiImage"` Year int64 `json:"year"` } `json:"group"` Torrents []struct { Description string `json:"description"` Encoding string `json:"encoding"` FileCount int `json:"fileCount"` FileList string `json:"fileList"` FilePath string `json:"filePath"` Format string `json:"format"` FreeTorrent bool `json:"freeTorrent"` HasCue bool `json:"hasCue"` HasLog bool `json:"hasLog"` HasSnatched bool `json:"has_snatched"` ID int `json:"id"` Leechers int `json:"leechers"` LogScore int `json:"logScore"` LossyMasterApproved bool `json:"lossyMasterApproved"` LossyWebApproved bool `json:"lossyWebApproved"` Media string `json:"media"` RemasterCatalogueNumber string `json:"remasterCatalogueNumber"` RemasterRecordLabel string `json:"remasterRecordLabel"` RemasterTitle string `json:"remasterTitle"` RemasterYear int `json:"remasterYear"` Remastered bool `json:"remastered"` Reported bool `json:"reported"` Scene bool `json:"scene"` Seeders int `json:"seeders"` Size int `json:"size"` Snatched int `json:"snatched"` Time string `json:"time"` Trumpable bool `json:"trumpable"` UserID int64 `json:"userId"` Username string `json:"username"` } `json:"torrents"` }
func (*GazelleTorrentGroup) AlreadySnatched ¶ added in v0.8.0
func (gtg *GazelleTorrentGroup) AlreadySnatched() bool
func (*GazelleTorrentGroup) Anonymize ¶ added in v0.8.0
func (gtg *GazelleTorrentGroup) Anonymize()
type GazelleTorrentGroupResponse ¶ added in v0.8.0
type GazelleTorrentGroupResponse struct { Response GazelleTorrentGroup `json:"response"` Status string `json:"status"` Error string `json:"error"` }
type GazelleTorrentResponse ¶ added in v0.8.0
type GazelleTorrentResponse struct { Response GazelleTorrent `json:"response"` Status string `json:"status"` Error string `json:"error"` }
type GazelleUserStats ¶ added in v0.2.0
type GazelleUserStats struct { Avatar string `json:"avatar"` Community struct { ArtistsAdded int `json:"artistsAdded"` ArtistComments int `json:"artistComments"` BountyEarned int `json:"bountyEarned"` BountySpent int64 `json:"bountySpent"` CollageComments int `json:"collageComments"` CollagesContrib int `json:"collagesContrib"` CollagesStarted int `json:"collagesStarted"` Groups int `json:"groups"` GroupVotes int `json:"groupVotes"` Invited int `json:"invited"` Leeching int `json:"leeching"` PerfectFlacs int `json:"perfectFlacs"` Posts int `json:"posts"` RequestComments int `json:"requestComments"` RequestsFilled int `json:"requestsFilled"` RequestsVoted int `json:"requestsVoted"` Seeding int `json:"seeding"` Snatched int `json:"snatched"` TorrentComments int `json:"torrentComments"` Uploaded int `json:"uploaded"` } `json:"community"` IsFriend bool `json:"isFriend"` Personal struct { Class string `json:"class"` Donor bool `json:"donor"` Enabled bool `json:"enabled"` Paranoia int `json:"paranoia"` ParanoiaText string `json:"paranoiaText"` Passkey string `json:"passkey"` Warned bool `json:"warned"` } `json:"personal"` ProfileAlbum struct { ID string `json:"id"` Name string `json:"name"` Review string `json:"review"` } `json:"profileAlbum"` ProfileText string `json:"profileText"` Ranks struct { Artists int `json:"artists"` Bounty int `json:"bounty"` Downloaded int `json:"downloaded"` Overall interface{} `json:"overall"` Posts int `json:"posts"` Requests int `json:"requests"` Uploaded int `json:"uploaded"` Uploads int `json:"uploads"` } `json:"ranks"` Stats struct { Buffer int64 `json:"buffer"` Downloaded uint64 `json:"downloaded"` JoinedDate string `json:"joinedDate"` LastAccess string `json:"lastAccess"` Ratio string `json:"ratio"` RequiredRatio float64 `json:"requiredRatio"` Uploaded uint64 `json:"uploaded"` } `json:"stats"` Username string `json:"username"` }
type GazelleUserStatsResponse ¶ added in v0.8.0
type GazelleUserStatsResponse struct { Response GazelleUserStats `json:"response"` Status string `json:"status"` Error string `json:"error"` }
type LogChecker ¶ added in v0.8.0
func (*LogChecker) String ¶ added in v0.8.0
func (lc *LogChecker) String() string
type LogCheckerResponse ¶ added in v0.8.0
type LogCheckerResponse struct { Status string `json:"status"` Error string `json:"error"` Response LogChecker `json:"response"` }
type RequestSearchResult ¶ added in v0.5.0
type RequestSearchResult struct { Artists [][]Artist `json:"artists"` BitrateList string `json:"bitrateList"` Bounty int `json:"bounty"` CatalogueNumber string `json:"catalogueNumber"` CategoryID int `json:"categoryId"` CategoryName string `json:"categoryName"` Description string `json:"description"` FillerID int `json:"fillerId"` FillerName string `json:"fillerName"` FormatList string `json:"formatList"` Image string `json:"image"` IsFilled bool `json:"isFilled"` LastVote string `json:"lastVote"` LogCue string `json:"logCue"` MediaList string `json:"mediaList"` RecordLabel string `json:"recordLabel"` ReleaseType string `json:"releaseType"` RequestID int `json:"requestId"` RequestorID int `json:"requestorId"` RequestorName string `json:"requestorName"` TimeAdded string `json:"timeAdded"` TimeFilled string `json:"timeFilled"` Title string `json:"title"` TorrentID int `json:"torrentId"` VoteCount int `json:"voteCount"` Year int `json:"year"` }
func (*RequestSearchResult) IsWebLosslessFLAC ¶ added in v0.5.0
func (rsr *RequestSearchResult) IsWebLosslessFLAC() bool
type Tracker ¶
type Tracker struct { sync.Mutex Name string DomainURL string User string Password string SessionCookie *http.Cookie APIKey string Client *http.Client UserAgent string // "name/version" Passkey string LoginURL string AuthKey string // contains filtered or unexported fields }
Tracker to do things with trackers.
func (*Tracker) RateLimiter ¶
func (t *Tracker) RateLimiter()
func (*Tracker) StartRateLimiter ¶ added in v0.8.0
func (t *Tracker) StartRateLimiter()
type UserTorrent ¶ added in v0.8.0
type UserTorrents ¶ added in v0.8.0
type UserTorrents struct { Seeding []UserTorrent `json:"seeding"` Leeching []UserTorrent `json:"leeching"` Uploaded []UserTorrent `json:"uploaded"` Snatched []UserTorrent `json:"snatched"` }
type UserTorrentsResponse ¶ added in v0.8.0
type UserTorrentsResponse struct { Status string `json:"status"` Error string `json:"error"` Response UserTorrents `json:"response"` }
Click to show internal directories.
Click to hide internal directories.