Files
seanime-docker/seanime-2.9.10/internal/api/anizip/anizip_helper.go
2025-09-20 14:08:38 +01:00

66 lines
1.1 KiB
Go

package anizip
func (m *Media) GetTitle() string {
if m == nil {
return ""
}
if len(m.Titles["en"]) > 0 {
return m.Titles["en"]
}
return m.Titles["ro"]
}
func (m *Media) GetMappings() *Mappings {
if m == nil {
return &Mappings{}
}
return m.Mappings
}
func (m *Media) FindEpisode(ep string) (*Episode, bool) {
if m.Episodes == nil {
return nil, false
}
episode, found := m.Episodes[ep]
if !found {
return nil, false
}
return &episode, true
}
func (m *Media) GetMainEpisodeCount() int {
if m == nil {
return 0
}
return m.EpisodeCount
}
// GetOffset returns the offset of the first episode relative to the absolute episode number.
// e.g, if the first episode's absolute number is 13, then the offset is 12.
func (m *Media) GetOffset() int {
if m == nil {
return 0
}
firstEp, found := m.FindEpisode("1")
if !found {
return 0
}
if firstEp.AbsoluteEpisodeNumber == 0 {
return 0
}
return firstEp.AbsoluteEpisodeNumber - 1
}
func (e *Episode) GetTitle() string {
eng, ok := e.Title["en"]
if ok {
return eng
}
rom, ok := e.Title["x-jat"]
if ok {
return rom
}
return ""
}