Exemple #1
0
 def post(self):
     user_id = self.request.get('user_id')
     bot_id = self.request.get('bot_id')
     
     bot_prefs = BotPrefs.get_by_id(int(bot_id))
     if bot_prefs is None:
         logging.error('bot_id is invalid.')
         return
     
     user_prefs = UserPrefs.get_by_id(int(user_id))
     if user_prefs is None:
         logging.error('user_id is invalid.')
         return
     
     if user_prefs.free_quantity <= 0 and user_prefs.paid_quantity <= 0:
         user_prefs.activate_flg = False
         user_prefs.put()
         
         logging.info('quantity is invalid.')
         return
     
     device_list = DevicePrefs.all().filter('google_account =', user_prefs.google_account).fetch(10)
     for device in device_list:
         logging.info('Add notify task.')
         try:
             bot_id = user_prefs.bot_prefs_key.key().id()
             taskqueue.add(url = '/task/send_notify', params = {'user_id': user_prefs.key().id(), 'device_token': device.device_token, 'bot_id': bot_id})
         except:
             logging.error('Add task failed.')
Exemple #2
0
 def post(self):
     
     user = users.get_current_user()
     
     device_token = self.request.get('device_token')
     if device_token != '':
         logging.info('device_token: %s' % device_token)
         
         device_prefs = DevicePrefs.all().filter('device_token =', device_token).get()
         if device_prefs is None:
             device_prefs = DevicePrefs()
             device_prefs.google_account = user
             device_prefs.device_token = device_token
             device_prefs.delete_flg = False
             device_prefs.put()
             
         user_prefs = UserPrefs.all().filter('google_account =', user).get()
         if user_prefs is None:
             bot = BotPrefs.all().filter('bot_id =', 'test').get()
             
             user_prefs = UserPrefs()
             user_prefs.google_account = user
             user_prefs.daily_max_notify_count = 3
             user_prefs.paid_quantity = 0
             user_prefs.free_quantity = 100
             user_prefs.timezone = 0.0
             user_prefs.notify_probability = 0.0
             user_prefs.delete_flg = False
             user_prefs.bot_prefs_key = bot.key()
             user_prefs.put()
         
         return self.redirect('/user/home')
         
     self.redirect('/user/home')