def ask_feedback():
@flask.after_this_request
def add_headers(response):
response.headers['Access-Control-Allow-Origin'] = '*'
return response
return '10', 200
values = flask.request.values
now = datetime.now()
try:
user_id = Session.get_user_id(values['url'])
except:
return 'Incorrect user_id used', 400
settings = ndb.Key(UserSettings, user_id).get()
if settings is None:
# Create settings for the current user
settings = UserSettings(id=user_id, ts=now)
if settings.mute_deadline is not None and settings.mute_deadline > now:
return '0', 200
questionnaire_left = 10
for prev_shown_ts in reversed(settings.questionnaire_shown_ts):
if prev_shown_ts < now - timedelta(hours=24):
break
questionnaire_left -= 1
if random.random() < 0.5:
# Suppress the popup for 50% of all SERPs.
questionnaire_left = 0
if questionnaire_left > 0:
settings.questionnaire_shown_ts.append(now)
settings.put()
return str(questionnaire_left), 200
评论列表
文章目录