summary refs log tree commit diff
path: root/synapse/rest/client/v2_alpha/sync.py
diff options
context:
space:
mode:
authorKrombel <krombel@krombel.de>2017-07-11 13:14:35 +0200
committerKrombel <krombel@krombel.de>2017-07-11 13:14:35 +0200
commit85b9f76f1dbc03b6649b267d307cd0b8f493bc6a (patch)
tree072073d4ddfd3d60b5a9ee401ee1ea4a8bc94a31 /synapse/rest/client/v2_alpha/sync.py
parentfix test (diff)
downloadsynapse-85b9f76f1dbc03b6649b267d307cd0b8f493bc6a.tar.xz
split out reducing stuff; just make encode_* static
Diffstat (limited to 'synapse/rest/client/v2_alpha/sync.py')
-rw-r--r--synapse/rest/client/v2_alpha/sync.py62
1 files changed, 27 insertions, 35 deletions
diff --git a/synapse/rest/client/v2_alpha/sync.py b/synapse/rest/client/v2_alpha/sync.py
index 31db47eba0..6dcc407451 100644
--- a/synapse/rest/client/v2_alpha/sync.py
+++ b/synapse/rest/client/v2_alpha/sync.py
@@ -172,44 +172,36 @@ class SyncRestServlet(RestServlet):
 
     @staticmethod
     def encode_response(time_now, sync_result, access_token_id, filter):
-        response = {
-            "device_one_time_keys_count": sync_result.device_one_time_keys_count,
-            "next_batch": sync_result.next_batch.to_string(),
-        }
-
-        if sync_result.account_data:
-            response["account_data"] = {"events": sync_result.account_data}
-        if sync_result.to_device:
-            response["to_device"] = {"events": sync_result.to_device}
-        if sync_result.device_lists:
-            response["device_lists"] = {
-                "changed": list(sync_result.device_lists),
-            }
-
-        if sync_result.presence:
-            response["presence"] = SyncRestServlet.encode_presence(
-                sync_result.presence, time_now
-            )
+        joined = SyncRestServlet.encode_joined(
+            sync_result.joined, time_now, access_token_id, filter.event_fields
+        )
 
-        rooms = {}
-        if sync_result.joined:
-            rooms["join"] = SyncRestServlet.encode_joined(
-                sync_result.joined, time_now, access_token_id, filter.event_fields
-            )
-        if sync_result.invited:
-            rooms["invite"] = SyncRestServlet.encode_invited(
-                sync_result.invited, time_now, access_token_id
-            )
-        if sync_result.archived:
-            rooms["leave"] = SyncRestServlet.encode_archived(
-                sync_result.archived, time_now, access_token_id,
-                filter.event_fields,
-            )
+        invited = SyncRestServlet.encode_invited(
+            sync_result.invited, time_now, access_token_id,
+        )
 
-        if rooms:
-            response["rooms"] = rooms
+        archived = SyncRestServlet.encode_archived(
+            sync_result.archived, time_now, access_token_id,
+            filter.event_fields,
+        )
 
-        return response
+        return {
+            "account_data": {"events": sync_result.account_data},
+            "to_device": {"events": sync_result.to_device},
+            "device_lists": {
+                "changed": list(sync_result.device_lists),
+            },
+            "presence": SyncRestServlet.encode_presence(
+                sync_result.presence, time_now
+            ),
+            "rooms": {
+                "join": joined,
+                "invite": invited,
+                "leave": archived,
+            },
+            "device_one_time_keys_count": sync_result.device_one_time_keys_count,
+            "next_batch": sync_result.next_batch.to_string(),
+        }
 
     @staticmethod
     def encode_presence(events, time_now):