示例#1
0
    def get_day_events(self, match_num, region) -> tuple:
        if match_num == 2:
            daystr = "今天"
            date = Arrow.now(tzinfo=self.timezone)
        elif match_num == 3:
            daystr = "明天"
            date = Arrow.now(tzinfo=self.timezone) + datetime.timedelta(days=1)
        elif match_num & 0xf00000 == 0x100000:
            year = (match_num & 0xff000) >> 12
            month = (match_num & 0xf00) >> 8
            day = match_num & 0xff
            daystr = "{}年{}月{}日".format(2000 + year, month, day)
            try:
                date = Arrow(2000 + year, month, day)
            except ValueError as v:
                raise InputError("日期错误:{}".format(v))

        timeline = self.timeline_cn
        if region == "jp":
            timeline = self.timeline_jp
        elif region == "tw":
            timeline = self.timeline_tw
        if not timeline:
            events = None
        else:
            events = timeline.at(date)

        return (daystr, events)
示例#2
0
文件: calender.py 项目: VinoxM/yobot
 def get_day_events(self, match_num) -> tuple:
     if match_num == 2 or match_num == 12 or match_num == 22 or match_num == 32:
         daystr = "今天"
         date = Arrow.now(tzinfo=self.timezone)
     elif match_num == 3 or match_num == 13 or match_num == 23 or match_num == 33:
         daystr = "明天"
         date = Arrow.now(tzinfo=self.timezone) + datetime.timedelta(days=1)
     elif match_num & 0xf00000 == 0x100000:
         year = (match_num & 0xff000) >> 12
         month = (match_num & 0xf00) >> 8
         day = match_num & 0xff
         daystr = "{}年{}月{}日".format(2000 + year, month, day)
         try:
             date = Arrow(2000 + year, month, day)
         except ValueError as v:
             raise InputError("日期错误:{}".format(v))
     if match_num - 30 > 0:
         daystr = "日服" + daystr
         events = self.timeline_jp.at(date)
     elif match_num - 20 > 0:
         daystr = "台服" + daystr
         events = self.timeline_tw.at(date)
     elif match_num - 10 > 0:
         daystr = "国服" + daystr
         events = self.timeline_cn.at(date)
     else:
         daystr = self.region[self.setting.get("calender_region",
                                               "default")] + daystr
         events = self.timeline.at(date)
     return (daystr, events)
示例#3
0
文件: calender.py 项目: VinoxM/yobot
 def get_week_events(self, match_num) -> str:
     reply = "一周日程:"
     preffix = ""
     date = Arrow.now(tzinfo=self.timezone)
     for (k, i) in enumerate(range(7)):
         if match_num - 10 == 4:
             if k == 0: preffix += "国服"
             events = self.timeline_cn.at(date)
         elif match_num - 20 == 4:
             if k == 0: preffix += "台服"
             events = self.timeline_tw.at(date)
         elif match_num - 30 == 4:
             if k == 0: preffix += "日服"
             events = self.timeline_jp.at(date)
         else:
             if k == 0:
                 preffix += self.region[self.setting.get(
                     "calender_region", "default")]
             events = self.timeline.at(date)
         events_str = "\n⨠".join(events)
         if events_str == "":
             events_str = "没有记录"
         daystr = date.format("MM月DD日")
         reply += "\n======{}======\n⨠{}".format(daystr, events_str)
         date += datetime.timedelta(days=1)
     reply += "\n\n更多日程:{}".format(
         _calender_url.get(self.setting["calender_region"]))
     return preffix + reply
