def text_message(text): """Handles answers to questions we've asked the user.""" mail = '*****@*****.**' g_user = users.User(mail) insert_history = TdmessagerHistory(google_user = g_user, history_string = text) insert_history.put() parser = DateTimeParser(text) if parser.parser_text(): insert_status = RemindStatus(google_user = g_user, remind_at = parser.target_datetime, subject = parser.remind_content, full_message = text, is_remind = False) insert_status.put() td_reply = str(parser.local_datetime) + ' ' + parser.remind_content print td_reply else: print parser.err_msg
def list_reminds(g_user): n = datetime.utcnow() now_date = datetime.strptime('%s-%s-%s %s:%s' % (n.year, n.month, n.day, n.hour, n.minute), '%Y-%m-%d %H:%M') result = RemindStatus.all().filter('is_remind =', False).filter('remind_at >', now_date).filter('google_user ='******'' for r in result: message += r.subject + ': ' + str(r.remind_at) + '\n' if not message: message = u'没有待提醒的消息' return message
def text_message(self, message = None): """Handles answers to questions we've asked the user.""" mail = message.sender[0:message.sender.find('/')] g_user = users.User(mail) text = message.body insert_history = TdmessagerHistory(google_user = g_user, history_string = text) insert_history.put() t = text.lower() if t == 'help': return self.help_command(message) elif t == 'list': return self.list_command(message) parser = DateTimeParser(text) if parser.parser_text(): insert_status = RemindStatus(google_user = g_user, remind_at = parser.target_datetime, subject = parser.remind_content, full_message = text, is_remind = False) insert_status.put() td_reply = '将在' + str(parser.local_datetime) + '提醒你' + parser.remind_content message.reply(td_reply) else: message.reply(parser.err_msg + HINT_INFO)
#from google.appengine.ext import db from google.appengine.api import xmpp from datetime import datetime from lib.datastore import RemindStatus print 'Content-Type: text/plain' print '' print 'testing page' n = datetime.utcnow() now_date = datetime.strptime('%s-%s-%s %s:%s' % (n.year, n.month, n.day, n.hour, n.minute), '%Y-%m-%d %H:%M') limit = 10 while True: result = RemindStatus.all().filter('is_remind =', False).filter('remind_at =', now_date) print result.count() reminds = result.fetch(limit) for r in reminds: print '1 remind' status_code = xmpp.send_message(r.google_user.email(), r.subject) r.is_remind = True r.put() if status_code != xmpp.NO_ERROR: pass else: print 'remind sent' if limit > result.count: