本文整理汇总了Python中helpers.push_helper.PushHelper.get_client_ids_for_users方法的典型用法代码示例。如果您正苦于以下问题:Python PushHelper.get_client_ids_for_users方法的具体用法?Python PushHelper.get_client_ids_for_users怎么用?Python PushHelper.get_client_ids_for_users使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类helpers.push_helper.PushHelper
的用法示例。
在下文中一共展示了PushHelper.get_client_ids_for_users方法的13个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: send_match_video
# 需要导入模块: from helpers.push_helper import PushHelper [as 别名]
# 或者: from helpers.push_helper.PushHelper import get_client_ids_for_users [as 别名]
def send_match_video(cls, match):
"""
Sends match_video and event_match_video notifications
If the match is current, MatchVideoNotification is sent.
Otherwise, EventMatchVideoNotification is sent
"""
match_users = set(PushHelper.get_users_subscribed_to_match(match, NotificationType.MATCH_VIDEO))
event_users = set(PushHelper.get_users_subscribed_to_event(match.event.get(), NotificationType.MATCH_VIDEO))
users = match_users.union(event_users)
if match.within_seconds(60*10):
user_keys = PushHelper.get_client_ids_for_users(users)
MatchVideoNotification(match).send(user_keys)
else:
user_keys = PushHelper.get_client_ids_for_users(users)
EventMatchVideoNotification(match).send(user_keys)
示例2: send_upcoming_match_notification
# 需要导入模块: from helpers.push_helper import PushHelper [as 别名]
# 或者: from helpers.push_helper.PushHelper import get_client_ids_for_users [as 别名]
def send_upcoming_match_notification(cls, match, event):
users = PushHelper.get_users_subscribed_to_match(match, NotificationType.UPCOMING_MATCH)
keys = PushHelper.get_client_ids_for_users(users)
if match.set_number == 1 and match.match_number == 1:
# First match of a new type, send level starting notifications
start_users = PushHelper.get_users_subscribed_to_match(match, NotificationType.LEVEL_STARTING)
start_keys = PushHelper.get_client_ids_for_users(start_users)
level_start = CompLevelStartingNotification(match, event)
level_start.send(start_keys)
# Send upcoming match notification
notification = UpcomingMatchNotification(match, event)
notification.send(keys)
match.push_sent = True # Make sure we don't send updates for this match again
match.put()
示例3: get
# 需要导入模块: from helpers.push_helper import PushHelper [as 别名]
# 或者: from helpers.push_helper.PushHelper import get_client_ids_for_users [as 别名]
def get(self, type):
self._require_registration('/account/')
user_id = self.user_bundle.account.key.id()
logging.info("Sending for {}".format(type))
try:
type = int(type)
except ValueError:
# Not passed a valid int, just stop here
logging.info("Invalid number passed")
self.redirect('/apidocs/webhooks')
return
event = Event.get_by_id('2014necmp')
match = Match.get_by_id('2014necmp_f1m1')
district = District.get_by_id('2014ne')
if type == NotificationType.UPCOMING_MATCH:
notification = UpcomingMatchNotification(match, event)
elif type == NotificationType.MATCH_SCORE:
notification = MatchScoreNotification(match)
elif type == NotificationType.LEVEL_STARTING:
notification = CompLevelStartingNotification(match, event)
elif type == NotificationType.ALLIANCE_SELECTION:
notification = AllianceSelectionNotification(event)
elif type == NotificationType.AWARDS:
notification = AwardsUpdatedNotification(event)
elif type == NotificationType.MEDIA_POSTED:
# Not implemented yet
pass
elif type == NotificationType.DISTRICT_POINTS_UPDATED:
notification = DistrictPointsUpdatedNotification(district)
elif type == NotificationType.SCHEDULE_UPDATED:
notification = ScheduleUpdatedNotification(event, match)
elif type == NotificationType.FINAL_RESULTS:
# Not implemented yet
pass
elif type == NotificationType.MATCH_VIDEO:
notification = MatchVideoNotification(match)
elif type == NotificationType.EVENT_MATCH_VIDEO:
notification = EventMatchVideoNotification(match)
else:
# Not passed a valid int, return
self.redirect('/apidocs/webhooks')
return
keys = PushHelper.get_client_ids_for_users([user_id])
logging.info("Keys: {}".format(keys))
if notification:
# This page should not push notifications to the firebase queue
# Nor should its notifications be tracked in analytics
notification.send(keys, push_firebase=False, track_call=False)
self.redirect('/apidocs/webhooks')
示例4: send_match_score_update
# 需要导入模块: from helpers.push_helper import PushHelper [as 别名]
# 或者: from helpers.push_helper.PushHelper import get_client_ids_for_users [as 别名]
def send_match_score_update(cls, match):
users = PushHelper.get_users_subscribed_to_match(match, NotificationType.MATCH_SCORE)
gcm_keys = PushHelper.get_client_ids_for_users(ClientType.names[ClientType.OS_ANDROID], users)
if len(gcm_keys) == 0:
return
notification = MatchScoreNotification(match)
message = notification.build(ClientType.OS_ANDROID, {ClientType.OS_ANDROID: gcm_keys})
gcm_connection = GCMConnection()
gcm_connection.notify_device(message)
示例5: send_subscription_update
# 需要导入模块: from helpers.push_helper import PushHelper [as 别名]
# 或者: from helpers.push_helper.PushHelper import get_client_ids_for_users [as 别名]
def send_subscription_update(cls, user_id, sending_device_key):
clients = PushHelper.get_client_ids_for_users("android", [user_id])
if sending_device_key in clients:
clients.remove(sending_device_key)
if len(clients) == 0:
return
notification = UpdateSubscriptionsNotification(user_id)
message = notification.build(ClientType.OS_ANDROID, {ClientType.OS_ANDROID: clients})
gcm_connection = GCMConnection()
gcm_connection.notify_device(message)
示例6: send_subscription_update
# 需要导入模块: from helpers.push_helper import PushHelper [as 别名]
# 或者: from helpers.push_helper.PushHelper import get_client_ids_for_users [as 别名]
def send_subscription_update(cls, user_id, sending_device_key=""):
clients = PushHelper.get_client_ids_for_users([user_id])
notification = UpdateSubscriptionsNotification(user_id, sending_device_key)
notification.send(clients)
示例7: send_favorite_update
# 需要导入模块: from helpers.push_helper import PushHelper [as 别名]
# 或者: from helpers.push_helper.PushHelper import get_client_ids_for_users [as 别名]
def send_favorite_update(cls, user_id, sending_device_key=""):
clients = PushHelper.get_client_ids_for_users([user_id])
notification = UpdateFavoritesNotification(user_id, sending_device_key)
notification.send(clients)
示例8: send_match_score_update
# 需要导入模块: from helpers.push_helper import PushHelper [as 别名]
# 或者: from helpers.push_helper.PushHelper import get_client_ids_for_users [as 别名]
def send_match_score_update(cls, match):
users = PushHelper.get_users_subscribed_to_match(match, NotificationType.MATCH_SCORE)
keys = PushHelper.get_client_ids_for_users(users)
notification = MatchScoreNotification(match)
notification.send(keys)
示例9: send_broadcast
# 需要导入模块: from helpers.push_helper import PushHelper [as 别名]
# 或者: from helpers.push_helper.PushHelper import get_client_ids_for_users [as 别名]
def send_broadcast(cls, client_types, title, message, url, app_version=''):
users = PushHelper.get_all_mobile_clients(client_types)
keys = PushHelper.get_client_ids_for_users(users)
notification = BroadcastNotification(title, message, url, app_version)
notification.send(keys)
示例10: send_award_update
# 需要导入模块: from helpers.push_helper import PushHelper [as 别名]
# 或者: from helpers.push_helper.PushHelper import get_client_ids_for_users [as 别名]
def send_award_update(cls, event):
users = PushHelper.get_users_subscribed_to_event(event, NotificationType.AWARDS)
keys = PushHelper.get_client_ids_for_users(users)
notification = AwardsUpdatedNotification(event)
notification.send(keys)
示例11: send_alliance_update
# 需要导入模块: from helpers.push_helper import PushHelper [as 别名]
# 或者: from helpers.push_helper.PushHelper import get_client_ids_for_users [as 别名]
def send_alliance_update(cls, event):
users = PushHelper.get_users_subscribed_for_alliances(event, NotificationType.ALLIANCE_SELECTION)
keys = PushHelper.get_client_ids_for_users(users)
notification = AllianceSelectionNotification(event)
notification.send(keys)
示例12: send_schedule_update
# 需要导入模块: from helpers.push_helper import PushHelper [as 别名]
# 或者: from helpers.push_helper.PushHelper import get_client_ids_for_users [as 别名]
def send_schedule_update(cls, event):
users = PushHelper.get_users_subscribed_to_event(event, NotificationType.SCHEDULE_UPDATED)
keys = PushHelper.get_client_ids_for_users(users)
notification = ScheduleUpdatedNotification(event)
notification.send(keys)
示例13: post
# 需要导入模块: from helpers.push_helper import PushHelper [as 别名]
# 或者: from helpers.push_helper.PushHelper import get_client_ids_for_users [as 别名]
#.........这里部分代码省略.........
match = Match.get_by_id(match_key)
if match is None:
logging.info("Invalid match key passed")
self.response.out.write("Invalid match key!")
return
notification = MatchScoreNotification(match)
elif type == NotificationType.LEVEL_STARTING:
if match_key == "":
logging.info("No match key")
self.response.out.write("No match key specified!")
return
match = Match.get_by_id(match_key)
if match is None:
logging.info("Invalid match key passed")
self.response.out.write("Invalid match key!")
return
notification = CompLevelStartingNotification(match, event)
elif type == NotificationType.ALLIANCE_SELECTION:
notification = AllianceSelectionNotification(event)
elif type == NotificationType.AWARDS:
notification = AwardsUpdatedNotification(event)
elif type == NotificationType.MEDIA_POSTED:
# Not implemented yet
pass
elif type == NotificationType.DISTRICT_POINTS_UPDATED:
if district_key == "":
logging.info("No district key")
self.response.out.write("No district key specified!")
return
district = District.get_by_id(district_key)
if district is None:
logging.info("Invalid district key passed")
self.response.out.write("Invalid district key!")
return
notification = DistrictPointsUpdatedNotification(district)
elif type == NotificationType.SCHEDULE_UPDATED:
if match_key == "":
logging.info("No match key")
self.response.out.write("No match key specified!")
return
match = Match.get_by_id(match_key)
if match is None:
logging.info("Invalid match key passed")
self.response.out.write("Invalid match key!")
return
notification = ScheduleUpdatedNotification(event, match)
elif type == NotificationType.FINAL_RESULTS:
# Not implemented yet
pass
elif type == NotificationType.MATCH_VIDEO:
if match_key == "":
logging.info("No match key")
self.response.out.write("No match key specified!")
return
match = Match.get_by_id(match_key)
if match is None:
logging.info("Invalid match key passed")
self.response.out.write("Invalid match key!")
return
notification = MatchVideoNotification(match)
elif type == NotificationType.EVENT_MATCH_VIDEO:
if match_key == "":
logging.info("No match key")
self.response.out.write("No match key specified!")
return
match = Match.get_by_id(match_key)
if match is None:
logging.info("Invalid match key passed")
self.response.out.write("Invalid match key!")
return
notification = EventMatchVideoNotification(match)
else:
# Not passed a valid int, return
return
keys = PushHelper.get_client_ids_for_users([user_id])
logging.info("Keys: {}".format(keys))
if notification:
# This page should not push notifications to the firebase queue
# Nor should its notifications be tracked in analytics
notification.send(keys, push_firebase=False, track_call=False)
self.response.out.write("ok")