Flag Sources

Django-Flags provides a means to provide custom flag sources using the FLAG_SOURCES setting. Flag sources are classes that provide a get_flags method. The get_flags method must return a dictionary of flag name keys with a list of Condition objects.

from flags.sources import Condition


class CustomFlagSource(object):

    def get_flags(self):
        flags = {
            'MY_FLAG': [
                Condition('parameter', 'enable_my_flag'),
            ]
        }
        return flags

API

get_flags(sources=None, ignore_errors=False)

Return a dictionary of all flag names with Flag objects that are available in the given sources. If sources is not given, the sources in the FLAG_SOURCES setting are used. If ignore_errors is True, any exceptions that occur when getting flags from a source will be caught and ignored.

Condition(condition, value, required=False)

A simple wrapper around conditions.

Condition.check(*kwargs)

Check the condition against the given keyword arguments.

Flag(name, conditions=[])

A simple wrapper around flags and their conditions. conditions is a list of Condition objects.

Flag.check_state(*kwargs)

Check all of a flag's conditions and return the state based on the given keyword arguments.