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
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