def old(self, stanza, *args): """显示聊天历史, 后面可跟昵称查看某人的历史, 或跟时间查看多长时间以内的历史:1h, 2h, 1d""" last = " ".join(args) m = Logics.get_with_nick(last) unit_map = {"h":3600, "m":60, "d":86400} header_map = {"h":u"小时", "m":u"分钟", "d":u"天"} two_hours_ago = datetime.fromtimestamp(time.time() - 7200) header = u"两小时以内的历史消息:" kwargs = {"starttime":two_hours_ago} if last: if m: kwargs["jid"] = m.email header = u"{0} 发送的历史消息:".format(m.nick) else: if last[0:-1].isdigit(): num, unit = int(last[0:-1]), last[-1].lower() starttime = time.time() - (num * unit_map.get(unit, 3600)) starttime = datetime.fromtimestamp(starttime) kwargs["starttime"] = starttime header = u"{0} {1} 之内的历史消息:"\ .format(num, header_map.get(unit, u"小时")) histories = Logics.get_history(**kwargs) bodys = [header] for history in histories: bodys.append(u"{0} [{1}] {2}".format(history.pubdate, history.member.nick, history.content)) self._send_cmd_result(stanza, "\n".join(bodys))
def old(self, stanza, *args): """显示聊天历史, 后面可跟昵称查看某人的历史, 或跟时间查看多长时间以内的历史:1h, 2h, 1d""" last = " ".join(args) m = Logics.get_with_nick(last) unit_map = {"h": 3600, "m": 60, "d": 86400} header_map = {"h": u"小时", "m": u"分钟", "d": u"天"} two_hours_ago = datetime.fromtimestamp(time.time() - 7200) header = u"两小时以内的历史消息:" kwargs = {"starttime": two_hours_ago} if last: if m: kwargs["jid"] = m.email header = u"{0} 发送的历史消息:".format(m.nick) else: if last[0:-1].isdigit(): num, unit = int(last[0:-1]), last[-1].lower() starttime = time.time() - (num * unit_map.get(unit, 3600)) starttime = datetime.fromtimestamp(starttime) kwargs["starttime"] = starttime header = u"{0} {1} 之内的历史消息:"\ .format(num, header_map.get(unit, u"小时")) histories = Logics.get_history(**kwargs) bodys = [header] for history in histories: bodys.append(u"{0} [{1}] {2}".format(history.pubdate, history.member.nick, history.content)) self._send_cmd_result(stanza, "\n".join(bodys))