Removed the old automanga.py. ;_;
[automanga.git] / automanga
CommitLineData
e26514bb
FT
1#!/usr/bin/python
2
3import sys, getopt
012c4cae 4import manga.lib, manga.reader, manga.profile, manga.local
e26514bb
FT
5import glib, gobject, gtk
6
7gobject.threads_init()
8gtk.gdk.threads_init()
9
10def usage(out):
012c4cae 11 out.write("usage: automanga [-h] [-p PROFILE] [-l LIBRARY] [DIR-OR-ID]\n")
e26514bb
FT
12 out.write(" automanga [-h] -s LIBRARY NAME\n")
13
14libname = None
15search = False
012c4cae
FT
16profile = ""
17opts, args = getopt.getopt(sys.argv[1:], "hl:sp:")
e26514bb
FT
18for 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
012c4cae
FT
26 elif o == "-p":
27 if a == "":
28 profile = None
29 else:
30 profile = a
31if profile == "":
32 try:
33 profile = manga.profile.profile.last()
34 except KeyError:
35 profile = manga.profile.profile.byname("default")
36elif profile is not None:
37 profile = manga.profile.profile.byname(profile)
e26514bb
FT
38
39if search:
40 if len(args) < 2:
41 usage(sys.stderr)
42 sys.exit(1)
43 try:
31ea855c
FT
44 lib = manga.lib.findlib(args[0])
45 except ImportError:
e26514bb
FT
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
52if libname is not None:
53 if len(args) < 1:
54 usage(sys.stderr)
55 sys.exit(1)
56 try:
31ea855c
FT
57 lib = manga.lib.findlib(libname)
58 except ImportError:
e26514bb
FT
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)
66else:
012c4cae 67 libname = "local"
462b7343
FT
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)
e26514bb 77
7f4e185b 78mprof = None if profile is None else profile.getmanga(libname, mng.id, True)
012c4cae
FT
79if profile is not None:
80 profile.setlast()
81
7f4e185b 82reader = manga.reader.reader(mng, mprof)
e26514bb
FT
83reader.show()
84gtk.main()