def get_comic_metadata(stream, stream_type, series_index='volume'): # See http://code.google.com/p/comicbookinfo/wiki/Example from calibre.ebooks.metadata import MetaInformation comment = None mi = MetaInformation(None, None) if stream_type == 'cbz': from calibre.utils.zipfile import ZipFile zf = ZipFile(stream) comment = zf.comment elif stream_type == 'cbr': from calibre.utils.unrar import comment as get_comment comment = get_comment(stream) if comment: import json m = json.loads(comment) if hasattr(m, 'iterkeys'): for cat in m.iterkeys(): if cat.startswith('ComicBookInfo'): get_comic_book_info(m[cat], mi, series_index=series_index) break return mi
def get_comic_metadata(stream, stream_type, series_index='volume'): comment = None if stream_type == 'cbz': from calibre.utils.zipfile import ZipFile zf = ZipFile(stream) comment = zf.comment elif stream_type == 'cbr': from calibre.utils.unrar import comment as get_comment comment = get_comment(stream) return parse_comic_comment(comment or b'{}', series_index=series_index)