Skip to content

Commit

Permalink
Fixed also the hass components and updated version to 0.6
Browse files Browse the repository at this point in the history
  • Loading branch information
xraver committed Dec 15, 2020
1 parent 7f92a6d commit d4f1d00
Show file tree
Hide file tree
Showing 4 changed files with 22 additions and 13 deletions.
2 changes: 1 addition & 1 deletion const.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
# Software Parameters
NAME = "Mercedes Me API"
DOMAIN = "mercedesmeapi"
VERSION = "0.5"
VERSION = "0.6"
TOKEN_FILE = ".mercedesme_token"
CREDENTIAL_FILE = ".mercedesme_credentials"
RESOURCES_FILE = ".mercedesme_resources"
Expand Down
2 changes: 1 addition & 1 deletion custom_components/mercedesmeapi/const.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
# Software Parameters
NAME = "Mercedes Me API"
DOMAIN = "mercedesmeapi"
VERSION = "0.5"
VERSION = "0.6"
TOKEN_FILE = ".mercedesme_token"
CREDENTIAL_FILE = ".mercedesme_credentials"
RESOURCES_FILE = ".mercedesme_resources"
Expand Down
6 changes: 3 additions & 3 deletions custom_components/mercedesmeapi/oauth.py
Original file line number Diff line number Diff line change
Expand Up @@ -142,7 +142,7 @@ def CreateToken(self):
auth_code = input()

data = f"grant_type=authorization_code&code={auth_code}&redirect_uri={REDIRECT_URL}"
token = GetToken(URL_OAUTH_TOKEN, self.headers, data)
token = GetToken(URL_OAUTH_TOKEN, self.headers, data, refresh=False)

# Check Token
if not self.CheckToken(token):
Expand All @@ -160,8 +160,8 @@ def CreateToken(self):
########################
def RefreshToken(self):

data = f"grant_type=refresh_token&refresh_token={self.refresh_token}"
token = GetToken(URL_OAUTH_TOKEN, self.headers, data)
data = f"grant_type=refresh_token&refresh_token={self.refresh_token}"
token = GetToken(URL_OAUTH_TOKEN, self.headers, data, refresh=True)

# Check Token
if not self.CheckToken(token):
Expand Down
25 changes: 17 additions & 8 deletions custom_components/mercedesmeapi/query.py
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@ def GetResource(resourceURL, config):
########################
# GetToken
########################
def GetToken(tokenURL, headers, data):
def GetToken(tokenURL, headers, data, refresh=True):
res = requests.post(tokenURL, data = data, headers = headers)
try:
data = res.json()
Expand All @@ -79,14 +79,23 @@ def GetToken(tokenURL, headers, data):
if ("reason" in data):
reason = data["reason"]
else:
if res.status_code == 302:
reason = "The request scope is invalid"
elif res.status_code == 400:
reason = "The redirect_uri differs from the registered one"
elif res.status_code == 401:
reason = "The specified client ID is invalid"
if (refresh == False):
# New Token Errors
if res.status_code == 302:
reason = "The request scope is invalid"
elif res.status_code == 400:
reason = "The redirect_uri differs from the registered one"
elif res.status_code == 401:
reason = "The specified client ID is invalid"
else:
reason = "Generic Error"
else:
reason = "Generic Error"
# Refresh Token Errors
if res.status_code == 400:
reason = "The given refresh token is not valid or was already used."
else:
reason = "Generic Error"

data["reason"] = reason
data["code"] = res.status_code

Expand Down

0 comments on commit d4f1d00

Please sign in to comment.