def get_driver_instance_by_request(providers, request): provider_name = request.args.get('provider') headers = request.headers api_data = parse_request_headers(headers) Driver = get_driver_by_provider_name( providers.DRIVERS, providers.Provider, provider_name) if TEST_QUERY_STRING in request.query_string and DEBUG: driver_instance = get_test_driver_instance(Driver, api_data) else: driver_instance = get_driver_instance(Driver, api_data) return driver_instance
def _get_drivers(providers, drivers): result = [] for provider_name in providers.__dict__.keys(): if provider_name.startswith('_'): continue provider_name = provider_name.upper() try: Driver = get_driver_by_provider_name(drivers, providers, provider_name) result.append(Driver) except ProviderNotSupportedError: continue return result