subinfo.go 1.7 KB

123456789101112131415161718192021222324252627282930
  1. package supplier
  2. import "github.com/allanpk716/ChineseSubFinder/internal/types"
  3. type SubInfo struct {
  4. FromWhere string `json:"from_where"` // 从哪个网站下载来的
  5. TopN int64 `json:"top_n"` // 是 Top 几?
  6. Name string `json:"name"` // 字幕的名称,这个比较随意,优先是影片的名称,然后才是从网上下载字幕的对应名称
  7. Language types.Language `json:"language"` // 字幕的语言
  8. FileUrl string `json:"file-url"` // 字幕文件下载的路径
  9. Score int64 `json:"score"` // TODO 字幕的评分,需要有一个独立的评价体系。首先是每个网站自己的评价排序,然后再到统一的评分体系
  10. Offset int64 `json:"offset"` // 字幕的偏移
  11. Ext string `json:"ext"` // 字幕文件的后缀名带点,有可能是直接能用的字幕文件,也可能是压缩包
  12. Data []byte `json:"data"` // 字幕文件的二进制数据
  13. Season int `json:"season"` // 第几季,默认-1
  14. Episode int `json:"episode"` // 第几集,默认-1
  15. IsFullSeason bool `json:"is_full_season"` // 是否是全季的字幕
  16. }
  17. func NewSubInfo(fromWhere string, topN int64, name string, language types.Language, fileUrl string,
  18. score int64, offset int64, ext string, data []byte) *SubInfo {
  19. s := SubInfo{FromWhere: fromWhere, TopN: topN,Name: name, Language: language, FileUrl: fileUrl,
  20. Score: score, Offset: offset, Ext: ext, Data: data}
  21. s.Season = -1
  22. s.Episode = -1
  23. return &s
  24. }