コード例 #1
0
def do_download(service_name, comic_id, account):
    service = account.services[service_name]
    issue = service.get_issue(comic_id)
    active_downloads[comic_id] = {
            'title': '%s #%s' % (issue.title, issue.num),
            'message': '',
            'progress': 0
            }

    def on_cbz_progress(value=None, message=None, error=None):
        if value is not None:
            active_downloads[comic_id]['progress'] = value
        if message is not None:
            active_downloads[comic_id]['message'] = message
        if error is not None:
            active_downloads[comic_id]['message'] = "ERROR: " + error

    try:
        library = CbzLibrary(g.account.library_path)
        builder = CbzBuilder()
        builder.set_watermark(service_name, service.username)
        builder.set_temp_folder(cache_dir)
        builder.set_progress_subscriber(on_cbz_progress)
        app.logger.debug('Downloading %s [%s] to: %s' % (issue.title, comic_id, account.library_path))
        builder.save(issue, in_library=library)
    except Exception as e:
        app.logger.error('Error downloading comic: %s' % e)
    finally:
        active_downloads.pop(comic_id)
コード例 #2
0
def download(issue_id, service_name=None, output=None, metadata_only=False):
    ''' Downloads comicbook issues.
    '''
    service = _get_service_safe(service_name)

    issue = service.get_issue(issue_id)
    app.logger.info("[%s] %s" % (issue.comic_id, issue.get_display_title()))
    
    if output is None:
        account = _get_account()
        library = CbzLibrary(account.library_path)
        output = library.get_issue_path(issue)
    out_path = output.strip('\'" ')

    builder = CbzBuilder(service, subscriber=CliDownloadProgress(), temp_folder=cache_dir)
    builder.username = service.username
    if metadata_only:
        builder.update(issue, out_path=out_path)
        app.logger.info("Issue updated at: %s" % out_path)
    else:
        builder.save(issue, out_path=out_path)
        app.logger.info("Issue saved at: %s" % out_path)