Dolda2000 GitWeb
/
automanga.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Decode gzipped pages on the fly in htcache.
[automanga.git]
/
automanga
diff --git
a/automanga
b/automanga
index
d6eddeb
..
8fad817
100755
(executable)
--- a/
automanga
+++ b/
automanga
@@
-10,13
+10,17
@@
gtk.gdk.threads_init()
def usage(out):
out.write("usage: automanga [-h] [-p PROFILE] {DIRECTORY|-l LIBRARY ID|-a ALIAS}\n")
out.write(" automanga -a ALIAS=LIBRARY:ID\n")
def usage(out):
out.write("usage: automanga [-h] [-p PROFILE] {DIRECTORY|-l LIBRARY ID|-a ALIAS}\n")
out.write(" automanga -a ALIAS=LIBRARY:ID\n")
+ out.write(" automanga -t {DIRECTORY|-l LIBRARY ID|-a ALIAS} [-]TAG...\n")
out.write(" automanga -{s|S} LIBRARY NAME\n")
out.write(" automanga -{s|S} LIBRARY NAME\n")
+ out.write(" automanga -L TAG\n")
libname = None
search = None
profile = ""
alias = None
libname = None
search = None
profile = ""
alias = None
-opts, args = getopt.getopt(sys.argv[1:], "hl:sSp:a:")
+settags = False
+listtag = None
+opts, args = getopt.getopt(sys.argv[1:], "hl:sSp:a:tL:")
for o, a in opts:
if o == "-h":
usage(sys.stdout)
for o, a in opts:
if o == "-h":
usage(sys.stdout)
@@
-34,6
+38,10
@@
for o, a in opts:
profile = None
else:
profile = a
profile = None
else:
profile = a
+ elif o == "-t":
+ settags = True
+ elif o == "-L":
+ listtag = a
if profile == "":
try:
profile = manga.profile.profile.last()
if profile == "":
try:
profile = manga.profile.profile.last()
@@
-43,6
+51,8
@@
elif profile is not None:
profile = manga.profile.profile.byname(profile)
def main():
profile = manga.profile.profile.byname(profile)
def main():
+ global libname
+
if search:
if len(args) < 2:
usage(sys.stderr)
if search:
if len(args) < 2:
usage(sys.stderr)
@@
-66,8
+76,15
@@
def main():
sys.stdout.write("\"%s\": %s\n" % (mng.name, mng.id))
return
sys.stdout.write("\"%s\": %s\n" % (mng.name, mng.id))
return
+ if listtag is not None:
+ if profile is not None:
+ for mprof in profile.bytag(listtag):
+ mng = mprof.open()
+ sys.stdout.write("%s %s: \"%s\"\n" % (mprof.libnm, mprof.id, mng.name))
+ return
+
if alias and (alias.find('=') > 0):
if alias and (alias.find('=') > 0):
-
alias
, nm = alias.split('=', 1)
+
tgt
, nm = alias.split('=', 1)
if not ':' in nm:
usage(sys.stderr)
sys.exit(1)
if not ':' in nm:
usage(sys.stderr)
sys.exit(1)
@@
-79,10
+96,10
@@
def main():
sys.exit(1)
try:
mng = lib.byid(mid)
sys.exit(1)
try:
mng = lib.byid(mid)
- except KeyError:
- sys.stderr.write("automanga: no such manga: %s\n" %
mid
)
+ except KeyError
as e
:
+ sys.stderr.write("automanga: no such manga: %s\n" %
str(e)
)
sys.exit(1)
sys.exit(1)
- profile.setalias(
alias
, libname, mng.id)
+ profile.setalias(
tgt
, libname, mng.id)
return
if alias:
return
if alias:
@@
-111,15
+128,15
@@
def main():
sys.stderr.write("automanga: no such library: %s\n" % libname)
sys.exit(1)
try:
sys.stderr.write("automanga: no such library: %s\n" % libname)
sys.exit(1)
try:
- mng = lib.byid(args
[0]
)
- except KeyError:
- sys.stderr.write("automanga: no such manga: %s\n" %
args[0]
)
+ mng = lib.byid(args
.pop(0)
)
+ except KeyError
as e
:
+ sys.stderr.write("automanga: no such manga: %s\n" %
str(e)
)
sys.exit(1)
else:
libname = "local"
try:
if len(args) > 0:
sys.exit(1)
else:
libname = "local"
try:
if len(args) > 0:
- mdir = args
[0]
+ mdir = args
.pop(0)
else:
mdir = "."
mng = manga.local.manga(mdir)
else:
mdir = "."
mng = manga.local.manga(mdir)
@@
-131,6
+148,15
@@
def main():
if profile is not None:
profile.setlast()
if profile is not None:
profile.setlast()
+ if settags:
+ if mprof is not None:
+ ntags = [tag for tag in args if tag[:1] != "-"]
+ rtags = [tag[1:] for tag in args if tag[:1] == "-"]
+ print ntags, rtags
+ if ntags: mprof.tags.add(*ntags)
+ if rtags: mprof.tags.remove(*rtags)
+ return
+
reader = manga.reader.reader(mng, mprof)
reader.show()
gtk.main()
reader = manga.reader.reader(mng, mprof)
reader.show()
gtk.main()