djblets.features.checkers¶
- class BaseFeatureChecker[source]¶
Base class for a feature checker.
Subclasses are responsible for overriding
is_feature_enabled()and returning a suitable result for any given feature.- min_enabled_level[source]¶
The minimum feature level to enable by default.
If
settings.MIN_ENABLED_FEATURE_LEVELis set, that value will be used.If
settings.DEBUGisTrue, then anythingBETAor higher will be enabled by default.If
settings.DEBUGisFalse, then anythingSTABLEor higher will be enabled by default.Subclasses can override this to provide custom logic.
- class SettingsFeatureChecker[source]¶
Feature checker that checks against a SiteConfiguration.
This feature checker will check if a feature is enabled by checking the the
settings.ENABLED_FEATURESdictionary. This key can be changed by subclassing and modifyingsettings_key.
- class SiteConfigFeatureChecker[source]¶
Feature checker that checks against a SiteConfiguration.
This feature checker will check two places to see if a feature is enabled:
The
enabled_featuresdictionary in aSiteConfigurationsettings.The
settings.ENABLED_FEATURESdictionary.
These keys can be changed by subclassing and modifying
siteconfig_keyandsettings_key.- is_feature_enabled(feature_id, **kwargs)[source]¶
Return whether a feature is enabled for a given ID.
The feature will be enabled if its feature ID is set to
Truein either theenabled_featureskey in aSiteConfigurationor in asettings.ENABLED_FEATURESdictionary.
- set_feature_checker(feature_checker)[source]¶
Set the feature checker to use for all features.
This can be called to manually configure a feature checker, or to unset the feature checker in order to recompute it.
- Parameters
feature_checker (BaseFeatureChecker) – The new feature checker to set, or
Noneto unset.
- get_feature_checker()[source]¶
Return the configured feature checker instance.
The class to use is configured through the
settings.FEATURE_CHECKERsetting, which must be a full module and class path. If not specified,SettingsFeatureCheckerwill be used.The same feature checker instance will be returned each time this is called.
- Returns
A feature checker instance.
- Return type
- Raises
django.core.exceptions.ImproperlyConfigured – There was an error either in the
settings.FEATURE_CHECKERvalue or in instantiating the feature checker.