Example #1
0
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
Example #2
0
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