X-Git-Url: http://dolda2000.com/gitweb/?a=blobdiff_plain;ds=sidebyside;f=manga%2Freader.py;h=c4d322d896f62a96ece5a09f12d8c65b43b5d826;hb=ca0d6a2e71303c12c76f6edc9b17c15456bcf4f3;hp=0e870eb35b0d741c520b58900ac04d334761f0f7;hpb=9e49da7ac6d278f6ef92c28446f95bf3065a1d41;p=automanga.git diff --git a/manga/reader.py b/manga/reader.py index 0e870eb..c4d322d 100644 --- a/manga/reader.py +++ b/manga/reader.py @@ -1,6 +1,8 @@ import threading +import gi +gi.require_version("Gtk", "3.0") from gi.repository import Gtk as gtk, GdkPixbuf as gdkpix, Gdk as gdk, GObject as gobject -import lib, profile +from . import lib, profile class notdone(Exception): pass @@ -12,13 +14,13 @@ class future(threading.Thread): self._val = None self._exc = None self._notlist = [] - self._started = False + self._tstarted = False self.setDaemon(True) def start(self): - if not self._started: + if not self._tstarted: super(future, self).start() - self._started = True + self._tstarted = True def run(self): try: @@ -84,7 +86,7 @@ class imgload(future): self.st = st while True: read = st.read(1024) - if read == "": + if read == b"": break self.p += len(read) buf.write(read) @@ -157,7 +159,10 @@ class idpageget(future): self.idlist = idlist def value(self): - return lib.cursor(self.bnode.byidlist(self.idlist)).cur + try: + return lib.cursor(self.bnode.byidlist(self.idlist)).cur + except KeyError: + raise KeyError("could not find last read page: " + repr(self.idlist)) class pageget(future): def __init__(self, fnode): @@ -520,7 +525,7 @@ class reader(gtk.Window): self.pfr.show() self.sboxbar = gtk.HBox() algn = gtk.Alignment(xalign=0.0, yalign=0.5, xscale=0.0, yscale=0.0) - sboxlbl = gtk.Label(self.manga.name + u": ") + sboxlbl = gtk.Label(self.manga.name + ": ") algn.add(sboxlbl) sboxlbl.show() self.sboxbar.pack_start(algn, False, True, 0) @@ -553,7 +558,7 @@ class reader(gtk.Window): self.pagelbl.set_text("") else: w, h = self.page.get_osize() - self.pagelbl.set_text(u"%s\u00d7%s (%d%%)" % (w, h, int(self.page.zoom * 100))) + self.pagelbl.set_text("%s\u00d7%s (%d%%)" % (w, h, int(self.page.zoom * 100))) def updsboxes(self, page): nodes = [node for node, idx in page.stack[1:]] + [page] @@ -562,10 +567,10 @@ class reader(gtk.Window): if pbox.node != node: l = i break - for i in xrange(l, len(self.sboxes)): + for i in range(l, len(self.sboxes)): self.sboxbar.remove(self.sboxes[i]) self.sboxes = self.sboxes[:l] - for i in xrange(l, len(nodes)): + for i in range(l, len(nodes)): new = sbox(self, nodes[i]) self.sboxbar.pack_start(new, False, True, 5) self.sboxes.append(new) @@ -602,7 +607,7 @@ class reader(gtk.Window): return proc def updtitle(self): - self.set_title(u"Automanga \u2013 " + self.manga.name) + self.set_title("Automanga \u2013 " + self.manga.name) @property def zoom(self):