From fe015d75e74f3de2a77a8503c805547b332da399 Mon Sep 17 00:00:00 2001 From: Remy Moll Date: Sat, 30 Oct 2021 15:42:49 +0200 Subject: [PATCH] Better naming for api wrappers --- apis/sbb.py | 53 +++++++++++++++++----------------------------- models/__init__.py | 0 models/events.py | 19 +++++++++++++++++ models/user.py | 0 server.py | 8 +++++++ 5 files changed, 47 insertions(+), 33 deletions(-) create mode 100644 models/__init__.py create mode 100644 models/events.py create mode 100644 models/user.py create mode 100644 server.py diff --git a/apis/sbb.py b/apis/sbb.py index a1048a6..aae1a50 100644 --- a/apis/sbb.py +++ b/apis/sbb.py @@ -2,40 +2,27 @@ import tortilla import requests -def get_auth(): - token_query = { - 'grant_type': 'client_credentials', - 'client_id': 'af929f08', - 'client_secret': 'ae61e214f679558c28678d5c638c5725' - } - - response = requests.post('https://sso-int.sbb.ch/auth/realms/SBB_Public/protocol/openid-connect/token', data=token_query).json() - - token = response["access_token"] - auth = { - 'Authorization': f"Bearer {token}", - 'X-Contract-Id': 'PLY223P', - # 'X-Conversation-Id': str(conv_id), - } - return auth +class SBBWrapper: + def __init__(self) -> None: + self.wrapper = tortilla.wrap('https://b2p-int.api.sbb.ch/api') + self.wrapper.config.headers = self.get_auth() + + def get_auth(self): + token_query = { + 'grant_type': 'client_credentials', + 'client_id': 'af929f08', + 'client_secret': 'ae61e214f679558c28678d5c638c5725' + } -SBB = tortilla.wrap('https://b2p-int.api.sbb.ch/api') -SBB.config.headers = get_auth() -# SBB.config.headers = { -# "grant_type" : "client_credentials", -# "client_secret" : "ae61e214f679558c28678d5c638c5725", -# "client_id" : "af929f08pied!", -# } + response = requests.post('https://sso-int.sbb.ch/auth/realms/SBB_Public/protocol/openid-connect/token', data=token_query).json() - -# Authorization: Bearer $accessToken' \ -# ​-H 'Cache-Control: no-cache' \ -# ​-H 'Accept: application/json' \ -# ​-H 'X-Contract-Id: ABC1234' \ -# ​-H 'X-Conversation-Id: e5eeb775-1e0e-4f89-923d-afa780ef844b - - -loc = SBB.locations -print(loc.get(params = {"name":"Bern"})) \ No newline at end of file + token = response["access_token"] + auth = { + 'Authorization': f"Bearer {token}", + 'X-Contract-Id': 'PLY223P', + # 'X-Conversation-Id': str(conv_id), + } + return auth + diff --git a/models/__init__.py b/models/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/models/events.py b/models/events.py new file mode 100644 index 0000000..7cf2383 --- /dev/null +++ b/models/events.py @@ -0,0 +1,19 @@ + + +class User: + name = "" + event_preferences = [] + event_blacklist = [] + home_coordinates = [] + group_size = 0 + min_age = 0 + max_age = 0 + + def __init__(self, **kwargs): + self.name = kwargs.pop("name") + self.home_coordinates = kwargs.pop("home_coordinates") + self.event_preferences = kwargs.pop("event_preferences") + self.event_blacklist = kwargs.pop("name") + self.group_size = kwargs.pop("group_size") + self.min_age = kwargs.pop("min_age") + self.max_age = kwargs.pop("max_age") diff --git a/models/user.py b/models/user.py new file mode 100644 index 0000000..e69de29 diff --git a/server.py b/server.py new file mode 100644 index 0000000..01a54eb --- /dev/null +++ b/server.py @@ -0,0 +1,8 @@ +from models import user, events +from apis import sbb + +SBB = sbb.SBBWrapper() + +ret = SBB.wrapper.locations.get(params={"name":"Zürich"}) +print(ret[:3]) +