Fixed bug with anonymous profile.
[automanga.git] / automanga
index e80db3f..0381786 100755 (executable)
--- a/automanga
+++ b/automanga
@@ -1,20 +1,20 @@
 #!/usr/bin/python
 
 import sys, getopt
-import manga.lib, manga.reader
+import manga.lib, manga.reader, manga.profile, manga.local
 import glib, gobject, gtk
 
 gobject.threads_init()
 gtk.gdk.threads_init()
 
 def usage(out):
-    out.write("usage: automanga [-h] [DIR]\n")
-    out.write("       automanga [-h] -l LIBRARY ID\n")
+    out.write("usage: automanga [-h] [-p PROFILE] [-l LIBRARY] [DIR-OR-ID]\n")
     out.write("       automanga [-h] -s LIBRARY NAME\n")
 
 libname = None
 search = False
-opts, args = getopt.getopt(sys.argv[1:], "hl:s")
+profile = ""
+opts, args = getopt.getopt(sys.argv[1:], "hl:sp:")
 for o, a in opts:
     if o == "-h":
         usage(sys.stdout)
@@ -23,14 +23,26 @@ for o, a in opts:
         libname = a
     elif o == "-s":
         search = True
+    elif o == "-p":
+        if a == "":
+            profile = None
+        else:
+            profile = a
+if profile == "":
+    try:
+        profile = manga.profile.profile.last()
+    except KeyError:
+        profile = manga.profile.profile.byname("default")
+elif profile is not None:
+    profile = manga.profile.profile.byname(profile)
 
 if search:
     if len(args) < 2:
         usage(sys.stderr)
         sys.exit(1)
     try:
-        lib = manga.lib.libraries[args[0]]
-    except KeyError:
+        lib = manga.lib.findlib(args[0])
+    except ImportError:
         sys.stderr.write("automanga: no such library: %s\n" % args[0])
         sys.exit(1)
     for manga in lib.byname(args[1]):
@@ -42,8 +54,8 @@ if libname is not None:
         usage(sys.stderr)
         sys.exit(1)
     try:
-        lib = manga.lib.libraries[libname]
-    except KeyError:
+        lib = manga.lib.findlib(libname)
+    except ImportError:
         sys.stderr.write("automanga: no such library: %s\n" % libname)
         sys.exit(1)
     try:
@@ -52,9 +64,16 @@ if libname is not None:
         sys.stderr.write("automanga: no such manga: %s\n" % args[0])
         sys.exit(1)
 else:
-    sys.stderr.write("automanga: local manga not yet implemented\n")
-    sys.exit(1)
+    libname = "local"
+    if len(args) > 0:
+        mng = manga.local.manga(args[0])
+    else:
+        mng = manga.local.manga(".")
+
+mprof = None if profile is None else profile.getmanga(libname, mng.id, True)
+if profile is not None:
+    profile.setlast()
 
-reader = manga.reader.reader(mng)
+reader = manga.reader.reader(mng, mprof)
 reader.show()
 gtk.main()