4 import manga.lib, manga.reader, manga.profile, manga.local
5 import glib, gobject, gtk
11 out.write("usage: automanga [-h] [-p PROFILE] {DIRECTORY|-l LIBRARY ID|-a ALIAS}\n")
12 out.write(" automanga -a ALIAS=LIBRARY:ID\n")
13 out.write(" automanga -{s|S} LIBRARY NAME\n")
19 opts, args = getopt.getopt(sys.argv[1:], "hl:sSp:a:")
39 profile = manga.profile.profile.last()
41 profile = manga.profile.profile.byname("default")
42 elif profile is not None:
43 profile = manga.profile.profile.byname(profile)
51 lib = manga.lib.findlib(args[0])
53 sys.stderr.write("automanga: no such library: %s\n" % args[0])
57 results = lib.byname(args[1])
58 elif search == "match":
59 results = lib.search(args[1])
60 if hasattr(results, "__length_hint__"):
61 sys.stderr.write("%i results:\n" % results.__length_hint__())
62 except NotImplementedError:
63 sys.stderr.write("automanga: %s does not support searching\n" % args[0])
66 sys.stdout.write("\"%s\": %s\n" % (mng.name, mng.id))
69 if alias and (alias.find('=') > 0):
70 alias, nm = alias.split('=', 1)
74 libname, mid = nm.split(':', 1)
76 lib = manga.lib.findlib(libname)
78 sys.stderr.write("automanga: no such library: %s\n" % libname)
83 sys.stderr.write("automanga: no such manga: %s\n" % mid)
85 profile.setalias(alias, libname, mng.id)
90 libname, mid = profile.getalias(alias)
92 sys.stderr("automanga: no such alias: %s\n" % alias)
95 lib = manga.lib.findlib(libname)
97 sys.stderr.write("automanga: no such library: %s\n" % libname)
102 sys.stderr.write("automanga: manga no longer found: %s\n" % mid)
104 elif libname is not None:
109 lib = manga.lib.findlib(libname)
111 sys.stderr.write("automanga: no such library: %s\n" % libname)
114 mng = lib.byid(args[0])
116 sys.stderr.write("automanga: no such manga: %s\n" % args[0])
125 mng = manga.local.manga(mdir)
127 sys.stderr.write("automanga: not a valid manga directory: %s\n" % mdir)
130 mprof = None if profile is None else profile.getmanga(libname, mng.id, True)
131 if profile is not None:
134 reader = manga.reader.reader(mng, mprof)
140 except KeyboardInterrupt: