Fix payload behaviour for empty strings / 0 values. (#16)

This commit is contained in:
Hanno Zulla
2016-10-20 19:12:33 +03:00
committed by Sergey Petrov
parent 2b8bbced17
commit c51aceb64e
+8 -7
View File
@@ -43,8 +43,9 @@ class PayloadAlert(object):
class Payload(object): class Payload(object):
def __init__(self, alert=None, badge=None, sound=None, content_available=None, def __init__(self, alert=None, badge=None, sound=None,
mutable_content=False, category=None, custom=None): content_available=False, mutable_content=False,
category=None, custom=None):
self.alert = alert self.alert = alert
self.badge = badge self.badge = badge
self.sound = sound self.sound = sound
@@ -57,22 +58,22 @@ class Payload(object):
result = { result = {
'aps': {} 'aps': {}
} }
if self.alert: if self.alert is not None:
if isinstance(self.alert, PayloadAlert): if isinstance(self.alert, PayloadAlert):
result['aps']['alert'] = self.alert.dict() result['aps']['alert'] = self.alert.dict()
else: else:
result['aps']['alert'] = self.alert result['aps']['alert'] = self.alert
if self.badge: if self.badge is not None:
result['aps']['badge'] = self.badge result['aps']['badge'] = self.badge
if self.sound: if self.sound is not None:
result['aps']['sound'] = self.sound result['aps']['sound'] = self.sound
if self.content_available: if self.content_available:
result['aps']['content-available'] = 1 result['aps']['content-available'] = 1
if self.mutable_content: if self.mutable_content:
result['aps']['mutable-content'] = 1 result['aps']['mutable-content'] = 1
if self.category: if self.category is not None:
result['aps']['category'] = self.category result['aps']['category'] = self.category
if self.custom: if self.custom is not None:
result.update(self.custom) result.update(self.custom)
return result return result