Exemple #1
0
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
Exemple #2
0
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
Exemple #3
0
    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: