def remove_preferences(user, updated_preferences, subscription_key):
"""
Parameters
----------
user - ndb.User
preferences - {SubscriptionDateTime.key:Boolean}
subscription_key - ndb.Key
Returns
-------
set(SubscriptionDateTime.Key)
"""
removed = set()
for preference in ndb.get_multi(user.subscription_preferences):
if preference.subscription == subscription_key:
if not updated_preferences.get(preference.preference, True):
index = user.subscription_preferences.index(preference.key)
removed.add(user.subscription_preferences[index])
del user.subscription_preferences[index]
user.put()
for record in removed:
record.delete()
return removed
评论列表
文章目录