Skip to content

Instantly share code, notes, and snippets.

@islamgulov
Created June 19, 2012 17:45
Show Gist options
  • Save islamgulov/2955511 to your computer and use it in GitHub Desktop.
Save islamgulov/2955511 to your computer and use it in GitHub Desktop.
list providers init
class BaseServiceHandler(BaseHandler):
"""
To use this class inherit from it and define _DRIVERS and _Providers
Also to encode to json response custom object add them to obj_attrs dict.
"""
_DRIVERS = None
_Providers = None
_providers_list_response = None
def _get_driver_instance(self):
provider_name = self.params.get('provider')
headers = self.request.headers
api_data = parse_request_headers(headers)
Driver = get_driver_by_provider_name(
self._DRIVERS, self._Providers, provider_name)
if self.request.query_string == TEST_QUERY_STRING:
from tests.utils import get_driver_mock_http
Driver_copy = copy.deepcopy(Driver)
Driver_copy.connectionCls.conn_classes = get_driver_mock_http(
Driver.__name__)
driver_instance = get_driver_instance(Driver_copy, **api_data)
else:
driver_instance = get_driver_instance(Driver, **api_data)
return driver_instance
def providers(self):
"""
@return:
"""
if self._providers_list_response is None:
providers_dict = get_providers_dict(self._DRIVERS,
self._Providers)
response = self.json_response(providers_dict)
self.__class__._providers_list_response = response
return self._providers_list_response
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment