forked from jpush/jpush-api-python-client
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathentity.py
More file actions
110 lines (94 loc) · 3.29 KB
/
Copy pathentity.py
File metadata and controls
110 lines (94 loc) · 3.29 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
#!/usr/bin/env python
# -*- coding:utf8 -*-
import sys
if 2 != sys.version_info[0]:
unicode = str
def add(*types):
"""Select a (list of) to be added objects(s)
>>> add("registrationid1", "registrationid2")
{'add': ['registrationid1', 'registrationid2']}
>>> add("tag1", "tag2")
{'add': ['tag1', 'tag2']}
>>> add("alias1", "alias2")
{'add': ['alias1', 'alias2']}
"""
vadd = [v for v in types]
return {"add": vadd}
def remove(*types):
"""Select a (list of) to be removed objects(s)
>>> remove("registrationid1", "registrationid2")
{'remove': ['registrationid1', 'registrationid2']}
>>> remove("tag1", "tag2")
{'remove': ['tag1', 'tag2']}
>>> remove("alias1", "alias2")
{'remove': ['alias1', 'alias2']}
"""
vremove = [v for v in types]
return {"remove": vremove}
def device_tag(*types):
"""Get a tag object
>>> device_tag("")
{'tags': ''}
>>> device_tag("tag1")
{'tags': 'tag1'}
>>> device_tag(add("tag1", "tag2"), remove("tag3", "tag4"))
{'tags': {'add': ['tag1', 'tag2'], 'remove': ['tag3', 'tag4']}}
"""
tag = {}
if 1 == len(types) and isinstance(types[0], (str, unicode)):
tag["tags"] = types[0]
return tag
tag["tags"] = {}
for t in types:
for key in t:
if key not in ('add', 'remove'):
raise ValueError("Invalid tag '%s'" % t)
tag["tags"][key] = t[key]
return tag
def device_mobile(device_mobile):
mobile={}
mobile["mobile"]=device_mobile
return mobile
def device_alias(*types):
"""Get an alias object
>>> device_alias("")
{'alias': ''}
>>> device_alias("alias1")
{'alias': 'alias1'}
>>> device_alias(add("alias1", "alias2"), remove("alias3", "alias4"))
{'alias': {'add': ['alias1', 'alias2'], 'remove': ['alias3', 'alias4']}}
"""
alias = {}
if 1 == len(types) and isinstance(types[0], (str, unicode)):
alias["alias"] = types[0]
return alias
alias["alias"] = {}
for t in types:
for key in t:
if key not in ('add', 'remove'):
raise ValueError("Invalid alias '%s'" % t)
alias["alias"][key] = t[key]
return alias
def device_regid(*types):
"""Get a registration_id object
>>> device_regid("")
{'registration_ids': ''}
>>> device_regid("registration_id1")
{'registration_ids': 'registration_id1'}
>>> device_regid(add("registration_id1", "registration_id2"), remove("registration_id3", "registration_id4"))
{'registration_ids': {'add': ['registration_id1', 'registration_id2'], 'remove': ['registration_id3', 'registration_id4']}}
"""
registration_id = {}
if 1 == len(types) and isinstance(types[0], (str, unicode)):
registration_id["registration_ids"] = types[0]
return registration_id
registration_id["registration_ids"] = {}
for t in types:
for key in t:
if key not in ('add', 'remove'):
raise ValueError("Invalid registration_id '%s'" % t)
registration_id["registration_ids"][key] = t[key]
return registration_id
if "__main__" == __name__:
print (add("1", "2"))
print (device_tag(add("a", "b"), remove('1', '2')))