コード例 #1
0
ファイル: resolver.py プロジェクト: smartree/LinOTP
def _get_resolver_config(resolver_config_identifier):
    """
    get the resolver config of a resolver identified by its config identifier
        helper to access the resolver configuration

    :param resolver_config_identifier: resolver config identifier as string
    :return: dict with the resolver configuration
    """

    # identify the fully qualified resolver spec by all possible resolver
    # prefixes, which are taken from the resolver_classes list
    lookup_keys = []
    config_keys = list(resolver_registry.keys())
    for entry in config_keys:
        lookup_keys.append('linotp.' + entry)

    # we got the resolver prefix, now we can search in the config for
    # all resolver configuration entries
    resolver_config = {}
    config = context['Config']

    for key, value in list(config.items()):
        if key.endswith(resolver_config_identifier):
            for entry in lookup_keys:
                if key.startswith(entry):
                    resolver_config[key] = value

    return resolver_config
コード例 #2
0
def _get_resolver_config(resolver_config_identifier):
    """
    get the resolver config of a resolver identified by its config identifier
        helper to access the resolver configuration

    :param resolver_config_identifier: resolver config identifier as string
    :return: dict with the resolver configuration
    """

    # identify the fully qualified resolver spec by all possible resolver
    # prefixes, which are taken from the resolver_classes list
    lookup_keys = []
    config_keys = resolver_registry.keys()
    for entry in config_keys:
        lookup_keys.append('linotp.' + entry)

    # we got the resolver prefix, now we can search in the config for
    # all resolver configuration entries
    resolver_config = {}
    config = context['Config']

    for key, value in config.items():
        if key.endswith(resolver_config_identifier):
            for entry in lookup_keys:
                if key.startswith(entry):
                    resolver_config[key] = value

    return resolver_config
コード例 #3
0
ファイル: resolver.py プロジェクト: smartree/LinOTP
def get_cls_identifier(config_identifier):
    """
    Returns the class identifier string for a existing resolver
    identified by config_identifier (or None, if config_identifier
    doesn't exist)
    """

    config = context.get('Config')
    cls_identifiers = list(resolver_registry.keys())

    for config_entry in config:

        if not config_entry.endswith(config_identifier):
            continue

        for cls_identifier in cls_identifiers:
            if config_entry.startswith('linotp.' + cls_identifier):
                return cls_identifier

    return None
コード例 #4
0
def get_cls_identifier(config_identifier):

    """
    Returns the class identifier string for a existing resolver
    identified by config_identifier (or None, if config_identifier
    doesn't exist)
    """

    config = context.get('Config')
    cls_identifiers = resolver_registry.keys()

    for config_entry in config:

        if not config_entry.endswith(config_identifier):
            continue

        for cls_identifier in cls_identifiers:
            if config_entry.startswith('linotp.' + cls_identifier):
                return cls_identifier

    return None
コード例 #5
0
def similar_resolver_exists(config_identifier):
    """
    Signifies if a resolver identified by config_identifer
    exists in the configuration.

    :remark: matches case insensitive

    :returns: bool
    """

    config = context.get('Config')
    cls_identifiers = resolver_registry.keys()

    for config_entry in config:
        for cls_identifier in cls_identifiers:
            if config_entry.startswith('linotp.' + cls_identifier):
                __, __, entry_config_identifier = config_entry.rpartition('.')
                if entry_config_identifier.lower() == config_identifier.lower():
                    return True

    return False
コード例 #6
0
ファイル: resolver.py プロジェクト: smartree/LinOTP
def similar_resolver_exists(config_identifier):
    """
    Signifies if a resolver identified by config_identifer
    exists in the configuration.

    :remark: matches case insensitive

    :returns: bool
    """

    config = context.get('Config')
    cls_identifiers = list(resolver_registry.keys())

    for config_entry in config:
        for cls_identifier in cls_identifiers:
            if config_entry.startswith('linotp.' + cls_identifier):
                __, __, entry_config_identifier = config_entry.rpartition('.')
                if entry_config_identifier.lower() == config_identifier.lower(
                ):
                    return True

    return False