def __init__(self): try: last_update = db[COL].find_one({"is_milestone" : False}).sort("$natural", DESCENDING) self.last_status_update = TerrariaStatus.build_from_json(last_update) except: self.last_status_update = TerrariaStatus(None, False, None) self.tzinfo = pytz.utc
def get_log(self, amount, only_milestone=False, tzinfo=pytz.utc): if only_milestone: log_list = db[COL].find({"is_milestone" : True}).sort("$natural", DESCENDING).limit(amount) else: log_list = db[COL].find().sort("$natural", DESCENDING).limit(amount) log_text="" at_least_one_item = False for log in log_list: at_least_one_item = True log["date"] = pytz.utc.localize(log["date"]).astimezone(tzinfo) if log["is_milestone"]: tmp_update = TerrariaMilestone.build_from_json(log) else: tmp_update = TerrariaStatus.build_from_json(log) log_text += tmp_update.get_update_message(with_date=True) + "\n" if at_least_one_item: return log_text else: return False