def save_settings():
@flask.after_this_request
def add_headers(response):
response.headers['Access-Control-Allow-Origin'] = '*'
return response
values = flask.request.values
try:
user_id = Session.get_user_id(values['url'])
except Exception as e:
app.logger.error(e)
return 'Incorrect user_id used', 400
for k in ['data', 'tab_id', 'time']:
if k not in values:
return 'Missing param: %s' % k, 400
try:
ts = Session.convert_time(values['time'])
except Exception as e:
app.logger.error(e)
return 'Incorrect timestamp', 400
mute_period_m = 0
for data in values['data'].split(','):
try:
mute_period_m = max(mute_period_m, UserSettings.convert_mute_period_m(data))
except Exception as e:
app.logger.error(e)
return 'Incorrect mute period settings: %s' % data, 400
mute_deadline = UserSettings.get_mute_deadline(ts, mute_period_m)
settings = ndb.Key(UserSettings, user_id).get()
if settings is None:
# Create settings for the current user
settings = UserSettings(id=user_id, mute_deadline=mute_deadline, ts=ts)
settings.put()
elif settings.mute_deadline is None or settings.mute_deadline < mute_deadline:
settings.mute_deadline = mute_deadline
settings.ts = ts
settings.put()
return 'Saved', 201
评论列表
文章目录