diff --git a/beets/importer.py b/beets/importer.py index 61ff1294a..951e0ac4e 100644 --- a/beets/importer.py +++ b/beets/importer.py @@ -665,7 +665,7 @@ def read_tasks(session): archive_task = ArchiveImportTask(toppath) try: archive_task.extract() - except IOError as exc: + except Exception as exc: log.error('extraction failed: {0}'.format(exc)) continue toppath = archive_task.toppath diff --git a/test/test_importer.py b/test/test_importer.py index d6b211c2d..ca77ac8b0 100644 --- a/test/test_importer.py +++ b/test/test_importer.py @@ -23,7 +23,7 @@ from tarfile import TarFile import _common from _common import unittest -from helper import TestImportSession, TestHelper +from helper import TestImportSession, TestHelper, has_program from beets import library from beets import importer from beets.mediafile import MediaFile @@ -342,6 +342,7 @@ class ImportTarTest(ImportZipTest): return path +@unittest.skipIf(not has_program('unrar'), 'unrar program not found') class ImportRarTest(ImportZipTest): def create_archive(self):