|
@@ -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):
|