def find_driver(self,adapter_args,uri=None):
if getattr(self,'driver',None) != None:
return
drivers_available = [driver for driver in self.drivers
if driver in globals()]
if uri:
items = uri.split('://',1)[0].split(':')
request_driver = items[1] if len(items)>1 else None
else:
request_driver = None
request_driver = request_driver or adapter_args.get('driver')
if request_driver:
if request_driver in drivers_available:
self.driver_name = request_driver
self.driver = globals().get(request_driver)
else:
raise RuntimeError("driver %s not available" % request_driver)
elif drivers_available:
self.driver_name = drivers_available[0]
self.driver = globals().get(self.driver_name)
else:
raise RuntimeError("no driver available %s" % str(self.drivers))
评论列表
文章目录