fHDHR_NewsON/fHDHR/origin/origin_service.py
deathbybandaid 8c5cd7371f first commit
2020-11-27 15:27:23 -05:00

49 lines
1.7 KiB
Python

import json
class OriginService():
def __init__(self, fhdhr):
self.fhdhr = fhdhr
self.base_api_url = 'https://api.pluto.tv'
self.login_url = self.base_api_url + '/v1/auth/local'
self.token = None
self.userid = None
self.login()
def login(self):
self.fhdhr.logger.info("Logging into PlutoTV")
if (not self.fhdhr.config.dict["origin"]["username"] or not self.fhdhr.config.dict["origin"]["password"]):
self.fhdhr.logger.warning("No Username/Password set, will operate in Guest Mode.")
return True
form_data = {
'optIn': 'true',
'password': self.fhdhr.config.dict["origin"]["password"],
'synced': 'false',
'email': self.fhdhr.config.dict["origin"]["username"]
}
try:
loginreq = self.fhdhr.web.session.post(self.login_url, data=form_data)
loginresp = json.loads(loginreq.content)
if "accessToken" not in list(loginresp.keys()):
self.fhdhr.logger.warning("Login Failed, will use Guest Mode.")
return True
self.fhdhr.logger.info("Login Success!")
except Exception as e:
self.fhdhr.logger.warning("Login Failed, will use Guest Mode. " + str(e))
return True
self.userid = loginresp["_id"]
self.token = loginresp["accessToken"]
return True
def get_status_dict(self):
ret_status_dict = {
"Login": "Success" if self.userid else "Guest Mode",
"Username": self.fhdhr.config.dict["origin"]["username"],
}
return ret_status_dict