# Path: feature_toggle/utilities.py
# class Container:
# 
#     def __init__(self, items):
#         self.items = frozenset(items)
# 
#     def __iter__(self):
#         return iter(self.items)
# 
#     def __hash__(self):
#         return hash(self.items)
# 
#     def __len__(self):
#         return len(self.items)


from django.conf import settings
from django.core.exceptions import ImproperlyConfigured
from .utilities import Container
# -*- coding: utf-8 -*-



# pylint: disable=invalid-name
class Attribute(Container):
    Module = 'module'

    Default = [
        Module,
    ]

    try:
        Custom = getattr(settings, 'FEATURE_TOGGLE_ATTR_CHOICES', None)
    except ImproperlyConfigured:
        # for unittests
        Custom = None

    def __init__(self):
        super().__init__(self.Custom or self.Default)


# pylint: disable=invalid-name

# Path: feature_toggle/utilities.py
# class Container:
# 
#     def __init__(self, items):
#         self.items = frozenset(items)
# 
#     def __iter__(self):
#         return iter(self.items)
# 
#     def __hash__(self):
#         return hash(self.items)
# 
#     def __len__(self):
#         return len(self.items)


# Path: feature_toggle/constants.py
from django.conf import settings
from django.core.exceptions import ImproperlyConfigured
from .utilities import Container

# -*- coding: utf-8 -*-



# pylint: disable=invalid-name
class Attribute(Container):
    Module = 'module'

    Default = [
        Module,
    ]

    try:
        Custom = getattr(settings, 'FEATURE_TOGGLE_ATTR_CHOICES', None)
    except ImproperlyConfigured:
        # for unittests
        Custom = None

    def __init__(self):
        super().__init__(self.Custom or self.Default)


# pylint: disable=invalid-name

class Environment(Container):