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.')
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')