示例#1
0
    def filter_plans(self, chat_id):
        for i, plan in enumerate(self.plans[chat_id]):
            if not is_datetime(
                    plan['dt']) or get_datetime(plan['dt']) >= datetime.now():
                return

            self.move_to_history(chat_id, i, plan)
示例#2
0
def extract_date(plan):
    dt_str = plan["dt"]

    if is_datetime(dt_str) and ":" in dt_str:
        return dt_str[:dt_str.rfind(",")]

    return dt_str
示例#3
0
def extract_time(plan):
    dt_str = plan["dt"]

    if is_datetime(dt_str):
        if ":" in dt_str:
            return dt_str[dt_str.rfind(",") + 2:]

        return ""

    return dt_str
示例#4
0
def sort_plans(plans):
    with_dt = []
    without_dt = []

    for plan in plans:
        if is_datetime(plan['dt']):
            with_dt.append(plan)
        else:
            without_dt.append(plan)

    with_dt = sorted(with_dt,
                     key=lambda x: get_datetime(x['dt']))

    return with_dt + without_dt
示例#5
0
    def set_date(self, chat_id, i, date):
        try:
            chat_id = str(chat_id)
            plan = self.plans[chat_id][i]
            date = datetime2str(update_year(get_datetime(date)))
            time = util.extract_time(plan)

            if ":" not in date and is_datetime(plan["dt"]) and time:
                date += ", " + time

            plan["dt"] = date
            self.plans[chat_id] = sort_plans(self.plans[chat_id])
            iomgr.save(PLANS_JSON, self.plans)
            return "*Date is updated!* 😎"
        except IndexError:
            return False
        except KeyError:
            return False
示例#6
0
    def set_time(self, chat_id, i, time):
        try:
            plan = self.plans[str(chat_id)][i]
            dt_str = plan["dt"]

            if is_datetime(dt_str):
                dt_str = util.extract_date(plan) + ", " + time
                plan["dt"] = datetime2str(get_datetime(dt_str))
            else:
                return "_Set a date first!_"

            self.plans[chat_id] = sort_plans(self.plans[chat_id])
            iomgr.save(PLANS_JSON, self.plans)
            return "*Time is updated!* 😎"
        except IndexError:
            return False
        except KeyError:
            return False