def get_archive_info(path): """Return a tuple (mime, num_pages, size) with info about the archive at <path>, or None if <path> doesn't point to a supported archive. """ image_re = re.compile('\.('+'|'.join(get_supported_format_extensions_preg())+')\s*$', re.I) extractor = Extractor() extractor.setup(path, None) mime = extractor.get_mime_type() if mime is None: return None files = extractor.get_files() extractor.close() num_pages = len(filter(image_re.search, files)) size = os.stat(path).st_size return (mime, num_pages, size)
def _guess_cover(files): """Return the filename within <files> that is the most likely to be the cover of an archive using some simple heuristics. """ filehandler.alphanumeric_sort(files) ext_re = re.compile('\.('+'|'.join(get_supported_format_extensions_preg())+')\s*$', re.I) front_re = re.compile('(cover|front)', re.I) images = filter(ext_re.search, files) candidates = filter(front_re.search, images) candidates = [c for c in candidates if 'back' not in c.lower()] if candidates: return candidates[0] if images: return images[0] return None
def get_archive_info(path): """Return a tuple (mime, num_pages, size) with info about the archive at <path>, or None if <path> doesn't point to a supported archive. """ image_re = re.compile( '\.(' + '|'.join(get_supported_format_extensions_preg()) + ')\s*$', re.I) extractor = Extractor() extractor.setup(path, None) mime = extractor.get_mime_type() if mime is None: return None files = extractor.get_files() extractor.close() num_pages = len(filter(image_re.search, files)) size = os.stat(path).st_size return (mime, num_pages, size)
def __init__(self, window): self.file_loaded = False self.archive_type = None self._window = window self._base_path = None self._tmp_dir = tempfile.mkdtemp(prefix='comix.', suffix=os.sep) self._image_files = [] self._current_image_index = 0 self._comment_files = [] self._raw_pixbufs = {} self._name_table = {} self._extractor = archive.Extractor() self._condition = None self._image_re = re.compile('\.('+'|'.join(get_supported_format_extensions_preg())+')\s*$', re.I) self.update_comment_extensions()
def __init__(self, window): self.file_loaded = False self.archive_type = None self._window = window self._base_path = None self._tmp_dir = tempfile.mkdtemp(prefix='comix.', suffix=os.sep) self._image_files = [] self._current_image_index = None self._comment_files = [] self._raw_pixbufs = {} self._name_table = {} self._extractor = archive.Extractor() self._condition = None self._image_re = re.compile('\.('+'|'.join(get_supported_format_extensions_preg())+')\s*$', re.I) self.update_comment_extensions()