def __init__(self, jh_bot, chat_id, deelgebied): self.chat_id = chat_id self.jh_bot = jh_bot self.status = Status() self.status.update() # self.status.get_updated() self.deelgebied = get_deelgebied(deelgebied) self.last_update_jh = None self.last_update_micky = None self.gecontroleerde_codes = [] self.last_hunt = None self.micky_api = ma.MickyApi()
class ScanUpdates: def __init__(self, jh_bot, chat_id, deelgebied): self.chat_id = chat_id self.jh_bot = jh_bot self.status = Status() self.status.update() # self.status.get_updated() self.deelgebied = get_deelgebied(deelgebied) self.last_update_jh = None self.last_update_micky = None self.gecontroleerde_codes = [] self.last_hunt = None self.micky_api = ma.MickyApi() def to_tuple(self): return self.chat_id, self.deelgebied def update_ingevoerd(self): # TODO deze functie testen hunts, labels, pref_label = jotihuntScraper.get_hunts() for h in hunts: if get_deelgebied(h[2][0]) == get_deelgebied(self.deelgebied): p1 =re.compile('\d+e ') dag = p1.findall(h[0])[0][:-2] p2 = re.compile('e \d+\:') uur= p2.findall(h[0])[0][2:-1] p3 = re.compile('\:\d+') minuut= p3.findall(h[0])[0][1:] d= datetime(year=date.today().year,month=10,day=dag,hour=uur,minute=minuut) if self.last_hunt is None: self.last_hunt = d else: dd1 = datetime.now().timestamp() - d.timestamp() dd2 = datetime.now().timestamp() - self.last_hunt.timestamp() if dd1 < dd2: self.last_hunt = d if h[3] in ['goedgekeurd','afgekeurd'] and h[2] not in self.gecontroleerde_codes: self.jh_bot.bot.sendMessage(self.chat_id, 'Voor de hunt '+ str(h[2]) + ' hebben we ' + str(h[-1]) + 'punten gekregen.') self.gecontroleerde_codes.append(h[-1]) def update_hunt_reminder(self): # TODO implement this return def update(self): self.update_ingevoerd() self.update_hunt_reminder() if self.deelgebied != 'All': team = self.deelgebied[0].lower() temp = self.micky_api.get_last_vos(team) if temp != self.last_update_micky: self.jh_bot.bot.sendMessage(self.chat_id, "Er is een nieuwe hint voor " + self.deelgebied + " ingevoerd.\n" + 'Dit is een hint van ' + str( temp['datetime'][11:])) # TODO moet dit naar x minuten geleden? self.jh_bot.bot.sendLocation(self.chat_id, latitude=float(temp['latitude']), longitude=float(temp['longitude'])) self.jh_bot.bot.sendMessage(self.chat_id, 'zie deze hint op de kaart: ' + map_url + '?' + 'gebied=' + self.deelgebied[0].upper()) self.last_update_micky = temp self.status.update() for deelgebied in [d for d in self.status.get_updated() if d == self.deelgebied[0].lower()]: self.jh_bot.bot.sendMessage(self.chat_id, 'Er is een status-update voor ' + get_deelgebied(deelgebied[0].upper()) + '.\n' + 'de nieuwe status voor ' + get_deelgebied(deelgebied[0].upper()) + ' = ' + self.status[deelgebied]) if status_plaatjes[deelgebied[0].lower()][self.status[deelgebied].lower()]['type'] == 'photo': self.jh_bot.bot.sendPhoto(self.chat_id, status_plaatjes[deelgebied[0].lower()][self.status[deelgebied].lower()][ 'file_id']) if status_plaatjes[deelgebied[0].lower()][self.status[deelgebied].lower()]['type'] == 'sticker': self.jh_bot.bot.sendSticker(self.chat_id, status_plaatjes[deelgebied[0].lower()][self.status[deelgebied].lower()][ 'file_id'])