Skip to content

Commit f4e291c

Browse files
author
Helperhaps
committed
add admin api
1 parent 51e4cb1 commit f4e291c

File tree

4 files changed

+57
-3
lines changed

4 files changed

+57
-3
lines changed

examples/__init__.py

+4-2
Original file line numberDiff line numberDiff line change
@@ -4,18 +4,20 @@
44

55
import jpush
66

7-
from .conf import app_key, master_secret
7+
from .conf import app_key, master_secret, dev_key, dev_secret
88

99
from . import device_example
1010
from . import push_example
1111
from . import report_example
1212
from . import schedule_example
1313
from . import group_push_example
14+
from . import admin_example
1415

1516
__all__ = [
1617
device_example,
1718
push_example,
1819
report_example,
1920
schedule_example,
20-
group_push_example
21+
group_push_example,
22+
admin_example
2123
]

examples/admin_example.py

+12
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
from . import jpush, dev_key, dev_secret
2+
3+
admin = jpush.Admin(dev_key, dev_secret)
4+
admin.set_logging("DEBUG")
5+
6+
def create_app():
7+
response = admin.create_app('aaa', 'cn.jpush.app')
8+
return response
9+
10+
def delete_app(app_key):
11+
response = admin.delete_app(app_key)
12+
return response

jpush/__init__.py

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
"""Python package for using the JPush API"""
2-
from .core import JPush, GroupPush
2+
from .core import JPush, GroupPush, Admin
33
from .common import JPushFailure, Unauthorized
44

55
from .push import (
@@ -44,6 +44,7 @@
4444
__all__ = [
4545
JPush,
4646
GroupPush,
47+
Admin,
4748
JPushFailure,
4849
Unauthorized,
4950
all_,

jpush/core.py

+39
Original file line numberDiff line numberDiff line change
@@ -100,3 +100,42 @@ def __init__(self, key, secret):
100100
def create_push(self):
101101
"""Create a Group Push notification."""
102102
return Push(self, url = common.GROUP_PUSH_URL)
103+
104+
class Admin(JPush):
105+
def __init__(self, key, secret):
106+
JPush.__init__(self, key, secret)
107+
108+
def create_app(self, app_name, android_package, group_name=None):
109+
url = 'https://admin.jpush.cn/v1/app'
110+
entity = {
111+
'app_name': app_name,
112+
'android_package': android_package,
113+
'group_name': group_name
114+
}
115+
body = json.dumps(entity)
116+
response = self._request('post', body, url, content_type=None, version=3)
117+
return AdminResponse(response)
118+
119+
def delete_app(self, app_key):
120+
url = 'https://admin.jpush.cn/v1/app/' + app_key + '/delete'
121+
response = self._request('post', None, url, content_type=None, version=3)
122+
return AdminResponse(response)
123+
124+
class AdminResponse(object):
125+
126+
payload = None
127+
status_code = None
128+
129+
def __init__(self, response):
130+
self.status_code = response.status_code
131+
if 0 != len(response.content):
132+
data = response.json()
133+
self.payload = data
134+
elif 200 == response.status_code:
135+
self.payload = "success"
136+
137+
def get_status_code(self):
138+
return self.status_code
139+
140+
def __str__(self):
141+
return "Admin response Payload: {0}".format(self.payload)

0 commit comments

Comments
 (0)