def fetch_metadata(url: str, chapters=True) -> bytes: configuration = Configuration(adapters.getConfigSectionsFor(url), 'epub') adapter = adapters.getAdapter(configuration, url) adapter.is_adult = True metadata = adapter.getStoryMetadataOnly().getAllMetadata() if chapters: metadata['zchapters'] = [] for i, chap in enumerate(adapter.get_chapters()): metadata['zchapters'].append((i + 1, chap)) return metadata
def get_fff_config(url,fileform="epub",personalini=None): if not personalini: personalini = get_fff_personalini() sections=['unknown'] try: sections = adapters.getConfigSectionsFor(url) except Exception as e: logger.debug("Failed trying to get ini config for url(%s): %s, using section %s instead"%(url,e,sections)) configuration = Configuration(sections,fileform) configuration.readfp(StringIO(ensure_text(get_resources("plugin-defaults.ini")))) configuration.readfp(StringIO(ensure_text(personalini))) return configuration
def getUserConfig(self,user,url,fileformat): configuration = Configuration(adapters.getConfigSectionsFor(url),fileformat) logging.debug('reading defaults.ini config file') configuration.read('fanficfare/defaults.ini') ## Pull user's config record. l = UserConfig.all().filter('user ='******'reading config from UserConfig(%s)'%uconfig.config) configuration.readfp(StringIO(uconfig.config)) return configuration
def from_url(url: HttpUrl): fff_works = False try: configuration = Configuration(adapters.getConfigSectionsFor(str(url)), 'epub') fff_works = True except exceptions.UnknownSite: pass generator = mapping.get(url.host) if generator: return generator elif fff_works: return fanficfare_generator raise Exception()