Philipp Hörist pushed to branch master at gajim / gajim


Commits:
3c550df0 by Philipp Hörist at 2024-02-06T19:39:36+01:00
fix: Settings: Include all default settings as fallback

- - - - -


1 changed file:

- gajim/common/settings.py


Changes:

=====================================
gajim/common/settings.py
=====================================
@@ -935,12 +935,18 @@ def get_group_chat_setting(self,
                 return self.get_app_setting(f'gc_{setting}_default')
 
             if default is HAS_ACCOUNT_DEFAULT:
-                context_default_setting = f'gc_{setting}_{context}_default'
-                if context_default_setting in ACCOUNT_SETTINGS['account']:
-                    return self.get_account_setting(account,
-                                                    context_default_setting)
-                return self.get_account_setting(account,
-                                                f'gc_{setting}_default')
+                default_settings = [
+                    f'gc_{setting}_{context}_default',
+                    f'gc_{setting}_default',
+                    f'{setting}_default',
+                ]
+
+                for default_setting in default_settings:
+                    if default_setting in ACCOUNT_SETTINGS['account']:
+                        return self.get_account_setting(
+                            account, default_setting)
+
+                raise ValueError(f'No default setting found for {setting}')
 
             return default
 
@@ -997,9 +1003,20 @@ def set_group_chat_setting(self,
             if default is HAS_ACCOUNT_DEFAULT:
                 default_store = ACCOUNT_SETTINGS['account']
 
-            default = default_store.get(f'gc_{setting}_{context}_default')
+            default_settings = [
+                f'gc_{setting}_{context}_default',
+                f'gc_{setting}_default',
+                f'{setting}_default',
+            ]
+
+            default = None
+            for default_setting in default_settings:
+                if default_setting in default_store:
+                    default = default_store.get(default_setting)
+                    break
+
             if default is None:
-                default = default_store.get(f'gc_{setting}_default')
+                raise ValueError(f'No default setting found for {setting}')
 
         if not isinstance(value, type(default)) and value is not None:
             raise TypeError(f'Invalid type for {setting}: '



View it on GitLab: 
https://dev.gajim.org/gajim/gajim/-/commit/3c550df062a5fb4c2a9195861e87c20499cc0bca

-- 
View it on GitLab: 
https://dev.gajim.org/gajim/gajim/-/commit/3c550df062a5fb4c2a9195861e87c20499cc0bca
You're receiving this email because of your account on dev.gajim.org.


_______________________________________________
Commits mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to