def series(service_name, series_id): service = g.account.services[service_name] series = service.get_series(series_id) collection = service.get_collection() series_info = find_series_in_collection(collection, str(series_id)) if not series_info: raise Exception("Can't find series '%s' in collection." % series_id) lib = CbzLibrary(g.account.library_path) for issue in series: issue.series_title = series_info.title # Patch missing series_title from Comixology path = lib.get_issue_path(issue) issue.path = path if os.path.isfile(path): issue.downloaded = True issue.small_cover_url = service.cdn.get_resized(issue.cover_url, 170, 170) return render_template( 'series.html', title="Your Collection: %s" % series_info.title, service_name=service.service_name, username=service.username, series_id=series_id, series=series )
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)