コード例 #1
0
ファイル: app.py プロジェクト: htormey/velruse
def parse_config_file(config_file):
    """Parse a YAML config file to load and configure
    the appropriate auth providers"""
    f = open(config_file, "r")
    content = f.read()
    f.close()
    config = yaml.load(content)

    # Initialize the UserStore(s) first for use with the providers
    store_config = config["Store"]
    store_type = store_config.pop("Type")
    if store_type in STORAGE:
        config["UserStore"] = STORAGE[store_type].load_from_config(store_config)
    else:
        obj = load_package_obj(store_type)
        config["UserStore"] = obj.load_from_config(store_config)

    # Check for and load the OpenID Store if present
    oid_store = config.pop("OpenID Store", None)
    if oid_store:
        obj = load_package_obj(oid_store.pop("Type"))
        config["OpenID Store"] = obj(**oid_store)

    # The loaded providers
    auth_providers = {}

    # Initialize the providers
    for k, v in PROVIDERS.items():
        if k not in config:
            continue
        params = PROVIDERS[k].parse_config(config)
        auth_providers[k.lower()] = PROVIDERS[k](**params)
    return auth_providers
コード例 #2
0
ファイル: test_utils.py プロジェクト: cjw296/velruse
 def test_bad_format(self):
     try:
         load_package_obj('MemStore')
     except ValueError,e:
         eq_(e.args[0],
             "Could not parse package and object name "
             "from 'MemStore', should be 'package:object'")
コード例 #3
0
 def test_bad_format(self):
     try:
         load_package_obj('MemStore')
     except ValueError, e:
         eq_(
             e.args[0], "Could not parse package and object name "
             "from 'MemStore', should be 'package:object'")
コード例 #4
0
ファイル: app.py プロジェクト: tomlikestorock/velruse
def parse_config_file(config_file, config_overrides=None):
    """Parse a YAML config file to load and configure
    the appropriate auth providers"""
    f = open(config_file, 'r')
    content = f.read()
    f.close()
    config = yaml.load(content)
    if config_overrides:
        for section, options in config_overrides.iteritems():
            for key, value in options.iteritems():
                config.setdefault(section, {})
                config[section].setdefault(key, value)

    # Initialize the UserStore(s) first for use with the providers
    store_config = config['Store']
    store_type = store_config.pop('Type')
    if store_type in STORAGE:
        config['UserStore'] = STORAGE[store_type].load_from_config(
            store_config)
    else:
        obj = load_package_obj(store_type)
        config['UserStore'] = obj.load_from_config(store_config)
    user_storage = config['UserStore']

    # Check for and load the OpenID Store if present
    oid_store = config.pop('OpenID Store', None)
    if oid_store:
        obj = load_package_obj(oid_store.pop('Type'))
        config['OpenID Store'] = obj(**oid_store)

    # The loaded providers
    auth_providers = {}

    # Initialize the providers
    for k, v in PROVIDERS.items():
        if k not in config:
            continue
        params = PROVIDERS[k].parse_config(config)
        log.debug("Configuring %r with %r", k, params)
        auth_providers[k.lower()] = PROVIDERS[k](**params)
    return auth_providers, user_storage
コード例 #5
0
ファイル: app.py プロジェクト: elpargo/velruse
def parse_config_file(config_file, config_overrides=None):
    """Parse a YAML config file to load and configure
    the appropriate auth providers"""
    f = open(config_file, 'r')
    content = f.read()
    f.close()
    config = yaml.load(content)
    if config_overrides:
        for section, options in config_overrides.iteritems():
            for key, value in options.iteritems():
                config.setdefault(section, {})
                config[section].setdefault(key, value)

    # Initialize the UserStore(s) first for use with the providers
    store_config = config['Store']
    store_type = store_config.pop('Type')
    if store_type in STORAGE:
        config['UserStore'] = STORAGE[store_type].load_from_config(store_config)
    else:
        obj = load_package_obj(store_type)
        config['UserStore'] = obj.load_from_config(store_config)
    user_storage = config['UserStore']

    # Check for and load the OpenID Store if present
    oid_store = config.pop('OpenID Store', None)
    if oid_store:
        obj = load_package_obj(oid_store.pop('Type'))
        config['OpenID Store'] = obj(**oid_store)

    # The loaded providers
    auth_providers = {}

    # Initialize the providers
    for k, v in PROVIDERS.items():
        if k not in config:
            continue
        params = PROVIDERS[k].parse_config(config)
        log.debug("Configuring %r with %r", k, params)
        auth_providers[k.lower()] = PROVIDERS[k](**params)
    return auth_providers, user_storage
コード例 #6
0
ファイル: test_utils.py プロジェクト: cjw296/velruse
 def test_ok(self):
     from velruse.store.memstore import MemoryStore
     loaded = load_package_obj('velruse.store.memstore:MemoryStore')
     assert_true(loaded is MemoryStore)
コード例 #7
0
ファイル: test_utils.py プロジェクト: cjw296/velruse
 def test_module_not_there(self):
     load_package_obj('velruse.badmodule:BadMember')
コード例 #8
0
ファイル: test_utils.py プロジェクト: cjw296/velruse
 def test_member_not_there(self):
     load_package_obj('velruse.store.memstore:BadMember')
コード例 #9
0
 def test_ok(self):
     from velruse.store.memstore import MemoryStore
     loaded = load_package_obj('velruse.store.memstore:MemoryStore')
     assert_true(loaded is MemoryStore)
コード例 #10
0
 def test_module_not_there(self):
     load_package_obj('velruse.badmodule:BadMember')
コード例 #11
0
 def test_member_not_there(self):
     load_package_obj('velruse.store.memstore:BadMember')