def fetch_collectionpage(self, api): cp = self.options.collectionpage if cp is None: return api try: cp = unicode(urllib.unquote(str(cp)), "utf-8") except Exception: pass self.nfo["collectionpage"] = cp val = api.fetch_pages([cp]) rawtext = val["pages"].values()[0]["revisions"][0]["*"] mb = self.metabook = parse_collection_page(rawtext) wikitrust(api.baseurl, mb) # XXX: localised template parameter names??? meta = extract_metadata(rawtext, ("cover-image", "cover-color", "text-color", "editor", "description", "sort_as")) mb.editor = meta["editor"] mb.cover_image = meta["cover-image"] mb.cover_color = meta["cover-color"] mb.text_color = meta["text-color"] mb.description = meta["description"] mb.sort_as = meta["sort_as"] p = os.path.join(self.fsout.path, "collectionpage.txt") if isinstance(rawtext, unicode): rawtext = rawtext.encode("utf-8") open(p, "wb").write(rawtext) return api
def fetch_collectionpage(self, api): cp = self.options.collectionpage if cp is None: return api try: cp = unicode(urllib.unquote(str(cp)), "utf-8") except Exception: pass self.nfo["collectionpage"] = cp val = api.fetch_pages([cp]) rawtext = val["pages"].values()[0]["revisions"][0]["*"] mb = self.metabook = parse_collection_page(rawtext) wikitrust(api.baseurl, mb) # XXX: localised template parameter names??? meta = extract_metadata( rawtext, ("cover-image", "cover-color", "text-color", "editor", "description", "sort_as") ) mb.editor = meta["editor"] mb.cover_image = meta["cover-image"] mb.cover_color = meta["cover-color"] mb.text_color = meta["text-color"] mb.description = meta["description"] mb.sort_as = meta["sort_as"] p = os.path.join(self.fsout.path, "collectionpage.txt") if isinstance(rawtext, unicode): rawtext = rawtext.encode("utf-8") open(p, "wb").write(rawtext) return api
def got_pages(val): rawtext = val["pages"].values()[0]["revisions"][0]["*"] mb = self.metabook = parse_collection_page(rawtext) wikitrust(api.baseurl, mb) # XXX blocking twisted reactor. we really should use gevent # XXX: localised template parameter names??? meta = extract_metadata(rawtext, ("cover-image", "cover-color", "text-color", "editor", "description", "sort_as")) mb.editor = meta["editor"] mb.cover_image = meta["cover-image"] mb.cover_color = meta["cover-color"] mb.text_color = meta["text-color"] mb.description = meta["description"] mb.sort_as = meta["sort_as"] p = os.path.join(self.fsout.path, "collectionpage.txt") if isinstance(rawtext, unicode): rawtext=rawtext.encode("utf-8") open(p,"wb").write(rawtext) return api