async def load_comics(comics, comic_presets, comic_mixins): comic_parsers = FutureList() for name, comic in comics.items(): metadata = comic.get('meta', {}) for meta_keys in ['name', 'layout', 'folder', 'initialurl']: if meta_keys in comic and meta_keys not in metadata: metadata[meta_keys] = comic[meta_keys] metadata.setdefault('name', name) if metadata.get('layout') not in ('horizontal', 'vertical', 'pane'): metadata['layout'] = 'horizontal' if 'folder' not in comic: metadata['folder'] = to_folder_name(name) parser = ComicParser.load_parser(comic, comic_presets, comic_mixins) comic_parsers.add(ComicDownloader(parser, metadata).load_comics()) await comic_parsers
async def load_guess_for(name, url, comic_presets, comic_mixins): guesser = ComicGuesser(name, url, comic_presets, comic_mixins) base_name, comic, comic2 = await guesser.find() if not base_name: return name, None, None comics = { 1: comic, 2: comic2 } data = { 'base': base_name, 'meta': { 'name': name, 'folder': to_folder_name(name), 'layout': 'horizontal', 'initialurl': url, } } return name, data, comics