Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code

Unified Diff: sitescripts/notifications/web/notification.py

Issue 29325919: Issue 2982 - Return all notifications that have title and message (Closed)
Patch Set: Created Sept. 4, 2015, 9:03 a.m.
Use n/p to move between diff chunks; N/P to move between comments.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: sitescripts/notifications/web/notification.py
===================================================================
--- a/sitescripts/notifications/web/notification.py
+++ b/sitescripts/notifications/web/notification.py
@@ -68,23 +68,36 @@
notification.pop(key_to_remove, None)
return notification
+def _can_be_shown(notification):
+ return "title" in notification and "en-US" in notification["title"] and \
Sebastian Noack 2015/09/04 11:38:12 Please don't repeat yourself. How about about:
Sebastian Noack 2015/09/04 11:47:36 I just realized: What is if we show a notification
Felix Dahlke 2015/09/07 07:54:36 Well, we don't support that yet, so I can't really
+ "message" in notification and "en-US" in notification["message"]
+
def _generate_version(groups):
version = time.strftime("%Y%m%d%H%M", time.gmtime())
for group in groups:
version += "-%s/%s" % (group["id"], group["variant"])
return version
-def _create_response(notifications, groups):
+def _get_notifications_to_send(notifications, groups):
active_variant = _get_active_variant(notifications, groups)
if active_variant:
- notifications = [active_variant]
- else:
- notifications = [x for x in notifications if "variants" not in x]
- response = {
+ return _can_be_shown(active_variant) and [active_variant] or []
Wladimir Palant 2015/09/04 11:17:04 Yay on obfuscation! return [active_variant] if
Felix Dahlke 2015/09/07 07:54:36 Well, it was the old way to do it, but I really ha
+
+ notifications_to_send = []
+ for notification in notifications:
+ if not _can_be_shown(notification):
+ continue
+ if "variants" in notification:
+ notification = copy.deepcopy(notification)
+ notification.pop("variants", None)
Wladimir Palant 2015/09/04 11:17:04 Second parameter is unnecessary here, you already
Sebastian Noack 2015/09/04 11:38:12 If this is true, the del statement would be more a
Felix Dahlke 2015/09/07 07:54:36 Done.
+ notifications_to_send.append(notification)
+ return notifications_to_send
+
+def _create_response(notifications, groups):
+ return {
"version": _generate_version(groups),
- "notifications": notifications
+ "notifications": _get_notifications_to_send(notifications, groups)
}
- return response
@url_handler("/notification.json")
def notification(environ, start_response):

Powered by Google App Engine
This is Rietveld