# -*- coding: utf-8 -*- import os import zipfile import logging import ox logger = logging.getLogger(__name__) def cover(path): data = None logger.debug('cover %s', path) data = None try: z = zipfile.ZipFile(path) except zipfile.BadZipFile: logger.debug('invalid zbc file %s', path) return data files = [f.filename for f in z.filelist] if files: cover = ox.sorted_strings(files)[0] try: data = z.read(cover) except: data = None return data def info(path): data = {} data['title'] = os.path.splitext(os.path.basename(path))[0] #data['pages'] = fixme read rar to count pages return data