generator.py 文件源码

python
阅读 29 收藏 0 点赞 0 评论 0

项目:SHUScheduleGenerator 作者: JeromeTan1997 项目源码 文件源码
def __init__(self, begin_date_str):
        self.__base_url = "http://xk.autoisp.shu.edu.cn"

        monday = datetime.strptime(begin_date_str, '%Y.%m.%d').date()
        tuesday = monday + timedelta(days=1)
        wednesday = tuesday + timedelta(days=1)
        thursday = wednesday + timedelta(days=1)
        friday = thursday + timedelta(days=1)
        self.__weekday_table = {'?': monday, '?': tuesday, '?': wednesday, '?': thursday, '?': friday}

        self.__course_time_table = (time(hour=8, minute=0, tzinfo=timezone("Asia/Shanghai")),
                                    time(hour=8, minute=55, tzinfo=timezone("Asia/Shanghai")),
                                    time(hour=10, minute=0, tzinfo=timezone("Asia/Shanghai")),
                                    time(hour=10, minute=55, tzinfo=timezone("Asia/Shanghai")),
                                    time(hour=12, minute=10, tzinfo=timezone("Asia/Shanghai")),
                                    time(hour=13, minute=5, tzinfo=timezone("Asia/Shanghai")),
                                    time(hour=14, minute=10, tzinfo=timezone("Asia/Shanghai")),
                                    time(hour=15, minute=5, tzinfo=timezone("Asia/Shanghai")),
                                    time(hour=16, minute=0, tzinfo=timezone("Asia/Shanghai")),
                                    time(hour=16, minute=55, tzinfo=timezone("Asia/Shanghai")),
                                    time(hour=18, minute=0, tzinfo=timezone("Asia/Shanghai")),
                                    time(hour=18, minute=55, tzinfo=timezone("Asia/Shanghai")),
                                    time(hour=19, minute=50, tzinfo=timezone("Asia/Shanghai")))

        # Create a opener with the ability to record cookies.
        self.__opener = build_opener(HTTPCookieProcessor(CookieJar()))

        self.__validate_img_path = os.path.join(os.getcwd(), "validate_code.jpg")

        self.term_index = 0
        self.terms_and_ports = []

        ports = (80, 8080)
        for port in ports:
            url = '%s:%d' % (self.__base_url, port)
            data = self.__opener.open(url).read().decode('utf-8')
            term = re.search(pattern=r'<div style="color: Red; font-size: 26px; text-align: center;">(.+?)</div>',
                             string=data).group(1)
            self.terms_and_ports.append((term, port))
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号