From 0ae618835bf2cece9f8990257ca82ba460d87f1d Mon Sep 17 00:00:00 2001 From: Bob Swift Date: Fri, 25 Jun 2021 15:09:10 -0600 Subject: [PATCH] Use class method for initializing profile options --- picard/config.py | 8 ++++++-- picard/config_upgrade.py | 3 +-- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/picard/config.py b/picard/config.py index 70173ad79..7d83504f9 100644 --- a/picard/config.py +++ b/picard/config.py @@ -137,14 +137,18 @@ class SettingConfigSection(ConfigSection): PROFILES_KEY = 'user_profiles' SETTINGS_KEY = 'user_profile_settings' + @classmethod + def init_profile_options(cls): + ListOption.add_if_missing("profiles", cls.PROFILES_KEY, []) + Option.add_if_missing("profiles", cls.SETTINGS_KEY, {}) + def __init__(self, config, name): super().__init__(config, name) self.__qt_config = config self.__name = name self.__prefix = self.__name + '/' self._memoization = defaultdict(Memovar) - ListOption.add_if_missing("profiles", self.PROFILES_KEY, []) - Option.add_if_missing("profiles", self.SETTINGS_KEY, {}) + self.init_profile_options() def _get_active_profile_ids(self): profiles = self.__qt_config.profiles[self.PROFILES_KEY] diff --git a/picard/config_upgrade.py b/picard/config_upgrade.py index 20c976d11..0e89448e4 100644 --- a/picard/config_upgrade.py +++ b/picard/config_upgrade.py @@ -428,8 +428,7 @@ def rename_option(config, old_opt, new_opt, option_type, default): _s.remove(old_opt) _p = config.profiles - ListOption.add_if_missing("profiles", "user_profiles", []) - Option.add_if_missing("profiles", "user_profile_settings", {}) + _s.init_profile_options() all_settings = _p["user_profile_settings"] for profile in _p["user_profiles"]: id = profile["id"]