예제 #1
0
    def report_redundant_settings(self):
        # false positives: if powered by env var but the default value that is the same as django default
        self.stdout.write(
            self.style.MIGRATE_LABEL('Looking for redundant settings'))

        settings_dict = module_to_dict(settings)
        default_settings = module_to_dict(global_settings)

        warnings = []
        for key, value in settings_dict.items():
            if key in default_settings and settings.is_overridden(key):
                if value == default_settings[key]:
                    warnings.append(key)
        return warnings
예제 #2
0
def get_haystack_settings():
    """
    Find all settings which are prefixed with `HAYSTACK_`
    """
    filtered_settings = []
    connections = getattr(settings, 'HAYSTACK_CONNECTIONS', {})
    try:
        # 2.x style (one giant dictionary)
        connections['default']  #: may be a KeyError, in which case, 1.x style.
        for named_backend, values in connections.items():
            for setting_name, setting_value in values.items():
                setting_name = setting_name.replace('_', ' ')
                filtered_settings.append((setting_name, setting_value, named_backend))
    except KeyError as e:
        # 1.x style, where everything is a separate setting.
        searching_for = u'HAYSTACK_'
        all_settings = module_to_dict(settings._wrapped)
        for setting_name, setting_value in all_settings.items():
            if setting_name.startswith(searching_for):
                setting_name = setting_name.replace(searching_for, '').replace('_', ' ')
                filtered_settings.append((setting_name, setting_value))
    return filtered_settings
예제 #3
0
 def __init__(self, *args, **kwargs):
     self.settings_keys = list(module_to_dict(settings._wrapped).keys())
     super().__init__(*args, **kwargs)