def __init__(self, **params):
"""Initialize the REST API class."""
self.params = params
- self.endpoint = self.params['endpoint']
- self.token = self.params['token']
+
+ if params['creds']:
+ self.creds = params['creds']
if 'timeout' not in self.params:
self.timeout = None
- self.r = requests.Session()
- self.r.headers.update({'Authorization': 'Token {}'.format(self.token)})
- self.r.headers.update({'Content-Type': 'application/json'})
+ if self.creds['authtype'] == 'token':
+ self.endpoint = self.creds['endpoint']
+ self.token = self.creds['token']
+ self.r = requests.Session()
+ self.r.headers.update({'Authorization': 'Token {}'.format(self.token)}) # NOQA
+ self.r.headers.update({'Content-Type': 'application/json'})
def _request(self, url, method, data=None, timeout=10):
"""Execute the requested request."""
def __init__(self, **params):
"""Initialize the class."""
- if 'token' not in params:
- params['token'] = config.get_setting('rtd', 'token')
- if 'endpoint' not in params:
- params['endpoint'] = config.get_setting('rtd', 'endpoint')
+ self.params = params
+ if 'creds' not in self.params:
+ creds = {
+ 'authtype': 'token',
+ 'token': config.get_setting('rtd', 'token'),
+ 'endpoint': config.get_setting('rtd', 'endpoint')
+ }
+ params['creds'] = creds
+
super(ReadTheDocs, self).__init__(**params)
def project_list(self):
import lftools.api.client as client
-c = client.RestApi(endpoint='', token='xyz')
+creds = {
+ 'authtype': 'token',
+ 'endpoint': '',
+ 'token': 'xyz'
+}
+c = client.RestApi(creds=creds)
@responses.activate
import lftools.api.endpoints.readthedocs as client
-rtd = client.ReadTheDocs(endpoint='https://readthedocs.org/api/v3/',
- token='xyz')
+creds = {
+ 'authtype': 'token',
+ 'endpoint': 'https://readthedocs.org/api/v3/',
+ 'token': 'xyz'
+}
+rtd = client.ReadTheDocs(creds=creds)
FIXTURE_DIR = os.path.join(os.path.dirname(
os.path.realpath(__file__)), 'fixtures',)