Rafał Pitoń 11 лет назад
Родитель
Сommit
412cd6a7c5
1 измененных файлов с 11 добавлено и 0 удалено
  1. 11 0
      misago/conf/dbsettings.py

+ 11 - 0
misago/conf/dbsettings.py

@@ -7,6 +7,7 @@ CACHE_KEY = 'misago_db_settings'
 class DBSettings(object):
 class DBSettings(object):
     def __init__(self):
     def __init__(self):
         self._settings = self._read_cache()
         self._settings = self._read_cache()
+        self._overrides = {}
 
 
     def _read_cache(self):
     def _read_cache(self):
         from misago.core.cache import cache
         from misago.core.cache import cache
@@ -55,6 +56,16 @@ class DBSettings(object):
         except KeyError:
         except KeyError:
             raise AttributeError("Setting %s is undefined" % attr)
             raise AttributeError("Setting %s is undefined" % attr)
 
 
+    def override_setting(self, setting, new_value):
+        if not setting in self._overrides:
+            self._overrides[setting] = self._settings[setting]['value']
+        self._settings[setting]['value'] = new_value
+        return new_value
+
+    def reset_settings(self):
+        for setting, original_value in self._overrides.items():
+            self._settings[setting]['value'] = original_value
+
 
 
 class _DBSettingsGateway(object):
 class _DBSettingsGateway(object):
     def get_db_settings(self):
     def get_db_settings(self):