def test_gets_archive_handler_by_ext(self, _isfile): tar_archive_handler = archive.extract_tarfile zip_archive_handler = archive.extract_zipfile _isfile.return_value = False for ext in ('tar', 'tar.gz', 'tgz', 'tar.bz2', 'tbz2', 'tbz'): handler = archive.get_archive_handler("somefile.{}".format(ext)) msg = "handler for extension: {}".format(ext) self.assertEqual(handler, tar_archive_handler, msg) for ext in ('zip', 'jar'): handler = archive.get_archive_handler("somefile.{}".format(ext)) msg = "handler for extension {}".format(ext) self.assertEqual(handler, zip_archive_handler, msg)
def test_gets_archive_hander_by_filetype(self, _isfile, _istarfile, _iszipfile): tar_archive_handler = archive.extract_tarfile zip_archive_handler = archive.extract_zipfile _isfile.return_value = True _istarfile.return_value = True _iszipfile.return_value = False handler = archive.get_archive_handler("foo") self.assertEqual(handler, tar_archive_handler) _istarfile.return_value = False _iszipfile.return_value = True handler = archive.get_archive_handler("foo") self.assertEqual(handler, zip_archive_handler)
def can_handle(self, source): url_parts = self.parse_url(source) if url_parts.scheme not in ('http', 'https', 'ftp', 'file'): return "Wrong source type" if get_archive_handler(self.base_url(source)): return True return False
def can_handle(self, source): url_parts = self.parse_url(source) if url_parts.scheme not in ('http', 'https', 'ftp', 'file'): return "Wrong source type" if get_archive_handler(self.base_url(source)): return True return False
def can_handle(self, source): url_parts = self.parse_url(source) if url_parts.scheme not in ('http', 'https', 'ftp', 'file'): # XXX: Why is this returning a boolean and a string? It's # doomed to fail since "bool(can_handle('foo://'))" will be True. return "Wrong source type" if get_archive_handler(self.base_url(source)): return True return False
def can_handle(self, source): url_parts = self.parse_url(source) if url_parts.scheme not in ('http', 'https', 'ftp', 'file'): # XXX: Why is this returning a boolean and a string? It's # doomed to fail since "bool(can_handle('foo://'))" will be True. return "Wrong source type" if get_archive_handler(self.base_url(source)): return True return False