package anidb
import (
- "github.com/Kovensky/go-fscache"
+ "github.com/EliasFleckenstein03/go-fscache"
"strconv"
"time"
)
eg.Add(f.EpisodeNumber)
mla.EpisodesPerGroup[f.GID] = eg
- if set.State != nil {
- es := mla.EpisodesWithState[*set.State]
- es.Add(f.EpisodeNumber)
- mla.EpisodesWithState[*set.State] = es
- }
+ newState := MyListStateUnknown
+ if set != nil {
+ if set.State != nil {
+ newState = *set.State
+ }
- if set.Watched != nil && *set.Watched ||
- set.ViewDate != nil && !set.ViewDate.IsZero() {
- mla.WatchedEpisodes.Add(f.EpisodeNumber)
+ if set.Watched != nil && *set.Watched ||
+ set.ViewDate != nil && !set.ViewDate.IsZero() {
+ mla.WatchedEpisodes.Add(f.EpisodeNumber)
+ }
}
+ es := mla.EpisodesWithState[newState]
+ es.Add(f.EpisodeNumber)
+ mla.EpisodesWithState[newState] = es
+
Cache.Set(mla, "mylist-anime", uid, f.AID)
Cache.Chtime(mla.Cached, "mylist-anime", uid, f.AID)
- if set.ViewDate == nil && set.Watched == nil && set.State == nil &&
- set.Source == nil && set.Storage == nil && set.Other == nil {
+ e := lid.MyListEntry()
+ if set == nil ||
+ (set.ViewDate == nil && set.Watched == nil && set.State == nil &&
+ set.Source == nil && set.Storage == nil && set.Other == nil) {
return
}
+ if e == nil {
+ now := time.Now()
+ e = &MyListEntry{
+ LID: lid,
+
+ AID: f.AID,
+ EID: f.EID,
+ FID: f.FID,
+ GID: f.GID,
+
+ DateAdded: now,
+
+ // make sure it's expired
+ Cached: time.Unix(0, 0),
+ }
+ }
- e := lid.MyListEntry()
if set.ViewDate != nil {
e.DateWatched = *set.ViewDate
} else if set.Watched != nil {