X-Git-Url: http://git.dolda2000.com/gitweb/?a=blobdiff_plain;f=manga%2Flocal.py;h=7e21a9b54b8a845aba7697961d4d510250f56e9e;hb=531e4473ccfc214cb30582905b7dea23d011d501;hp=3051013f971a43ce50166d107b9b340d5be0c8d2;hpb=afd66b913158fdca95d1a30a0518808afb437374;p=automanga.git diff --git a/manga/local.py b/manga/local.py index 3051013..7e21a9b 100644 --- a/manga/local.py +++ b/manga/local.py @@ -1,5 +1,5 @@ import os -import lib +from . import lib pj = os.path.join def decode1(nm): @@ -95,9 +95,9 @@ class manga(lib.manga): self.stack = [] if os.path.exists(pj(self.path, "name")): with open(pj(self.path, "name")) as s: - self.name = s.readline().strip().decode("utf-8") + self.name = s.readline().strip() else: - self.name = os.path.basename(path).decode("utf-8") + self.name = os.path.basename(path) self.direct = self.destruct() def __len__(self): @@ -128,6 +128,8 @@ class manga(lib.manga): ordered, files = self.imglist() pages, orig = self.bakenames(files) mx = maxstruct(pages) + if mx is None: + raise TypeError("could not figure out any structure") var = [i for i, part in enumerate(mx) if part == int] structs = [(nm, decode1(nm)) for nm in pages] if not ordered: @@ -183,8 +185,13 @@ class directory(dumb): ret.append(manga(pj(self.path, dent))) return ret + def search(self, expr): + expr = expr.lower() + return [manga(pj(self.path, dent)) for dent in os.listdir(self.path) if expr in dent.lower()] + def __iter__(self): for dent in os.listdir(self.path): yield manga(pj(self.path, dent)) + library = dumb