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