Example #1
0
 def __call__(self, cfg, *arg):
     if isinstance(cfg, compat.string_types):
         url = sa_url.make_url(cfg)
     elif isinstance(cfg, sa_url.URL):
         url = cfg
     else:
         url = cfg.db.url
     backend = get_url_backend_name(url)
     if backend in self.fns:
         return self.fns[backend](cfg, *arg)
     else:
         return self.fns['*'](cfg, *arg)
Example #2
0
 def __call__(self, cfg, *arg):
     if isinstance(cfg, compat.string_types):
         url = sa_url.make_url(cfg)
     elif isinstance(cfg, sa_url.URL):
         url = cfg
     else:
         url = cfg.db.url
     backend = get_url_backend_name(url)
     if backend in self.fns:
         return self.fns[backend](cfg, *arg)
     else:
         return self.fns['*'](cfg, *arg)
Example #3
0
def _configs_for_db_operation():
    hosts = set()

    for cfg in config.Config.all_configs():
        cfg.db.dispose()

    for cfg in config.Config.all_configs():
        url = cfg.db.url
        backend = get_url_backend_name(url)
        host_conf = (backend, url.username, url.host, url.database)

        if host_conf not in hosts:
            yield cfg
            hosts.add(host_conf)

    for cfg in config.Config.all_configs():
        cfg.db.dispose()
Example #4
0
def _configs_for_db_operation():
    hosts = set()

    for cfg in config.Config.all_configs():
        cfg.db.dispose()

    for cfg in config.Config.all_configs():
        url = cfg.db.url
        backend = get_url_backend_name(url)
        host_conf = (
            backend,
            url.username, url.host, url.database)

        if host_conf not in hosts:
            yield cfg
            hosts.add(host_conf)

    for cfg in config.Config.all_configs():
        cfg.db.dispose()