Created
June 19, 2012 17:45
-
-
Save islamgulov/2955511 to your computer and use it in GitHub Desktop.
list providers init
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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