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
def add_milestone(self, user=None, text=" " ): t_update = TerrariaMilestone(user, text) db[COL].insert_one(t_update.to_json()) return t_update.get_update_message()