Exemplo n.º 1
0
    def __call__(self, router_parse, sender, allow_group):
        """发送站报邮件

        Arguments:
            router_parse {urlparse} -- url parse 解析出来的 router
            sender {string} -- 由谁发出的发送邮件指令
        """
        if allow_group == '1' and not User.check_user_group_id(
                sender, allow_group):
            return u'恭喜您没有权限。哈哈哈哈。'

        path = router_parse.path
        query = router_parse.query
        params = parse_query_2_dict(query)

        if path == '/check':
            return Message.check_today_message(allow_group)
        send_chandao = params['chandao'] == '1' \
            if params.has_key('chandao') else True
        default_note = params['empty'] \
            if params.has_key('empty') else None
        if not Message.check_empty_message(allow_group) and not default_note:
            return u'还有人未添加周报,如果想强制发送请传递 empty 参数'
        msg = u''
        if User.is_sender(sender):
            mail_result = SendmailCommand.sendmail(default_note, allow_group)
            if mail_result:
                msg += mail_result

            # 如果要发送禅道的话
            if send_chandao:
                for user in User.all_users(allow_group):
                    chandao = Chandao(user.name)
                    status = chandao.send()
                    msg += '%s\n' % status
            else:
                print('不需要发送禅道')
        else:
            msg = u'%s 你不是邮件发送者' % sender

        return msg
Exemplo n.º 2
0
    def check_all_user(self, allow_group):
        """
        检查所有用户的打卡信息,除非是周末。
        
        Returns:
            [string] -- 返回每个成员的打卡情况,如果没有输出则代表已经打卡。
                        没有消息是好的消息。
        """
        now = datetime.now()
        if now.weekday() == 5 or now.weekday() == 6:
            return None

        msg = u''
        sess = Session()
        for user in User.all_users(allow_group, sess):
            if user.airplane_mode == True:
                continue
            result = self._query_check_info(user)
            if result:
                msg += result
        return msg