]> git.lizzy.rs Git - go-anidb.git/commitdiff
mylistadd: Only add if the file isn't on mylist yet
authorDiogo Franco (Kovensky) <diogomfranco@gmail.com>
Fri, 26 Jul 2013 15:23:28 +0000 (12:23 -0300)
committerDiogo Franco (Kovensky) <diogomfranco@gmail.com>
Fri, 26 Jul 2013 15:23:28 +0000 (12:23 -0300)
Edit the file state to MyListStateHDD otherwise.

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 }()