Removed the old automanga.py. ;_;
[automanga.git] / automanga
1 #!/usr/bin/python
2
3 import sys, getopt
4 import manga.lib, manga.reader, manga.profile, manga.local
5 import glib, gobject, gtk
6
7 gobject.threads_init()
8 gtk.gdk.threads_init()
9
10 def usage(out):
11     out.write("usage: automanga [-h] [-p PROFILE] [-l LIBRARY] [DIR-OR-ID]\n")
12     out.write("       automanga [-h] -s LIBRARY NAME\n")
13
14 libname = None
15 search = False
16 profile = ""
17 opts, args = getopt.getopt(sys.argv[1:], "hl:sp:")
18 for o, a in opts:
19     if o == "-h":
20         usage(sys.stdout)
21         sys.exit(0)
22     elif o == "-l":
23         libname = a
24     elif o == "-s":
25         search = True
26     elif o == "-p":
27         if a == "":
28             profile = None
29         else:
30             profile = a
31 if profile == "":
32     try:
33         profile = manga.profile.profile.last()
34     except KeyError:
35         profile = manga.profile.profile.byname("default")
36 elif profile is not None:
37     profile = manga.profile.profile.byname(profile)
38
39 if search:
40     if len(args) < 2:
41         usage(sys.stderr)
42         sys.exit(1)
43     try:
44         lib = manga.lib.findlib(args[0])
45     except ImportError:
46         sys.stderr.write("automanga: no such library: %s\n" % args[0])
47         sys.exit(1)
48     for manga in lib.byname(args[1]):
49         sys.stdout.write("\"%s\": %s\n" % (manga.name, manga.id))
50     sys.exit(0)
51
52 if libname is not None:
53     if len(args) < 1:
54         usage(sys.stderr)
55         sys.exit(1)
56     try:
57         lib = manga.lib.findlib(libname)
58     except ImportError:
59         sys.stderr.write("automanga: no such library: %s\n" % libname)
60         sys.exit(1)
61     try:
62         mng = lib.byid(args[0])
63     except KeyError:
64         sys.stderr.write("automanga: no such manga: %s\n" % args[0])
65         sys.exit(1)
66 else:
67     libname = "local"
68     try:
69         if len(args) > 0:
70             mdir = args[0]
71         else:
72             mdir = "."
73         mng = manga.local.manga(mdir)
74     except TypeError:
75         sys.stderr.write("automanga: not a valid manga directory: %s\n" % mdir)
76         sys.exit(1)
77
78 mprof = None if profile is None else profile.getmanga(libname, mng.id, True)
79 if profile is not None:
80     profile.setlast()
81
82 reader = manga.reader.reader(mng, mprof)
83 reader.show()
84 gtk.main()