fHDHR_XUMO/fHDHR/origin/origin_service.py
deathbybandaid e2256ecd1b test
2020-12-06 09:20:16 -05:00

49 lines
1.6 KiB
Python

import json
import re
import fHDHR.exceptions
class OriginService():
def __init__(self, fhdhr):
self.fhdhr = fhdhr
self.base_url = 'http://www.xumo.tv'
self.geoID, self.geoLST = None, None
self.login()
def login(self):
self.fhdhr.logger.info("Fetching XUMO token")
self.geoID, self.geoLST = self.getID()
if not self.geoID or not self.geoLST:
raise fHDHR.exceptions.OriginSetupError("XUMO Setup Failed")
else:
self.fhdhr.logger.info("XUMO Setup Success")
self.status_dict["Login"] = "Success"
self.fhdhr.config.write(self.fhdhr.config.dict["main"]["dictpopname"], 'geoID', self.geoID)
self.fhdhr.config.write(self.fhdhr.config.dict["main"]["dictpopname"], 'geoLST', self.geoLST)
return True
def getID(self):
try:
url_headers = {'User-Agent': 'Mozilla/5.0'}
pagereq = self.fhdhr.web.session.get(self.base_url, headers=url_headers).text
results = json.loads(re.findall('__JOBS_REHYDRATE_STATE__=(.+?);</script>', (pagereq), flags=re.DOTALL)[0])
geoID, geoLST = results["jobs"]["1"]["data"]["geoId"], results["jobs"]["1"]["data"]["channelListId"]
except Exception as e:
self.fhdhr.logger.warning("XUMO Setup Failed %s" % e)
return None, None
print(geoID + " " + geoLST)
return geoID, geoLST
def get_status_dict(self):
ret_status_dict = {
"Login": "Success",
}
return ret_status_dict