]> git.lizzy.rs Git - go-anidb.git/blobdiff - examples/mylistadd/main.go
mylistadd: Only add if the file isn't on mylist yet
[go-anidb.git] / examples / mylistadd / main.go
index 6f914f743eecd1b240741d923b4d46eccaf98fa4..337e3ee61ed9e79e83d220a40829180ce4008a94 100644 (file)
@@ -92,8 +92,18 @@ func main() {
                if ed2k != "" {
                        go func() {
                                f := <-adb.FileByEd2kSize(ed2k, size)
+                               e := f.UserMyList(adb.User())
+
                                state := anidb.MyListStateHDD
-                               done <- <-adb.MyListAdd(f, &anidb.MyListSet{State: &state}) != 0
+                               if e != nil {
+                                       if e.MyListState == state {
+                                               done <- false
+                                       } else {
+                                               done <- <-adb.MyListEdit(f, &anidb.MyListSet{State: &state})
+                                       }
+                               } else {
+                                       done <- <-adb.MyListAdd(f, &anidb.MyListSet{State: &state}) != 0
+                               }
                        }()
                } else {
                        go func() { done <- false }()