Documentation
¶
Index ¶
- Constants
- type AnimeEntity
- type AnimeParseOptions
- type ClientAddOptions
- type ClientDeleteOptions
- type ClientGetOptions
- type ClientListOptions
- type DownloadInfo
- type DownloadStatus
- type FeedItem
- type ParseOptions
- type ParseResult
- type ProcessBangumiOptions
- type RenameOptions
- type SetApplicationPreferencesInnerReq
- type SetApplicationPreferencesReq
- type ThemoviedbIdResponse
- type ThemoviedbItemResponse
- type ThemoviedbResponse
- type Torrent
- type TorrentContentItem
- type TorrentItem
- type TorrentState
Constants ¶
View Source
const ( MagnetType = "magnet" TorrentType = "torrent" )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AnimeEntity ¶
type AnimeEntity struct {
ID int `json:"id"` // bangumi id
ThemoviedbID int `json:"themoviedb_id"` // themoviedb ID
MikanID int `json:"mikan_id"` // [暂时无用] rss id
Name string `json:"name"` // 名称,从bgm获取
NameCN string `json:"name_cn"` // 中文名称,从bgm获取
Season int `json:"season"` // 当前季,从themoviedb获取
Ep int `json:"ep"` // 当前集,从下载文件名解析
EpID int `json:"ep_id"` // [暂时无用] 当前集bangumi ep id
Eps int `json:"eps"` // [暂时无用] 总集数,从bgm获取
AirDate string `json:"air_date"` // [暂时无用] 最初播放日期,从bgm获取
Date string `json:"date"` // [暂时无用] 当前集播放日期,从bgm获取
*DownloadInfo
}
AnimeEntity 动画信息结构体
必须要有的值 NameCN: 用于保存文件名,可用 Name 和 ID 替代 Season: 用于保存文件名 Ep: 用于保存文件名 可选值 ID: bangumi id,用于生成nfo文件 ThemoviedbID: themoviedb id,用于生成nfo文件
func (*AnimeEntity) DirName ¶
func (b *AnimeEntity) DirName() string
func (*AnimeEntity) FileName ¶
func (b *AnimeEntity) FileName() string
func (*AnimeEntity) FullName ¶
func (b *AnimeEntity) FullName() string
func (*AnimeEntity) Meta ¶
func (b *AnimeEntity) Meta() string
type AnimeParseOptions ¶
type ClientAddOptions ¶
type ClientDeleteOptions ¶
type ClientGetOptions ¶
type ClientGetOptions struct {
Hash string
Item *TorrentItem
}
type ClientListOptions ¶
type DownloadInfo ¶ added in v0.4.3
type DownloadStatus ¶ added in v0.5.0
type DownloadStatus struct {
Hash string `json:"hash"`
State TorrentState `json:"state"`
Path string `json:"path"` // 文件存储相对
ExpireAt int64 `json:"expire_at"` // 过期时间
Init bool `json:"init"` // 是否初始化
Renamed bool `json:"renamed"` // 是否已重命名/移动
Downloaded bool `json:"downloaded"` // 是否已下载完成
Seeded bool `json:"seeded"` // 是否做种
Scraped bool `json:"scraped"` // 是否已经完成搜刮
}
type FeedItem ¶
type FeedItem struct {
Url string `json:"url"` // Link,详情页连接,用于下一步解析番剧信息
Name string `json:"name"` // 种子名
Date string `json:"date"` // 发布日期
Type string `json:"type"` // 下载类型,[application/x-bittorrent]
Download string `json:"download"` // 下载链接
Length int64 `json:"length"` // 种子大小
}
func (FeedItem) DownloadType ¶ added in v0.4.3
DownloadType
@Description: 下载链接类型,[torrent, magnet, unknown] @receiver FeedItem @return string
type ParseOptions ¶
type ParseResult ¶
type ProcessBangumiOptions ¶
type RenameOptions ¶ added in v0.5.0
type RenameOptions struct {
Src string
Dst string
State <-chan TorrentState
RenameCallback func() // 重命名完成后回调
Callback func() // 完成重命名所有流程后回调
}
type SetApplicationPreferencesInnerReq ¶
type SetApplicationPreferencesInnerReq struct {
Json string `json:"json"`
}
type SetApplicationPreferencesReq ¶
type SetApplicationPreferencesReq struct {
TorrentContentLayout *string `json:"torrent_content_layout,omitempty"`
}
type ThemoviedbIdResponse ¶
type ThemoviedbIdResponse struct {
Page int `json:"page"`
TotalPages int `json:"total_pages"`
TotalResults int `json:"total_results"`
Result []*struct {
BackdropPath string `json:"backdrop_path"`
FirstAirDate string `json:"first_air_date"`
ID int `json:"id"`
Name string `json:"name"`
OriginalName string `json:"original_name"`
PosterPath string `json:"poster_path"`
} `json:"results"`
}
type ThemoviedbItemResponse ¶
type ThemoviedbResponse ¶
type ThemoviedbResponse struct {
ID int `json:"id"`
LastAirDate string `json:"last_air_date"`
LastEpisodeToAir *ThemoviedbItemResponse `json:"last_episode_to_air"`
NextEpisodeToAir *ThemoviedbItemResponse `json:"next_episode_to_air"`
NumberOfEpisodes int `json:"number_of_episodes"`
NumberOfSeasons int `json:"number_of_seasons"`
OriginalName string `json:"original_name"`
Seasons []*ThemoviedbItemResponse `json:"seasons"`
}
type Torrent ¶
type Torrent struct {
Hash string
State TorrentState // 状态
OldPath string // 下载到的旧路径
Path string // 当前内容路径
Init bool // 是否初始化
Renamed bool // 是否已重命名/移动
StateChan chan TorrentState // 通知chan
Downloaded bool // 是否已下载完成
Seeded bool // 是否做种
Scraped bool // 是否已经完成搜刮
}
type TorrentContentItem ¶
type TorrentContentItem struct {
Index int `json:"index"` //File index
Name string `json:"name"` //File name (including relative path)
Size int `json:"size"` //File size (bytes)
Progress float64 `json:"progress"` //File progress (percentage/100)
Priority int `json:"priority"` //File priority. See possible values here below
IsSeed bool `json:"is_seed"` //True if file is seeding/complete
PieceRange []int `json:"piece_range"` //The first number is the starting piece index and the second number is the ending piece index (inclusive)
Availability float64 `json:"availability"` //Percentage of file pieces currently available (percentage/100)
Path string
Hash string
}
type TorrentItem ¶
type TorrentItem struct {
AddedOn int `json:"added_on"`
AmountLeft int `json:"amount_left"`
AutoTmm bool `json:"auto_tmm"`
Availability float64 `json:"availability"`
Category string `json:"category"`
// Completed int `json:"completed"`
// CompletionOn int `json:"completion_on"`
ContentPath string `json:"content_path"`
DlLimit int `json:"dl_limit"`
Dlspeed int `json:"dlspeed"`
Downloaded int `json:"downloaded"`
DownloadedSession int `json:"downloaded_session"`
Eta int `json:"eta"`
// FLPiecePrio bool `json:"f_l_piece_prio"`
// ForceStart bool `json:"force_start"`
Hash string `json:"hash"`
// LastActivity int `json:"last_activity"`
MagnetUri string `json:"magnet_uri"`
// MaxRatio float64 `json:"max_ratio"`
MaxSeedingTime int `json:"max_seeding_time"`
Name string `json:"name"`
// NumComplete int `json:"num_complete"`
// NumIncomplete int `json:"num_incomplete"`
// NumLeechs int `json:"num_leechs"`
// NumSeeds int `json:"num_seeds"`
Priority int `json:"priority"`
Progress float64 `json:"progress"`
Ratio float64 `json:"ratio"`
RatioLimit float64 `json:"ratio_limit"`
SavePath string `json:"save_path"`
SeedingTime int `json:"seeding_time"`
SeedingTimeLimit int `json:"seeding_time_limit"`
SeenComplete int `json:"seen_complete"`
// SeqDl bool `json:"seq_dl"`
Size int `json:"size"`
State string `json:"state"`
// SuperSeeding bool `json:"super_seeding"`
Tags string `json:"tags"`
// TimeActive int `json:"time_active"`
TotalSize int `json:"total_size"`
}
type TorrentState ¶
type TorrentState string
Click to show internal directories.
Click to hide internal directories.