djblets.extensions.settings¶
Settings API for extensions.
- class ExtensionSettings(extension)¶
Bases:
dict
Settings data for an extension.
This is a glorified dictionary that acts as a proxy for the extension’s stored settings in the database.
Callers must call
save()
when they want to make the settings persistent.If a key is not found in the dictionary,
Extension.default_settings
will be checked as well.- __init__(extension)¶
Initialize and load the settings.
- Parameters:
extension (
djblets.extensions.extension.Extension
) – The extension the settings is for.
- __getitem__(key)¶
Retrieve an item from the dictionary.
This will attempt to return a default value from
Extension.default_settings
if the setting has not been set.
- __contains__(key)¶
Return if a setting can be found.
This will check both the stored settings and the default settings for the extension.
- get(key, default=None)¶
Return the value for a setting.
This will return a value from either the stored settings, the extensin’s default settings, or the value passed as
default
.
- set(key, value)¶
Set a setting’s value.
This is equivalent to setting the value through standard dictionary attribute storage.
- load()¶
Load the settings from the database.
- save()¶
Save all current settings to the database.
- Settings¶
Legacy name for ExtensionSettings.
This is unlikely to be needed outside of the Djblets Extensions code, but is available for any callers who might be dependent on it.
Deprecated since version 2.0: Renamed to
ExtensionSettings
. This will be removed in Djblets 3.0.