From 9c649d97f056ca3421714d82ab24989c2df6f835 Mon Sep 17 00:00:00 2001 From: Philipp Wolfer Date: Mon, 3 Sep 2018 22:44:17 +0200 Subject: [PATCH 1/3] PICARD-1328: Fix loading OptimFROG files --- picard/formats/apev2.py | 3 ++- test/data/test.ofr | Bin 0 -> 117 bytes test/data/test.ofs | Bin 0 -> 117 bytes test/test_formats.py | 10 ++++++++++ 4 files changed, 12 insertions(+), 1 deletion(-) create mode 100644 test/data/test.ofr create mode 100644 test/data/test.ofs diff --git a/picard/formats/apev2.py b/picard/formats/apev2.py index 940f23c32..e7b047bdf 100644 --- a/picard/formats/apev2.py +++ b/picard/formats/apev2.py @@ -275,7 +275,8 @@ class OptimFROGFile(APEv2File): def _info(self, metadata, file): super()._info(metadata, file) - if file.filename.lower().endswith(".ofs"): + # mutagen.File.filename can be either a bytes or str object + if str(file.filename.lower()).endswith(".ofs"): metadata['~format'] = "OptimFROG DualStream Audio" else: metadata['~format'] = "OptimFROG Lossless Audio" diff --git a/test/data/test.ofr b/test/data/test.ofr new file mode 100644 index 0000000000000000000000000000000000000000..3e0d3240fada8c6a73a6db792bb4a2752b881df9 GIT binary patch literal 117 zcmeZw3sT@`fB|O4hTRMdMe Date: Tue, 4 Sep 2018 08:22:38 +0200 Subject: [PATCH 2/3] PICARD-1328: Fix OptimFROG format detection --- picard/formats/apev2.py | 2 +- test/test_formats.py | 8 ++++++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/picard/formats/apev2.py b/picard/formats/apev2.py index e7b047bdf..faa0bb5d0 100644 --- a/picard/formats/apev2.py +++ b/picard/formats/apev2.py @@ -276,7 +276,7 @@ class OptimFROGFile(APEv2File): def _info(self, metadata, file): super()._info(metadata, file) # mutagen.File.filename can be either a bytes or str object - if str(file.filename.lower()).endswith(".ofs"): + if string_(file.filename.lower()).endswith(".ofs"): metadata['~format'] = "OptimFROG DualStream Audio" else: metadata['~format'] = "OptimFROG Lossless Audio" diff --git a/test/test_formats.py b/test/test_formats.py index d9d95bf3a..232cc8a3b 100644 --- a/test/test_formats.py +++ b/test/test_formats.py @@ -509,11 +509,19 @@ class OptimFROGLosslessTest(CommonTests.FormatsTest): testfile = 'test.ofr' supports_ratings = False + def test_format(self): + metadata = load_metadata(self.filename) + self.assertEqual(metadata['~format'], 'OptimFROG Lossless Audio') + class OptimFROGDUalStreamTest(CommonTests.FormatsTest): testfile = 'test.ofs' supports_ratings = False + def test_format(self): + metadata = load_metadata(self.filename) + self.assertEqual(metadata['~format'], 'OptimFROG DualStream Audio') + cover_settings = { 'embed_only_one_front_image': True, From 4137f631e1ac03f0de3532d58741bad19d8a72de Mon Sep 17 00:00:00 2001 From: Philipp Wolfer Date: Tue, 4 Sep 2018 11:38:02 +0200 Subject: [PATCH 3/3] PICARD-1331: Fix crash when plugin installation fails --- picard/plugin.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/picard/plugin.py b/picard/plugin.py index 31c0b93ad..ced6ee6d7 100644 --- a/picard/plugin.py +++ b/picard/plugin.py @@ -446,7 +446,7 @@ class PluginManager(QtCore.QObject): try: installed_plugin = self.load_plugin(zip_plugin or plugin_name, USER_PLUGIN_DIR) except Exception as e: - log.error('Unable to load plugin: %s.\nError occured: %s', name, e) + log.error('Unable to load plugin: %s.\nError occured: %s', plugin_name, e) installed_plugin = None if installed_plugin is not None: