Skip to content

Commit d992d39

Browse files
committed
gcm: Simplify device deactivation on error
1 parent 1a0a8a5 commit d992d39

File tree

1 file changed

+8
-7
lines changed

1 file changed

+8
-7
lines changed

push_notifications/gcm.py

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,6 @@
2525
class GCMError(NotificationError):
2626
pass
2727

28-
device_errors = ["NotRegistered", "InvalidRegistration"]
29-
3028

3129
def _chunks(l, n):
3230
"""
@@ -74,13 +72,16 @@ def _gcm_send_plain(registration_id, data, **kwargs):
7472
data = urlencode(sorted(values.items())).encode("utf-8") # sorted items for tests
7573

7674
result = _gcm_send(data, "application/x-www-form-urlencoded;charset=UTF-8")
75+
7776
if result.startswith("Error="):
78-
for error in device_errors:
79-
if error in result:
80-
device = GCMDevice.objects.filter(registration_id=values["registration_id"])
81-
device.update(active=0)
82-
return result
77+
if result in ("Error=NotRegistered", "Error=InvalidRegistration"):
78+
# Deactivate the problematic device
79+
device = GCMDevice.objects.filter(registration_id=values["registration_id"])
80+
device.update(active=0)
81+
return result
82+
8383
raise GCMError(result)
84+
8485
return result
8586

8687

0 commit comments

Comments
 (0)