Corona: fix for latest site change

This commit is contained in:
oddluck 2020-05-29 14:29:19 +00:00
parent bcd15bd174
commit 909776d6eb

View File

@ -368,8 +368,7 @@ class Corona(callbacks.Plugin):
self.__parent.__init__(irc)
self.countries = requests.structures.CaseInsensitiveDict()
self.states = requests.structures.CaseInsensitiveDict()
today = datetime.datetime.utcnow()
self.updated = today - datetime.timedelta(days=1)
self.updated = None
self.headers = {}
self.top = {}
self.headers["countries"] = []
@ -406,10 +405,10 @@ class Corona(callbacks.Plugin):
OK = False
return
soup = BeautifulSoup(r.content)
updated = soup.find("div", text=re.compile("Last updated:"))
updated = updated.text.split(":", 1)[1].replace("GMT", "").strip()
updated = datetime.datetime.strptime(updated, "%B %d, %Y, %H:%M")
if OK and updated > self.updated:
update = soup.find("div", text=re.compile("Last updated:"))
update = update.text.split(":", 1)[1].replace("GMT", "UTC").strip()
updated = datetime.datetime.strptime(update, "%B %d, %Y, %H:%M %Z")
if OK and not self.updated or OK and updated > self.updated:
self.updated = updated
table = soup.find("table", {"id": "main_table_countries_today"})
self.headers["countries"] = [header.text for header in table.find_all("th")]
@ -495,22 +494,22 @@ class Corona(callbacks.Plugin):
self.countries[item]["ratio_recovered"] = "N/A"
try:
self.countries[item]["mild"] = (
self.countries[item][self.headers["countries"][7]]
- self.countries[item][self.headers["countries"][8]]
self.countries[item][self.headers["countries"][8]]
- self.countries[item][self.headers["countries"][9]]
)
except:
self.countries[item]["mild"] = "N/A"
try:
self.countries[item]["ratio_mild"] = "{0:.1%}".format(
self.countries[item]["mild"]
/ self.countries[item][self.headers["countries"][7]]
/ self.countries[item][self.headers["countries"][8]]
)
except:
self.countries[item]["ratio_mild"] = "N/A"
try:
self.countries[item]["ratio_serious"] = "{0:.1%}".format(
self.countries[item][self.headers["countries"][8]]
/ self.countries[item][self.headers["countries"][7]]
self.countries[item][self.headers["countries"][9]]
/ self.countries[item][self.headers["countries"][8]]
)
except:
self.countries[item]["ratio_serious"] = "N/A"
@ -682,13 +681,13 @@ class Corona(callbacks.Plugin):
self.countries[search]["ratio_new_dead"],
self.countries[search][self.headers["countries"][6]],
self.countries[search]["ratio_recovered"],
self.countries[search][self.headers["countries"][7]],
self.countries[search]["mild"],
self.countries[search][self.headers["countries"][8]],
self.countries[search]["mild"],
self.countries[search][self.headers["countries"][9]],
self.countries[search]["ratio_mild"],
self.countries[search]["ratio_serious"],
self.countries[search][self.headers["countries"][9]],
self.countries[search][self.headers["countries"][10]],
self.countries[search][self.headers["countries"][11]],
self.time_created(self.updated),
)
)
@ -746,11 +745,11 @@ class Corona(callbacks.Plugin):
],
self.countries[list(self.countries)[0]]["ratio_recovered"],
self.countries[list(self.countries)[0]][
self.headers["countries"][7]
self.headers["countries"][8]
],
self.countries[list(self.countries)[0]]["mild"],
self.countries[list(self.countries)[0]][
self.headers["countries"][8]
self.headers["countries"][9]
],
self.countries[list(self.countries)[0]]["ratio_mild"],
self.countries[list(self.countries)[0]]["ratio_serious"],
@ -758,7 +757,7 @@ class Corona(callbacks.Plugin):
self.headers["countries"][9]
],
self.countries[list(self.countries)[0]][
self.headers["countries"][10]
self.headers["countries"][11]
],
self.time_created(self.updated),
)