示例#4
0
 def get_day_events(self, match_num) -> tuple:
     if match_num == 2:
         daystr = "今天"
         date = Arrow.now(tzinfo=self.timezone)
     elif match_num == 3:
         daystr = "明天"
         date = Arrow.now(tzinfo=self.timezone) + datetime.timedelta(days=1)
     elif match_num & 0xf00000 == 0x100000:
         year = (match_num & 0xff000) >> 12
         month = (match_num & 0xf00) >> 8
         day = match_num & 0xff
         daystr = "{}年{}月{}日".format(2000 + year, month, day)
         try:
             date = Arrow(2000 + year, month, day)
         except ValueError as v:
             logger.error(f'日期错误{v}')
     events = self.timeline.at(date)
     return (daystr, events)
示例#5
0
 def get_day_events(self, date_num, rg) -> tuple:
     if date_num == 2:
         daystr = "今天"
         date = Arrow.now(tzinfo=self.timezone)
     elif date_num == 3:
         daystr = "明天"
         date = Arrow.now(tzinfo=self.timezone) + datetime.timedelta(days=1)
     elif date_num & 0xf00000 == 0x100000:
         year = (date_num & 0xff000) >> 12
         month = (date_num & 0xf00) >> 8
         day = date_num & 0xff
         daystr = "{}年{}月{}日".format(2000 + year, month, day)
         try:
             date = Arrow(2000 + year, month, day)
         except ValueError as v:
             raise InputError("日期错误:{}".format(v))
     else:
         raise ValueError(f'unespected date_num: {date_num}')
     events = self.timelines[rg].at(date)
     return (daystr, events)
示例#6
0
 def get_week_events(self) -> str:
     reply = "一周日程:"
     date = Arrow.now(tzinfo=self.timezone)
     for i in range(7):
         events = self.timeline.at(date)
         events_str = "\n⨠".join(events)
         if events_str == "":
             events_str = "没有记录"
         daystr = date.format("MM月DD日")
         reply += "\n======{}======\n⨠{}".format(daystr, events_str)
         date += datetime.timedelta(days=1)
     return reply
示例#7
0
 def get_week_events(self) -> str:
     reply = "一周日程:"
     date = Arrow.now(tzinfo=self.timezone)
     for i in range(7):
         events = self.timeline.at(date)
         events_str = "\n    ".join(e.name for e in events)
         if events_str == "":
             events_str = "没有记录"
         daystr = date.format("MM月DD日")
         reply += "\n{}:\n    {}".format(daystr,
                                         self.cct2s.convert(events_str))
         date += datetime.timedelta(days=1)
     return reply
示例#8
0
 async def get_week_events(self) -> str:
     try:
         await self.load_timeline_async()
     except Exception as e:
         logger.error("刷新日程表失败,失败原因:" + str(e))
     reply = "一周日程:"
     date = Arrow.now(tzinfo=self.timezone)
     for i in range(7):
         events = self.timeline.at(date)
         events_str = "\n⨠".join(events)
         if events_str == "":
             events_str = "没有记录"
         daystr = date.format("MM月DD日")
         reply += "\n======{}======\n⨠{}".format(daystr, events_str)
         date += datetime.timedelta(days=1)
     reply += "\n\n更多日程:{}".format(
         _calendar_url.get(self.setting["calendar_region"]))
     return reply
示例#9
0
 def get_week_events(self) -> str:
     tl = self.timeline_cn
     rg = self.setting.get("calender_region", "default")
     if rg == "jp":
         tl = self.timeline_jp
     elif rg == "tw":
         tl = self.timeline_tw
     if tl is None:
         reply = "日程表未初始化\n\n更多日程:{}".format(
             _calender_url.get(self.setting["calender_region"]))
         return reply
     reply = "一周日程:"
     date = Arrow.now(tzinfo=self.timezone)
     for i in range(7):
         events = tl.at(date)
         events_str = "\n⨠".join(events)
         if events_str == "":
             events_str = "没有记录"
         daystr = date.format("MM月DD日")
         reply += "\n======{}======\n⨠{}".format(daystr, events_str)
         date += datetime.timedelta(days=1)
     reply += "\n\n更多日程:{}".format(
         _calender_url.get(self.setting["calender_region"]))
     return reply