aboutsummaryrefslogtreecommitdiffstats
path: root/python/api_quotes/api.py
diff options
context:
space:
mode:
Diffstat (limited to 'python/api_quotes/api.py')
-rw-r--r--python/api_quotes/api.py30
1 files changed, 12 insertions, 18 deletions
diff --git a/python/api_quotes/api.py b/python/api_quotes/api.py
index 15e080eb..a1ec5dfd 100644
--- a/python/api_quotes/api.py
+++ b/python/api_quotes/api.py
@@ -6,19 +6,19 @@ from typing import ClassVar
import requests
-class MarkitAPI:
- api_key: ClassVar = None
- base_url: ClassVar = None
+def load_api_key():
+ with get_credential_path("markit_api").open() as fh:
+ creds = json.load(fh)
+ base_url = creds.pop("url")
+ r = requests.post(
+ urljoin(base_url, "apikey"),
+ data=creds,
+ )
+ return base_url, r.text
- @classmethod
- def set_api(cls):
- creds = cls.get_creds()
- r = requests.post(
- urljoin(creds["url"], "apikey"),
- data={"username": creds["username"], "password": creds["password"]},
- )
- cls.api_key = r.text
- cls.base_url = creds["url"]
+
+class MarkitAPI:
+ base_url, api_key = load_api_key()
@classmethod
def get_data(cls, asset_class, service="latest"):
@@ -36,9 +36,3 @@ class MarkitAPI:
url = urljoin(cls.base_url, path)
r = requests.get(url, params)
return json.loads(r.text)
-
- @classmethod
- def get_creds(cls):
- cred_path = get_credential_path("markit_api")
- creds = json.load(cred_path.open())
- return creds