poster.py 文件源码

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

项目:dogbot 作者: moondropx 项目源码 文件源码
def poster(bot, message):
    """#poster [-h] [-f]

    -h : ?????
    -f : ????
    """

    try:
        cmd, *args = shlex.split(message.text)
    except ValueError:
        return False
    if not cmd[0] in config['trigger']:
        return False
    if not cmd[1:] == 'poster':
        return False
    try:
        options, args = getopt.gnu_getopt(args, 'hf')
    except getopt.GetoptError:
        # ????
        reply(bot, message, poster.__doc__)
        return True

    refresh = False

    # ???
    for o, a in options:
        if o == '-h':
            # ??
            reply(bot, message, poster.__doc__)
            return True
        elif o == '-f':
            refresh = True

    weekday = datetime.now().weekday()
    if weekday >= 3:
        delta = timedelta(days=weekday-3)
    else:
        delta = timedelta(days=7+weekday-3)

    thu_date = datetime.now().date() - delta
    url = '{}event{}.jpg'.format(BASE_URL, thu_date.strftime('%Y%m%d'))
    filename = os.path.basename(url)
    dir = os.path.join(config['cq_root_dir'], config['cq_image_dir'], 'poster')
    path = os.path.join(dir, filename)

    if not os.path.exists(dir):
        os.mkdir(dir)

    if not os.path.exists(path) or refresh:
        resp = requests.get(url, timeout=60, proxies=config.get('proxies'))
        if not resp.status_code == 200:
            reply(bot, message, '?????...????????????')
            return True
        with open(path, 'wb') as f:
            f.write(resp.content)

    reply(bot, message, CQImage(os.path.join('poster', filename)))
    return True
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号