From ca255a8c02f158060bc4accf993606fd64e1497f Mon Sep 17 00:00:00 2001 From: Bob Swift Date: Mon, 28 Nov 2022 13:56:25 -0700 Subject: [PATCH 1/3] Abort `LOOKUP_CD` command if there is no `discid` module loaded --- picard/tagger.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/picard/tagger.py b/picard/tagger.py index 932d54854..b1ab803cf 100644 --- a/picard/tagger.py +++ b/picard/tagger.py @@ -134,7 +134,10 @@ from picard.util import ( versions, webbrowser2, ) -from picard.util.cdrom import get_cdrom_drives +from picard.util.cdrom import ( + discid as _discid, + get_cdrom_drives, +) from picard.util.checkupdate import UpdateCheckManager from picard.webservice import WebService from picard.webservice.api_helpers import ( @@ -573,6 +576,9 @@ class Tagger(QtWidgets.QApplication): log.error("Invalid LOOKUP command argument: '%s'", argstring) def handle_command_lookup_cd(self, argstring): + if not _discid: + log.error("The Lookup CD function is not available.") + return disc = Disc() devices = get_cdrom_drives() From 301aa38ca6446e78bf84563fcf7920665458acae Mon Sep 17 00:00:00 2001 From: Bob Swift Date: Tue, 29 Nov 2022 08:56:06 -0700 Subject: [PATCH 2/3] Update error message text --- picard/tagger.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/picard/tagger.py b/picard/tagger.py index b1ab803cf..8bb5feaea 100644 --- a/picard/tagger.py +++ b/picard/tagger.py @@ -577,7 +577,7 @@ class Tagger(QtWidgets.QApplication): def handle_command_lookup_cd(self, argstring): if not _discid: - log.error("The Lookup CD function is not available.") + log.error("CDROM: discid library not found - Lookup CD functionality disabled") return disc = Disc() devices = get_cdrom_drives() From 9a76bc65c6bab354573c8b5660d9501f55f027a6 Mon Sep 17 00:00:00 2001 From: Bob Swift Date: Tue, 29 Nov 2022 09:58:31 -0700 Subject: [PATCH 3/3] Move duplicate string to constant --- picard/tagger.py | 3 ++- picard/ui/mainwindow.py | 3 ++- picard/util/cdrom.py | 1 + 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/picard/tagger.py b/picard/tagger.py index 8bb5feaea..51a911a2c 100644 --- a/picard/tagger.py +++ b/picard/tagger.py @@ -135,6 +135,7 @@ from picard.util import ( webbrowser2, ) from picard.util.cdrom import ( + DISCID_NOT_LOADED_MESSAGE, discid as _discid, get_cdrom_drives, ) @@ -577,7 +578,7 @@ class Tagger(QtWidgets.QApplication): def handle_command_lookup_cd(self, argstring): if not _discid: - log.error("CDROM: discid library not found - Lookup CD functionality disabled") + log.error(DISCID_NOT_LOADED_MESSAGE) return disc = Disc() devices = get_cdrom_drives() diff --git a/picard/ui/mainwindow.py b/picard/ui/mainwindow.py index 4b557f033..1ba807d28 100644 --- a/picard/ui/mainwindow.py +++ b/picard/ui/mainwindow.py @@ -99,6 +99,7 @@ from picard.util import ( webbrowser2, ) from picard.util.cdrom import ( + DISCID_NOT_LOADED_MESSAGE, discid, get_cdrom_drives, ) @@ -913,7 +914,7 @@ class MainWindow(QtWidgets.QMainWindow, PreserveGeometry): self.cd_lookup_menu.clear() self.cd_lookup_action.setEnabled(discid is not None) if not drives: - log.warning("CDROM: No CD-ROM drives found - Lookup CD functionality disabled") + log.warning(DISCID_NOT_LOADED_MESSAGE) else: config = get_config() shortcut_drive = config.setting["cd_lookup_device"].split(",")[0] if len(drives) > 1 else "" diff --git a/picard/util/cdrom.py b/picard/util/cdrom.py index 0d6ef958c..6e704e0ac 100644 --- a/picard/util/cdrom.py +++ b/picard/util/cdrom.py @@ -47,6 +47,7 @@ except ImportError: except (ImportError, OSError): discid = None +DISCID_NOT_LOADED_MESSAGE = "CDROM: discid library not found - Lookup CD functionality disabled" DEFAULT_DRIVES = [] if discid is not None: