X-Git-Url: http://git.dolda2000.com/gitweb/?a=blobdiff_plain;f=manga%2Flocal.py;fp=manga%2Flocal.py;h=3051013f971a43ce50166d107b9b340d5be0c8d2;hb=afd66b913158fdca95d1a30a0518808afb437374;hp=d1a839ce650c13f6c5f19ca59237f4276ee80b3b;hpb=1f51eb5842dd016ac3258b670be44633d22062fc;p=automanga.git diff --git a/manga/local.py b/manga/local.py index d1a839c..3051013 100644 --- a/manga/local.py +++ b/manga/local.py @@ -151,9 +151,15 @@ class manga(lib.manga): oids.append(cur) ret = [] for id in oids: - cur = interm(id, id, p.stack + [(p, len(ret))], []) - cur.direct = constree(cur, [(nm, st) for nm, st in structs if st[var[idx]] == id], idx + 1) - ret.append(cur) + sub = [(nm, st) for nm, st in structs if st[var[idx]] == id] + if len(sub) == 1: + nm, st = sub[0] + id = "".join(st[var[idx]:]) + ret.append(page(self, pj(self.path, orig[nm]), id, id, p.stack + [(p, len(ret))])) + else: + cur = interm(id, id, p.stack + [(p, len(ret))], []) + cur.direct = constree(cur, sub, idx + 1) + ret.append(cur) return ret return constree(self, structs, 0)