Пример #1
0
 def post(self, request):
     alert = self.request.data.get('alert', None)
     extras_data = self.request.data.get('extras', None)
     production = self.request.data.get('production', True)
     push = self.my_push
     push.audience = jpush.all_
     ios = jpush.ios(alert=alert, extras=extras_data, badge="+1")
     android = jpush.android(alert=alert, extras=extras_data)
     push.notification = jpush.notification(ios=ios, android=android)
     push.message = jpush.message("hi", extras=extras_data)
     push.platform = jpush.all_
     push.options = {
         "time_to_live": 86400,
         "sendno": 12345,
         "apns_production": production
     }
     try:
         response = push.send()
     except jpush.common.Unauthorized:
         raise jpush.common.Unauthorized("Unauthorized")
     except jpush.common.APIConnectionException:
         raise jpush.common.APIConnectionException("conn")
     except jpush.common.JPushFailure:
         raise ("JPushFailure", )
     except:
         raise ("Exception", )
     return Response(response.payload)
Пример #2
0
 def send2(self,
           msg_content,
           title,
           content_type,
           extras,
           tag=None,
           alias=None):
     """
     增加alias发送方法
     by: 尚宗凯 at:2015-04-09
     修改alias用法
     by: 尚宗凯 at:2015-04-09
     ios通知无声
     by:尚宗凯 at:2015-04-10
     解决ios无法收到推送的问题
     by:尚宗凯 at:2015-04-15
     修改ios alert内容
     by:尚宗凯 at:2015-04-16
     修改ios 推送增加字段
     by:尚宗凯 at:2015-04-22
     修改ios 推送alias
     by:尚宗凯 at:2015-04-23
     增加badge+1
     by:尚宗凯 at:2015-04-29
     如果alias为空则不发送
     by:尚宗凯 at:2015-04-04
     极光推送改为+1
     by:尚宗凯 at:2015-05-18
     """
     if not alias:
         return False
     self.push_android.platform = "android"
     self.push_ios.platform = "ios"
     if ENVIRONMENT == 'aliyun':
         self.push_ios.options = {"apns_production": True}  #生产环境
     else:
         self.push_ios.options = {"apns_production": False}  #开发环境
     if tag:
         self.push_android.audience = jpush.audience(
             # jpush.tag("p_44","p_45")
             jpush.tag(tag))
         self.push_ios.audience = jpush.audience(jpush.tag(tag))
     elif alias:
         self.push_android.audience = jpush.alias(alias)
         self.push_ios.audience = jpush.alias(alias)
     # else:
     #     self.push_android.audience = jpush.all_
     #     self.push_ios.audience = jpush.all_
     self.push_android.message = jpush.message(msg_content=msg_content,
                                               title=title,
                                               content_type=content_type,
                                               extras=json.dumps(extras))
     self.push_ios.sound_disable = True
     ios_msg = jpush.ios(alert=u'%s,%s' % (title, msg_content),
                         extras=extras,
                         badge="+1")
     self.push_ios.notification = jpush.notification(alert=u'%s,%s' %
                                                     (title, msg_content),
                                                     ios=ios_msg)
     self.start()
Пример #3
0
def AsyncDelCommentPush(topicId, senderId, communityId, commentId,
                        commentCount):
    config = readIni()
    tagSuffix = config.get('topic', "tagSuffix")
    pushContent = str(topicId).encode('utf-8') + ":" \
                 +str(senderId).encode('utf-8') + ":" \
                 +str(communityId).encode('utf-8') + ":" \
                 +str(commentId).encode('utf-8') + ":" \
                 +str(commentCount).encode('utf-8')

    tagSuffix = config.get('topic', "tagSuffix")
    tagNormalName = tagSuffix + str(communityId)
    tagSuffix = config.get('report', "tagSuffix")
    tagAdminName = tagSuffix + str(communityId)
    tagSuffix = config.get('property', "tagSuffix")
    tagPropertyName = tagSuffix + str(communityId)

    apiKey = config.get("SDK", "apiKey")
    secretKey = config.get("SDK", "secretKey")
    _jpush = jpush.JPush(apiKey, secretKey)
    push = _jpush.create_push()
    push.audience = jpush.all_
    push.audience = jpush.audience(
        jpush.tag(tagNormalName, tagAdminName, tagPropertyName), )
    push.message = jpush.message(pushContent, u"push_del_comm", None, None)
    push.options = {
        "time_to_live": 0,
        "sendno": 9527,
        "apns_production": PUSH_STATUS
    }
    push.platform = jpush.all_
    push.send()
Пример #4
0
 def send(self, msg_content, title, content_type, extras, tag=None):
     # self.push_android = _jpush.create_push()
     # self.push_ios = _jpush.create_push()
     # self.push.platform = jpush.all_
     self.push_android.platform = "android"
     self.push_ios.platform = "ios"
     if tag:
         self.push_android.audience = jpush.audience(
             # jpush.tag("p_44","p_45")
             jpush.tag(tag)
         )
         self.push_ios.audience = jpush.audience(
             jpush.tag(tag)
         )
     else:
         self.push_android.audience = jpush.all_
         self.push_ios.audience = jpush.all_
     self.push_android.message = jpush.message(msg_content=msg_content, title=title, content_type=content_type, extras=json.dumps(extras))
     self.push_ios.notification = jpush.notification(alert=msg_content)
     try:
         if PUSH_ON:
             self.push_android.send()
             self.push_ios.send()
     except Exception as e:
         print e
Пример #5
0
def push_message(tags, message, platform=jpush.all_, extras=None):
    push.audience = jpush.all_ if tags == jpush.all_ else jpush.audience(
        {"tag": tags})
    push.notification = jpush.notification(
        alert=message,
        ios=jpush.ios(message, extras=extras),
        android=jpush.android(message, extras=extras),
        winphone=jpush.winphone(message, extras=extras))
    push.message = jpush.message(message, extras=extras)
    push.platform = platform
    try:
        response = push.send()
    except jpush.common.Unauthorized as e:
        logging.error("JPush Unauthorized: %s" % str(e))
    except jpush.common.APIConnectionException as e:
        logging.error("JPushconn error: %s" % str(e))
    except jpush.common.JPushFailure as e:
        logging.error("JPush Failure: %s" % str(e))
    except Exception as e:
        raise e
    else:
        logging.info(response.payload)
        if response.status_code == 200 and response.payload['sendno'] == '0':
            return True
    return False
Пример #6
0
    def pushMessage(self, audience, message_dict):
        try:
            push = self._jpush.create_push()
            if not audience:
                raise JpushException('audience is empty', self.JPUSH_AUDIENCE_EMPTY)
            if audience == 'all':
                push.audience = jpush.all_
            else:
                push.audience = jpush.audience(
                    jpush.alias(*audience)
                )
            #android_msg = jpush.android(alert="Hello, android msg")
            if not message_dict:
                raise JpushException('message_dict is empty', self.MESSAGE_DICT_EMPTY)

            alert_message = message_dict.get('content', '')
            if not alert_message:
                raise JpushException('message_content is empty', self.MESSAGE_CONTENT_EMPTY)
            msg_content = json.dumps(message_dict)

            push.message = jpush.message(msg_content=msg_content)
            push.platform = jpush.all_
            return push.send()
        except jpush.common.JPushFailure, e:
            print e
            return False
Пример #7
0
 def send(self, msg_content, title, content_type, extras, tag=None):
     # self.push_android = _jpush.create_push()
     # self.push_ios = _jpush.create_push()
     # self.push.platform = jpush.all_
     self.push_android.platform = "android"
     self.push_ios.platform = "ios"
     if tag:
         self.push_android.audience = jpush.audience(
             # jpush.tag("p_44","p_45")
             jpush.tag(tag))
         self.push_ios.audience = jpush.audience(jpush.tag(tag))
     else:
         self.push_android.audience = jpush.all_
         self.push_ios.audience = jpush.all_
     self.push_android.message = jpush.message(msg_content=msg_content,
                                               title=title,
                                               content_type=content_type,
                                               extras=json.dumps(extras))
     self.push_ios.notification = jpush.notification(alert=msg_content)
     try:
         if PUSH_ON:
             self.push_android.send()
             self.push_ios.send()
     except Exception as e:
         print e
Пример #8
0
    def send_message(self, message, alias=None, **kwargs):

        if alias is not None:
            self.push.audience = jpush.audience(jpush.alias(*alias))

        self.push.message = jpush.message(msg_content=message, extras=kwargs)
        self.push.platform = jpush.platform('android', 'ios')
        self.push.send()
Пример #9
0
def platfrom_msg():
    push = _jpush.create_push()
    push.audience = jpush.all_
    ios_msg = jpush.ios(alert="Hello, IOS JPush!", badge="+1", sound="a.caf", extras={'k1':'v1'})
    android_msg = jpush.android(alert="Hello, android msg")
    push.notification = jpush.notification(alert="Hello, JPush!", android=android_msg, ios=ios_msg)
    push.message=jpush.message("content",extras={'k2':'v2','k3':'v3'})
    push.platform = jpush.all_
    push.send()
Пример #10
0
def send_tip(request):
	# save tip
	# notify receiver
	data = {}

	if request.method=='POST':		
		logger.debug(str(request.POST))

		mobile=request.POST.get('mobile')
		friend=request.POST.get('friend_mobile')
		try:
			client = User.objects.get(username=mobile)
			to_friend = User.objects.get(username=friend)
			to_friend_info = UserInfo.objects.get(user=to_friend)
		except ObjectDoesNotExist:
			logger.debug("user or friend do not exist!")
			data['status']=28
			data['error']='user have not register'
			return HttpResponse(json.dumps(data,ensure_ascii=False),content_type='application/json')

		
		content=request.POST.get('message')
		create_time=request.POST.get('create_time')
		audio_url=request.POST.get('audio_url')
		photo_url=request.POST.get('photo_url')

		tip = Tip(user=client)
		tip.receiver = friend
		tip.message = content
		tip.create_time = create_time
		if 'photo_file' in request.FILES:
			photo_name = request.FILES['photo_file']._get_name()
			tip.photo.save(photo_name, request.FILES['photo_file'])
		if 'audio_file' in request.FILES:
			audio_name = request.FILES['audio_file']._get_name()
			tip.audio.save(audio_name, request.FILES['audio_file'])
		tip.save()
		# retrieve tip id for next to get
		cacheID = tip.id
 	
		push_target = to_friend_info.imsi

		_jpush = jpush.JPush(app_key, master_secret)
		push = _jpush.create_push()
		push.audience = jpush.audience(
			jpush.tag(push_target)
		)
		push_data = {}
		push_data['from'] = mobile
		push_data['id'] = cacheID
		push.message = jpush.message(msg_content=302, extras=json.dumps(push_data,ensure_ascii=False))
		push.platform = jpush.all_
		push.send()

		data['status']=0
		return HttpResponse(json.dumps(data,ensure_ascii=False),content_type='application/json')
Пример #11
0
 def test_message(self):
     msg = message("hello world")
     sms_msg = sms_message("content", 20)
     noti = notification(alert="hello,jpush")
     self.push.notification = noti
     self.push.platform = platform("all")
     self.push.audience = audience(**{"tag": tag("tcc", "all")})
     self.push.message = msg
     self.push.sms_message = sms_msg
     self.push.send_validate()
Пример #12
0
def main():
	push = _jpush.create_push()
	#print dir(push)
	push.audience = jpush.all_
	#print dir(push.message)

	
	#android_msg = jpush.android(alert="Hello, android msg")
	push.message = jpush.message("F*****g Message", title="Hello")
	push.platform = jpush.all_
	push.send()
Пример #13
0
 def send2(self, msg_content, title, content_type, extras, tag=None, alias=None):
     """
     增加alias发送方法
     by: 尚宗凯 at:2015-04-09
     修改alias用法
     by: 尚宗凯 at:2015-04-09
     ios通知无声
     by:尚宗凯 at:2015-04-10
     解决ios无法收到推送的问题
     by:尚宗凯 at:2015-04-15
     修改ios alert内容
     by:尚宗凯 at:2015-04-16
     修改ios 推送增加字段
     by:尚宗凯 at:2015-04-22
     修改ios 推送alias
     by:尚宗凯 at:2015-04-23
     增加badge+1
     by:尚宗凯 at:2015-04-29
     如果alias为空则不发送
     by:尚宗凯 at:2015-04-04
     极光推送改为+1
     by:尚宗凯 at:2015-05-18
     """
     if not alias:
         return False
     self.push_android.platform = "android"
     self.push_ios.platform = "ios"
     if ENVIRONMENT == 'aliyun':
         self.push_ios.options = {"apns_production":True}     #生产环境
     else:
         self.push_ios.options = {"apns_production":False}    #开发环境
     if tag:
         self.push_android.audience = jpush.audience(
             # jpush.tag("p_44","p_45")
             jpush.tag(tag)
         )
         self.push_ios.audience = jpush.audience(
             jpush.tag(tag)
         )
     elif alias:
         self.push_android.audience = jpush.alias(
             alias
         )
         self.push_ios.audience = jpush.alias(
             alias
         )
     # else:
     #     self.push_android.audience = jpush.all_
     #     self.push_ios.audience = jpush.all_
     self.push_android.message = jpush.message(msg_content=msg_content, title=title, content_type=content_type, extras=json.dumps(extras))
     self.push_ios.sound_disable=True
     ios_msg = jpush.ios(alert=u'%s,%s'%(title, msg_content), extras=extras, badge="+1")
     self.push_ios.notification = jpush.notification(alert=u'%s,%s'%(title, msg_content), ios=ios_msg)
     self.start()
Пример #14
0
def AsyncForcedReturn():
    config = readIni()
    ListApkInfo = []
    from core.settings import NEW_VERSION_URL
    from web.models import APK
    QuerySet = APK.objects.filter().order_by('-v_id')[:1]
    apkObj = QuerySet[0]
    valCode  = apkObj.v_name
    valSize  = str(apkObj.v_size) + 'MB'
    valURL   = NEW_VERSION_URL
    valForce = apkObj.v_force
    function = apkObj.v_function
    bug      = apkObj.v_bug
    dicts = {}
    dicts.setdefault('fun',function)
    dicts.setdefault('bug',bug)
    ListApkInfo.append(dicts)
    response_data = {}
    response_data['flag']    = 'ok'
    response_data['vcode']   = valCode
    response_data['size']    = valSize
    response_data['url']     = valURL
    response_data['srv_url'] = 'none'
    response_data['force']   = valForce
    response_data['detail']  = ListApkInfo
    pushContent = response_data
    apiKey = config.get("SDK", "apiKey")
    secretKey = config.get("SDK", "secretKey")
    tagSuffixWithTopic = config.get('topic', "tagSuffix")
    tagSuffixWithReport = config.get('report', "tagSuffix")
    tagSuffixWithProperty = config.get('property', "tagSuffix")
    _jpush = jpush.JPush(apiKey,secretKey)
    from addrinfo.models import Community
    commQuerySet = Community.objects.all()
    for i in range(0,commQuerySet.count(),1):
        commId = commQuerySet[i].getCommunityId()
        tagNormalName = tagSuffixWithTopic + str(commId)
        tagAdminName = tagSuffixWithReport+str(commId)
        tagPropertyName = tagSuffixWithProperty+str(commId)
        push = _jpush.create_push()
        push.audience = jpush.all_
        push.audience = jpush.audience(
                    jpush.tag(tagNormalName,tagAdminName,tagPropertyName),
                )
        push.message = jpush.message(
                    pushContent,
                    u"push_force_return",
                    None,
                    None
                )
        push.options = {"time_to_live":0, "sendno":9527, "apns_production":PUSH_STATUS}
        push.platform = jpush.all_
        push.send() 
Пример #15
0
def sendPush2multi(text, alias_list):
    push = _jpush.create_push()
    alias_dict = {"alias": alias_list}

    push.audience = jpush.audience(alias_dict)

    push.notification = jpush.notification(alert=text, )
    push.platform = jpush.all_
    push.message = jpush.message("msg", extras={'img_url': 'img_url'})
    # print(push.payload)
    res = push.send()
    g_stdlogging.info("[send2multi]%s %s %s %s" %
                      (text, push.payload, alias_list, res))
Пример #16
0
def push_message_to_alias(content, msg_type, alias, platform='android'):
    msg = {
        'msg_type': msg_type,
        'content': content
    }

    _jpush = jpush.JPush(app.config['JPUSH_APP_KEY'], app.config['JPUSH_MASTER_SECRET'])
    push = _jpush.create_push()
    push.message = jpush.message(json.dumps(msg))
    push.audience = jpush.audience(jpush.alias(alias))
    push.platform = jpush.platform(platform)
    ret = push.send()
    return ret.payload['sendno'].encode('utf-8')
Пример #17
0
def send_direct_to_channel(channel):
    developer = get_developer()
    if developer is None:
        return jsonify({}), 404

    channel_to_post = Channel.query.filter_by(developer_id=developer.id,channel=channel).first()
    print(channel_to_post)
    if channel_to_post is None:
        return jsonify({}), 404
    message_url = ""
    if 'url' in request.json:
       message_url = request.json['url']
    _jpush = jpush.JPush(u'1c29cb5814072b5b1f8ef829', u'b46af6af73ee8f9480d4edad')
    push = _jpush.create_push()
    _jpush.set_logging("DEBUG")
    push.audience = jpush.audience(
        jpush.tag(developer.dev_key + '_' + channel)
    )
    android_msg = jpush.android(alert=request.json['title'], extras={'title': request.json['title'],
                                                                     'message': request.json['message']})
    ios_msg = jpush.ios(alert=request.json['title'], extras={'title': request.json['title'],
                                                             'message': request.json['message']})

    push.notification = jpush.notification(alert=request.json['title'], android=android_msg, ios=ios_msg)
    push.message = jpush.message(msg_content=request.json['message'], title=request.json['title'], content_type="tyope",
                                 extras={'dev_key': developer.dev_key, 'channel': channel,
                                         'datetime': int(time.time()),
                                         'icon': "",
                                         'url': message_url,
                                         'integration_name': ""})

    # push.options = {"time_to_live": 864000, "sendno": 12345, "apns_production": False}
    push.options = {"time_to_live": 864000, "sendno": 12345, "apns_production": True}
    push.platform = jpush.all_

    try:
        response = push.send()
        print(response)
    except common.Unauthorized:
        print("Unauthorized")
        return jsonify({'error': 'Unauthorized request'}), 401
    except common.APIConnectionException:
        print('connect error')
        return jsonify({'error': 'connect error, please try again later'}), 504
    except common.JPushFailure:
        print("JPushFailure")
        response = common.JPushFailure.response
        return jsonify({'error': 'JPush failed, please read the code and refer code document'}), 500
    except:
        print("Exception")
    return jsonify({}), 200
Пример #18
0
def sendPush2all(text):
    push = _jpush.create_push()
    # if you set the logging level to "DEBUG",it will show the debug logging.
    push.audience = jpush.all_
    push.notification = jpush.notification(alert=text)
    push.platform = jpush.all_
    push.message = jpush.message("msg", extras={'img_url': 'img_url'})
    try:
        response = push.send()
        g_stdlogging.info("[sendPush2all]%s %s" % (text, response))
    except common.Unauthorized:
        raise common.Unauthorized("Unauthorized")
    except common.APIConnectionException:
        raise common.APIConnectionException("conn error")
Пример #19
0
def push_msg(*, alias: str, msg: dict):
    try:
        jpush_ = jpush.JPush(_app_key, _master_secret)
        push = jpush_.create_push()
        push.audience = jpush.audience(jpush.alias(alias))
        msg = json.dumps(msg)
        push.message = jpush.message(msg_content=msg)
        push.platform = jpush.all_
        push.send()
    #terrible
    except JPushFailure:
        raise PushError
    except Unauthorized:
        raise PushError
Пример #20
0
def AsyncDelBlackList(user_id,black_user_id):
    from users.models import User
    userObj = User.objects.get(user_id = long(user_id))
    try:
        from users.models import Remarks
        remObj = Remarks.objects.get(target_id=long(black_user_id),remuser_id=long(user_id))
        user_name = remObj.user_remarks
    except:
        user_name = userObj.user_nick
    user_type = userObj.user_type
    user_portrait = userObj.user_portrait
    user_public_status = userObj.user_public_status
    user_profession = userObj.user_profession
    user_signature = userObj.user_signature
    user_level = userObj.user_level
    user_phone_number = userObj.user_phone_number
    familyId = userObj.user_family_id
    try:
        from users.models import FamilyRecord
        frObj = FamilyRecord.objects.get(family_id=familyId)
        building_num = frObj.family_building_num
        aptnum = frObj.family_apt_num
    except:
        building_num = None
        aptnum = None
    from users.views import genNeighborDict
    userInfo = genNeighborDict(user_id,user_name,user_portrait,building_num,aptnum,familyId,user_type,\
                               user_phone_number,user_profession,user_signature,user_level,user_public_status)
    config = readIni()
    pushContent = userInfo
    alias = config.get("SDK", "youlin")
    apiKey = config.get("SDK", "apiKey")
    secretKey = config.get("SDK", "secretKey")
    currentAlias = alias + str(black_user_id)
    _jpush = jpush.JPush(apiKey,secretKey) 
    push = _jpush.create_push()
    push.audience = jpush.all_
    push.audience = jpush.audience(
        jpush.alias(currentAlias),
    )
    push.message = jpush.message(
                pushContent,
                u"push_del_black",
                None,
                None
            )
    push.options = {"time_to_live":3600, "sendno":9527, "apns_production":PUSH_STATUS}
    push.platform = jpush.all_
    push.send()
Пример #21
0
def audience(alias, title, msg_content, extras=None):
    push = _jpush.create_push()
    push.audience = jpush.audience(jpush.alias(alias), )
    push.message = jpush.message(msg_content, title=title, extras=extras)
    push.platform = jpush.all_
    try:
        response = push.send()
    except Unauthorized:
        raise PushError("Unauthorized", 1)
    except APIConnectionException:
        raise PushError("API Connection Error", 2)
    except JPushFailure as e:
        raise PushError('Push Error:{}'.format(e.details), e.error_code)
    except Exception as e:
        raise PushError("Exception:{}".format(str(e)), 3)
Пример #22
0
 def SendAll(self, szInfo, pJson = {}):
     app_key, master_secret = self.GetKeyAndSecret()
     import jpush as jpush
     # from conf import app_key, master_secret
     _jpush = jpush.JPush(app_key, master_secret)
     # _jpush.set_logging("DEBUG")
     push = _jpush.create_push()
     push.audience = jpush.all_
     ios_msg = jpush.ios(alert=szInfo, badge="+1", sound="a.caf", extras=pJson)
     android_msg = jpush.android(alert=szInfo)
     push.notification = jpush.notification(alert=u"买卖点", android=android_msg, ios=ios_msg)
     push.message = jpush.message("content", extras=pJson)
     push.platform = jpush.all_
     apns_production = True
     push.options = {"time_to_live": 86400, "sendno": 12345, "apns_production": False}
     push.send()
Пример #23
0
def push_Msg():
    _jpush = jpush.JPush(
        app_key, master_secret)  ##1、初始化JPush,获取AppKey,Master Secret;实例化JPush,
    push = _jpush.create_push()
    print("jpush:" + app_key + "/n" + master_secret)
    # --------------------------------推送设备对象---------------------------
    # 一个推送对象,以 JSON 格式表达,表示一条推送相关的所有信息。
    # push.audience=jpush.all_ ;#audience    必填  推送设备指定;确认推送设备对象,JPush 提供了多种方式,比如:别名、标签、注册ID、分群、广播等。
    push.audience = jpush.audience(
        jpush.registration_id("1a0018970af48adfcbf", ))
    # ----------------------------自定义消息 发给android的实现---------------
    push.message = jpush.message(
        "{'salists': [{'payType': 1, 'proid': 3, 'name': '燕麦谷粒多', 'count': 1, 'sinPrice': 2, 'toPrice': 2, 'chid': 162}], 'nums': 1}"
    )  # message  可选  消息内容体。是被推送到客户端的内容。与 notification 一起二者必须有其一,可以二者并存
    # --------------------------- 发送通知 给android的实现--------------------
    push.platform = jpush.all_  # platform   必填  推送平台设置
    push.send()
Пример #24
0
def platfrom_msg(alert, message='', params=None):
    lock.acquire()
    try:
        push = _jpush.create_push()
        push.audience = jpush.all_
        ios_msg = jpush.ios(alert=alert,
                            badge="+1",
                            sound="a.caf",
                            extras=params)
        android_msg = jpush.android(alert=alert)
        push.notification = jpush.notification(alert=alert,
                                               android=android_msg,
                                               ios=ios_msg)
        push.message = jpush.message(message, extras=params)
        push.platform = jpush.all_
        push.send()
    finally:
        lock.release()
Пример #25
0
 def post(self):
     push = self.my_push
     push.audience = jpush.all_
     ios_msg = jpush.ios(alert="Hello, IOS JPush!",
                         badge="+1",
                         sound="a.caf",
                         extras={'k1': 'v1'})
     android_msg = jpush.android(alert="Hello, android msg")
     push.notification = jpush.notification(alert="Hello, JPush!",
                                            android=android_msg,
                                            ios=ios_msg)
     push.message = jpush.message("content",
                                  extras={
                                      'k2': 'v2',
                                      'k3': 'v3'
                                  })
     push.platform = jpush.all_
     return Response(push.send())
Пример #26
0
def jpush_message(username, link_username):
    _jpush = jpush.JPush(settings.app_key, settings.master_secret)
    push = _jpush.create_push()

    push.audience = jpush.audience({'alias': [username]}, )

    extras = {
        'username': user.username,
        'title': topic.title,
        'created': timestamp,
        'describe': topic.describe,
        'content_url': topic.content_url,
        'first_image': topic.first_image,
    }

    push.message = jpush.message(msg_content='0', extras=extras)
    push.platform = jpush.all_
    push.send()
Пример #27
0
    def SendAlias(self, aAlias,szInfo,pJson = {}, szCaption = ''):
        app_key, master_secret = self.GetKeyAndSecret()
        _jpush = jpush.JPush(app_key, master_secret)
        # _jpush.set_logging("DEBUG")
        push = _jpush.create_push()
        alias1 = {"alias": aAlias}
        # print(alias1)
        push.audience = jpush.audience(
            alias1
        )

        ios_msg = jpush.ios(alert=szInfo, badge="+1", sound="a.caf", extras=pJson)
        android_msg = jpush.android(alert=szInfo)
        push.notification = jpush.notification(alert=szCaption, android=android_msg, ios=ios_msg)
        push.message = jpush.message("content", extras=pJson)
        push.platform = jpush.all_
        # print(push.payload)
        push.options = {"time_to_live": 86400, "sendno": 12345, "apns_production": False}
        push.send()
Пример #28
0
def push(app, title, content, type):

    msg_content = {'title': title, 'description': content, 'type': type}

    jpush = JPush.JPush(app['app_key'], app['master_key'])

    push = jpush.create_push()
    # push.audience = JPush.alias("1547")
    push.audience = JPush.all_
    ios_msg = JPush.ios(alert=content,
                        badge="+1",
                        sound="default",
                        extras=msg_content)

    push.message = JPush.message(msg_content=msg_content)
    push.notification = JPush.notification(ios=ios_msg)
    push.platform = JPush.platform('android', 'ios')
    push.options = {"time_to_live": 14400}
    push.send()
Пример #29
0
def message_handler(json_request):
    # jpush alias
    message = json_request['msg']
    username_from = json_request['name_s']
    username_to = json_request['name_r']
    request_type = 'msg'
    push = _jpush.create_push()
    alias_list = [username_to]
    alias = {"alias": alias_list}
    push.audience = jpush.audience(
        alias
    )
    # push.options = {"time_to_live":86400}
    push.notification = jpush.notification(alert=message,title=username_from,
                                 extras={"type": request_type, "name_s": username_from, "name_r": username_to})
    push.message = jpush.message(message, title=username_from,
                                 extras={"type": request_type, "name_s": username_from, "name_r": username_to})
    push.platform = 'android'
    payload = push.send()
Пример #30
0
def friend_del(request):
    if request.method == 'POST':
        json_request = json.loads(request.body.decode())
        request_type = json_request['type']
        if request_type == '7':
            username_from = json_request['name_s']
            user_from = AppUser.objects.get(UserName=username_from)
            if user_from is None:# or user_from.Active != 'Yes':
                return 404
            username_to = json_request['name_r']
            user_to = AppUser.objects.get(UserName=username_to)
            if user_to is None:
                return 404
            user_from_profile = user_from.userprofile
            user_to_profile = user_to.userprofile
            user_from_profile.Friends.remove(user_to_profile)
            user_from_profile.save()

            #jpush message

            if request_type == "7":
                message = "Removed you"
            if request_type == 'add_delete':
                message = "Reject you"
            push = _jpush.create_push()
            alias_list = [username_to]
            alias = {"alias": alias_list}
            push.audience = jpush.audience(
                alias
            )
            # push.options = {"time_to_live":86400}
            push.notification = jpush.notification(alert=username_from)
            push.message = jpush.message(message, title=username_from,
                                         extras={"name_s": username_from, "name_r": username_to})
            push.platform = jpush.all_
            push.send()

            #jpush message sent

            json_response = {"type": "7"}
            return json_response
    return 404
Пример #31
0
def jpush_send_message(push_data, push_target, id):
	_jpush = jpush.JPush(app_key, master_secret)
	push = _jpush.create_push()
	push.audience = jpush.audience(
		# push_target may user account or phone number
		jpush.tag(push_target)
	)
	push.message = jpush.message(msg_content=id, extras=push_data)
	push.platform = jpush.all_
	push.options = {"time_to_live":86400}
	try:
		push.send()
	except common.Unauthorized:
	    raise common.Unauthorized("Unauthorized")
	except common.APIConnectionException:
	    raise common.APIConnectionException("conn error")
	except common.JPushFailure:
	    print ("JPushFailure")
	except:
	    print ("Exception")
Пример #32
0
def push(app, title, content, type):

    msg_content = {
        'title': title,
        'description': content,
        'type': type
    }

    jpush = JPush.JPush(app['app_key'], app['master_key'])

    push = jpush.create_push()
    # push.audience = JPush.alias("1547")
    push.audience = JPush.all_
    ios_msg = JPush.ios(alert=content, badge="+1",
                        sound="default", extras=msg_content)

    push.message = JPush.message(msg_content=msg_content)
    push.notification = JPush.notification(ios=ios_msg)
    push.platform = JPush.platform('android', 'ios')
    push.options = {"time_to_live":14400}
    push.send()
Пример #33
0
def voice_handler(json_request):
    file_name = time.strftime("%Y-%m-%d-%H-%M-%S", time.localtime()) + ".mp3"
    file_path = "./voice/" + file_name
    file_object = open(file_path, "wb+")
    file_object.write(json_request['img'].encode(encoding='ISO-8859-1'))
    file_object.close()
    url = file_path[2:]
    username_from = json_request['name_s']
    username_to = json_request['name_r']
    request_type = 'sou'
    push = _jpush.create_push()
    alias_list = [username_to]
    alias = {"alias": alias_list}
    push.audience = jpush.audience(
        alias
    )
    # push.options = {"time_to_live":86400}
    push.notification = jpush.notification(alert=username_from)
    push.message = jpush.message(message=url, title=username_from,
                                 extras={"type": request_type, "name_s": username_from, "name_r": username_to})
    push.platform = jpush.all_
    payload = push.send()
Пример #34
0
def AsyncAddBlackList(user_id,black_user_id):
    config = readIni()
    pushContent = str(user_id).encode('utf-8') + ":" \
                 +str(black_user_id).encode('utf-8')
    alias = config.get("SDK", "youlin")
    apiKey = config.get("SDK", "apiKey")
    secretKey = config.get("SDK", "secretKey")
    currentAlias = alias + str(black_user_id)
    _jpush = jpush.JPush(apiKey,secretKey) 
    push = _jpush.create_push()
    push.audience = jpush.all_
    push.audience = jpush.audience(
        jpush.alias(currentAlias),
    )
    push.message = jpush.message(
                pushContent,
                u"push_add_black",
                None,
                None
            )
    push.options = {"time_to_live":3600, "sendno":9527, "apns_production":PUSH_STATUS}
    push.platform = jpush.all_
    push.send()
Пример #35
0
def push_helper(alert=None, type=None, title=None, builder_id=1, badge="+1", audience=jpush.all_,
                platform=jpush.platform("ios", "android"), **kwargs):

    jpush_setting = current_app.config.get('JPUSH')
    push = jpush.JPush(jpush_setting['appkey'], jpush_setting['secret'])
    obj = push.create_push()
    obj.platform = platform
    obj.audience = audience
    if alert is not None:
        android_msg = dict(builder_id=builder_id, extras=kwargs)
        if title is not None:
            android_msg['title'] = title
        ios_msg = dict(extras=kwargs)
        if badge is not None:
            ios_msg['badge'] = badge
        obj.notification = jpush.notification(alert=alert, android=android_msg, ios=ios_msg)
    else:
        obj.message = jpush.message(alert, content_type=type, title=title, extras=kwargs)

    try:
        obj.send()
        return 0
    except jpush.JPushFailure, e:
        return e.error_code
Пример #36
0
def AsyncUpdatePasswd(userId,imei):
    config = readIni()
    pushContent = imei
    alias = config.get("SDK", "youlin")
    apiKey = config.get("SDK", "apiKey")
    secretKey = config.get("SDK", "secretKey")
    currentAlias = alias + str(userId)
    _jpush = jpush.JPush(apiKey,secretKey) 

    
    push = _jpush.create_push()
    push.audience = jpush.all_
    push.audience = jpush.audience(
        jpush.alias(currentAlias),
    )
    push.message = jpush.message(
                pushContent,
                u"push_new_passwd",
                None,
                None
            )
    push.options = {"time_to_live":86400, "sendno":9527, "apns_production":PUSH_STATUS}
    push.platform = jpush.all_
    push.send()
Пример #37
0
def send_github_msg(integration_id):
    print("print the request json")
    print(request.json)
    
    integration = Integration.query.filter_by(integration_id=integration_id).first()
    if integration is None:
        abort(404)
    developer = Developer.query.filter_by(id=integration.developer_id).first()
    if developer is None:
        abort(404)
    _jpush = jpush.JPush(u'1c29cb5814072b5b1f8ef829', u'b46af6af73ee8f9480d4edad')
    push = _jpush.create_push()
    _jpush.set_logging("DEBUG")
    push.audience = jpush.audience(
        jpush.tag(developer.dev_key + '_' + integration.channel.channel)
    )

    message = ''
    title = ''
    commits = ''
    comment = ''
    issue = ''
    pull_request = ''
    repository = request.json['repository']
    sender = request.json['sender']
    author = sender['login']
    url = ''
    if 'commits' in request.json:
        commits = request.json['commits']
    if 'comment' in request.json:
        comment = request.json['comment']
    if 'issue' in request.json:
        issue = request.json['issue']
    if 'pull_request' in request.json:
        pull_request = request.json['pull_request']
    if 'action' in request.json:
        action = request.json['action']
    else:
        action = ''

    target_repository = '[' + repository['name'] + ':' + repository['default_branch'] + ']'
    # push event
    if commits != '':
        print('push event')
        length = len(commits)
        if length > 1:
            title = target_repository + str(length) + 'new commits by ' + author + ':'
        else:
            title = target_repository + '1 new commit by ' + author + ':'
        print(commits)
        for i in range(len(commits)):
            commit_id = commits[i]['id'][:7]
            commit_comment = commits[i]['message']
            message = message + commit_id + ': ' + commit_comment + '-' + author + '\n'
        url = commits[0]['html_url']
        print(message)
    elif issue != '':
        url = issue['html_url']
        issue_title = issue['title']
        # issue comment event
        if comment != '':
            print('issue comment event')
            title = target_repository + 'New comment by ' + author + ' on issue ' + issue_title
            message = comment['body']
        # issue event(opened, closed)
        else:
            print('issue event')
            title = target_repository + 'Issue ' + action + ' by ' + author
            message = issue['body']
    # commit comment event
    elif comment != '':
        print('commit comment event')
        title = target_repository + 'New commit comment by ' + author
        message = comment['body']
        url = comment['html_url']
    # pull request event
    elif pull_request != '':
        print('pull request event')
        url = pull_request['html_url']
        if action == 'opened':
            title = target_repository + 'Pull request submitted by ' + author
            message = pull_request['body']
        elif action == 'closed':
            merged = pull_request['merged']
            if merged:
                title = target_repository + 'Pull request by ' + author + ' was merged'
            else:
                title = target_repository + 'Pull request by ' + author + ' was closed with unmerged commits'

    print("the title")
    print(title)
    print("the message")
    print(message)
    android_msg = jpush.android(alert=title, extras={'title': title, 'message': message})
    ios_msg = jpush.ios(alert=title, extras={'title': title, 'message': message})
    # ios_msg = jpush.ios(alert=request.json['title'], extras={'title': request.json['title']})
    print(integration.icon)
    if integration.icon is None or len(integration.icon) == 0:
        icon_url = ''
    else:
        icon_url = baseurl + '/static/images/' + integration.icon
    push.notification = jpush.notification(alert=title, android=android_msg, ios=ios_msg)
    push.message = jpush.message(msg_content=message, title=title, content_type="tyope",
                                 extras={'dev_key': developer.dev_key, 'channel': integration.channel.channel,
                                         'datetime': int(time.time()),
                                         'icon': icon_url,
                                         'integration_name': integration.name,
                                         'url': url})

    push.options = {"time_to_live": 864000, "sendno": 12345, "apns_production": True}
    push.platform = jpush.all_

    try:
        response = push.send()
        print(response)
    except common.Unauthorized:
        print("Unauthorized")
        return jsonify({'error': 'Unauthorized request'}), 401
    except common.APIConnectionException:
        print('connect error')
        return jsonify({'error': 'connect error, please try again later'}), 504
    except common.JPushFailure:
        print("JPushFailure")
        response = common.JPushFailure.response
        return jsonify({'error': 'JPush failed, please read the code and refer code document'}), 500
    except:
        print("Exception")
    return jsonify({}), 200
Пример #38
0
def send_direct_to_channel(channel):
    developer = get_developer()
    if developer is None:
        return jsonify({}), 404

    channel_to_post = Channel.query.filter_by(developer_id=developer.id,
                                              channel=channel).first()
    print(channel_to_post)
    if channel_to_post is None:
        return jsonify({}), 404
    message_url = ""
    if 'url' in request.json:
        message_url = request.json['url']
    _jpush = jpush.JPush(u'1c29cb5814072b5b1f8ef829',
                         u'b46af6af73ee8f9480d4edad')
    push = _jpush.create_push()
    _jpush.set_logging("DEBUG")
    push.audience = jpush.audience(jpush.tag(developer.dev_key + '_' +
                                             channel))
    android_msg = jpush.android(alert=request.json['title'],
                                extras={
                                    'title': request.json['title'],
                                    'message': request.json['message']
                                })
    ios_msg = jpush.ios(alert=request.json['title'],
                        extras={
                            'title': request.json['title'],
                            'message': request.json['message']
                        })

    push.notification = jpush.notification(alert=request.json['title'],
                                           android=android_msg,
                                           ios=ios_msg)
    push.message = jpush.message(msg_content=request.json['message'],
                                 title=request.json['title'],
                                 content_type="tyope",
                                 extras={
                                     'dev_key': developer.dev_key,
                                     'channel': channel,
                                     'datetime': int(time.time()),
                                     'icon': "",
                                     'url': message_url,
                                     'integration_name': ""
                                 })

    # push.options = {"time_to_live": 864000, "sendno": 12345, "apns_production": False}
    push.options = {
        "time_to_live": 864000,
        "sendno": 12345,
        "apns_production": True
    }
    push.platform = jpush.all_

    try:
        response = push.send()
        print(response)
    except common.Unauthorized:
        print("Unauthorized")
        return jsonify({'error': 'Unauthorized request'}), 401
    except common.APIConnectionException:
        print('connect error')
        return jsonify({'error': 'connect error, please try again later'}), 504
    except common.JPushFailure:
        print("JPushFailure")
        response = common.JPushFailure.response
        return jsonify({
            'error':
            'JPush failed, please read the code and refer code document'
        }), 500
    except:
        print("Exception")
    return jsonify({}), 200
Пример #39
0
def send_message(integration_id, token):
    if not request.json or not 'message' in request.json or not 'title' in request.json:
        abort(400)
    integration = Integration.query.filter_by(integration_id=integration_id,
                                              token=token).first()
    if integration is None:
        abort(400)

    message_url = ""
    if 'url' in request.json:
        message_url = request.json['url']
    print("the message url " + message_url)
    # channel dev_ID
    developer = Developer.query.filter_by(id=integration.developer_id).first()
    if developer is None:
        abort(404)
    _jpush = jpush.JPush(u'1c29cb5814072b5b1f8ef829',
                         u'b46af6af73ee8f9480d4edad')
    push = _jpush.create_push()
    _jpush.set_logging("DEBUG")
    push.audience = jpush.audience(
        jpush.tag(developer.dev_key + '_' + integration.channel.channel))
    # push.audience = jpush.all_
    # push.notification = jpush.notification(alert=request.json['title'],extras={'title': request.json['title'],
    #                                                                              'message': request.json['message']})
    android_msg = jpush.android(alert=request.json['title'],
                                extras={
                                    'title': request.json['title'],
                                    'message': request.json['message']
                                })
    ios_msg = jpush.ios(alert=request.json['title'],
                        extras={
                            'title': request.json['title'],
                            'message': request.json['message']
                        })
    # ios_msg = jpush.ios(alert=request.json['title'], extras={'title': request.json['title']})
    print(integration.icon)
    if integration.icon is None or len(integration.icon) == 0:
        url = ''
    else:
        url = baseurl + '/static/images/' + integration.icon
    push.notification = jpush.notification(alert=request.json['title'],
                                           android=android_msg,
                                           ios=ios_msg)
    push.message = jpush.message(msg_content=request.json['message'],
                                 title=request.json['title'],
                                 content_type="tyope",
                                 extras={
                                     'dev_key': developer.dev_key,
                                     'channel': integration.channel.channel,
                                     'datetime': int(time.time()),
                                     'icon': url,
                                     'url': message_url,
                                     'integration_name': integration.name
                                 })

    push.options = {
        "time_to_live": 864000,
        "sendno": 12345,
        "apns_production": True
    }
    push.platform = jpush.all_

    try:
        response = push.send()
        print(response)
    except common.Unauthorized:
        print("Unauthorized")
        return jsonify({'error': 'Unauthorized request'}), 401
    except common.APIConnectionException:
        print('connect error')
        return jsonify({'error': 'connect error, please try again later'}), 504
    except common.JPushFailure:
        print("JPushFailure")
        response = common.JPushFailure.response
        return jsonify({
            'error':
            'JPush failed, please read the code and refer code document'
        }), 500
    except:
        print("Exception")
    return jsonify({}), 200
Пример #40
0
import jpush as jpush
from conf import app_key, master_secret
_jpush = jpush.JPush(app_key, master_secret)
_jpush.set_logging("DEBUG")
push = _jpush.create_push()
push.audience = jpush.all_
ios_msg = jpush.ios(alert="Hello, IOS JPush!", badge="+1", sound="a.caf", extras={'k1':'v1'})
android_msg = jpush.android(alert="Hello, android msg")
push.notification = jpush.notification(alert="Hello, JPush!", android=android_msg, ios=ios_msg)
push.message=jpush.message("content",extras={'k2':'v2','k3':'v3'})
push.platform = jpush.all_
push.send()
Пример #41
0
def send_github_msg(integration_id):
    print("print the request json")
    print(request.json)

    integration = Integration.query.filter_by(
        integration_id=integration_id).first()
    if integration is None:
        abort(404)
    developer = Developer.query.filter_by(id=integration.developer_id).first()
    if developer is None:
        abort(404)
    _jpush = jpush.JPush(u'1c29cb5814072b5b1f8ef829',
                         u'600805207f9743a472b79108')
    push = _jpush.create_push()
    _jpush.set_logging("DEBUG")
    push.audience = jpush.audience(
        jpush.tag(developer.dev_key + '_' + integration.channel.channel))

    message = ''
    title = ''
    commits = ''
    comment = ''
    issue = ''
    pull_request = ''
    repository = request.json['repository']
    sender = request.json['sender']
    author = sender['login']
    url = ''
    if 'commits' in request.json:
        commits = request.json['commits']
    if 'comment' in request.json:
        comment = request.json['comment']
    if 'issue' in request.json:
        issue = request.json['issue']
    if 'pull_request' in request.json:
        pull_request = request.json['pull_request']
    if 'action' in request.json:
        action = request.json['action']
    else:
        action = ''

    target_repository = '[' + repository['name'] + ':' + repository[
        'default_branch'] + ']'
    # push event
    if commits != '':
        print('push event')
        length = len(commits)
        if length > 1:
            title = target_repository + str(
                length) + 'new commits by ' + author + ':'
        else:
            title = target_repository + '1 new commit by ' + author + ':'
        print(commits)
        for i in range(len(commits)):
            commit_id = commits[i]['id'][:7]
            commit_comment = commits[i]['message']
            message = message + commit_id + ': ' + commit_comment + '-' + author + '\n'
        url = commits[0]['html_url']
        print(message)
    elif issue != '':
        url = issue['html_url']
        issue_title = issue['title']
        # issue comment event
        if comment != '':
            print('issue comment event')
            title = target_repository + 'New comment by ' + author + ' on issue ' + issue_title
            message = comment['body']
        # issue event(opened, closed)
        else:
            print('issue event')
            title = target_repository + 'Issue ' + action + ' by ' + author
            message = issue['body']
    # commit comment event
    elif comment != '':
        print('commit comment event')
        title = target_repository + 'New commit comment by ' + author
        message = comment['body']
        url = comment['html_url']
    # pull request event
    elif pull_request != '':
        print('pull request event')
        url = pull_request['html_url']
        if action == 'opened':
            title = target_repository + 'Pull request submitted by ' + author
            message = pull_request['body']
        elif action == 'closed':
            merged = pull_request['merged']
            if merged:
                title = target_repository + 'Pull request by ' + author + ' was merged'
            else:
                title = target_repository + 'Pull request by ' + author + ' was closed with unmerged commits'

    print("the title")
    print(title)
    print("the message")
    print(message)
    android_msg = jpush.android(alert=title,
                                extras={
                                    'title': title,
                                    'message': message
                                })
    ios_msg = jpush.ios(alert=title,
                        extras={
                            'title': title,
                            'message': message
                        })
    # ios_msg = jpush.ios(alert=request.json['title'], extras={'title': request.json['title']})
    print(integration.icon)
    if integration.icon is None or len(integration.icon) == 0:
        icon_url = ''
    else:
        icon_url = baseurl + '/static/images/' + integration.icon
    push.notification = jpush.notification(alert=title,
                                           android=android_msg,
                                           ios=ios_msg)
    push.message = jpush.message(msg_content=message,
                                 title=title,
                                 content_type="tyope",
                                 extras={
                                     'dev_key': developer.dev_key,
                                     'channel': integration.channel.channel,
                                     'datetime': int(time.time()),
                                     'icon': icon_url,
                                     'integration_name': integration.name,
                                     'url': url
                                 })

    push.options = {
        "time_to_live": 864000,
        "sendno": 12345,
        "apns_production": True
    }
    push.platform = jpush.all_

    try:
        response = push.send()
        print(response)
    except common.Unauthorized:
        print("Unauthorized")
        return jsonify({'error': 'Unauthorized request'}), 401
    except common.APIConnectionException:
        print('connect error')
        return jsonify({'error': 'connect error, please try again later'}), 504
    except common.JPushFailure:
        print("JPushFailure")
        response = common.JPushFailure.response
        return jsonify({
            'error':
            'JPush failed, please read the code and refer code document'
        }), 500
    except:
        print("Exception")
    return jsonify({}), 200
Пример #42
0
    tagSuffix = config.get('topic', "tagSuffix")
    tagNormalName = tagSuffix + str(currentCommunityId)
    tagSuffix = config.get('report', "tagSuffix")
    tagAdminName = tagSuffix + str(currentCommunityId)
    tagSuffix = config.get('property', "tagSuffix")
    tagPropertyName = tagSuffix + str(currentCommunityId)

    apiKey = config.get("SDK", "apiKey")
    secretKey = config.get("SDK", "secretKey")
    _jpush = jpush.JPush(apiKey, secretKey)
    push = _jpush.create_push()
    push.audience = jpush.all_
    push.audience = jpush.audience(
        jpush.tag(tagNormalName, tagAdminName, tagPropertyName), )
    push.message = jpush.message(pushContent, u"push_new_topic", None,
                                 blackList)
    push.options = {
        "time_to_live": 0,
        "sendno": 9527,
        "apns_production": PUSH_STATUS
    }
    push.platform = jpush.all_
    push.send()


@youlinapp.task
def AsyncUpdateTopic(topicId, currentCommunityId):
    config = readIni()
    tagSuffix = config.get('topic', "tagSuffix")
    pushContent = str(topicId).encode('utf-8')
Пример #43
0
import jpush as jpush

_jpush = jpush.JPush('9370f4f126efb68cb51448d9', '5aa29e3617a58eca440a01a9')

push = _jpush.create_push()
aa = []
aa.append('0013e79cbfc')
aa.append('0416fadd27b')
taa = tuple(aa)
#push.audience = jpush.registration_id('0013e79cbfc', '0416fadd27b')
push.audience = jpush.registration_id(*taa)
push.notification = jpush.notification(ios=jpush.ios(
    alert='#####JPush power cnvnwnovs', badge=1, sound='default'))
push.message = jpush.message('abcdefg')
push.options = dict(apns_production=False)

push.platform = jpush.platform('ios')
push.send()
Пример #44
0
def send_discourse_msg(integration_id, token):
    print("discourse")
    integration = Integration.query.filter_by(integration_id=integration_id, token=token).first()
    if integration is None:
        abort(400)

    # channel dev_ID
    developer = Developer.query.filter_by(id=integration.developer_id).first()
    if developer is None:
        abort(404)
    _jpush = jpush.JPush(u'1c29cb5814072b5b1f8ef829', u'b46af6af73ee8f9480d4edad')
    push = _jpush.create_push()
    _jpush.set_logging("DEBUG")
    push.audience = jpush.audience(
        jpush.tag(developer.dev_key + '_' + integration.channel.channel)
    )
    # push.audience = jpush.all_
    # push.notification = jpush.notification(alert=request.json['title'],extras={'title': request.json['title'],
    #

    message_url = ""
    if 'url' in request.json:
        message_url = request.json['url']
    print("the message url " + message_url)

    android_msg = jpush.android(alert=request.json['title'], extras={'title': request.json['title'],
                                                                     'message': request.json['message']})
    ios_msg = jpush.ios(alert=request.json['title'], extras={'title': request.json['title'],
                                                             'message': request.json['message']})
    # ios_msg = jpush.ios(alert=request.json['title'], extras={'title': request.json['title']})
    print(integration.icon)
    if integration.icon is None or len(integration.icon) == 0:
        url = ''
    else:
        url = baseurl + '/static/images/' + integration.icon
    push.notification = jpush.notification(alert=request.json['title'], android=android_msg, ios=ios_msg)
    push.message = jpush.message(msg_content=request.json['message'], title=request.json['title'], content_type="tyope",
                                 extras={'dev_key': developer.dev_key, 'channel': integration.channel.channel,
                                         'datetime': int(time.time()),
                                         'icon': url,
                                         'url': message_url,
                                         'integration_name': integration.name})

    push.options = {"time_to_live": 864000, "sendno": 12345, "apns_production": True}
    push.platform = jpush.all_

    try:
        response = push.send()
        print(response)
    except common.Unauthorized:
        print("Unauthorized")
        return jsonify({'error': 'Unauthorized request'}), 401
    except common.APIConnectionException:
        print('connect error')
        return jsonify({'error': 'connect error, please try again later'}), 504
    except common.JPushFailure:
        print("JPushFailure")
        response = common.JPushFailure.response
        return jsonify({'error': 'JPush failed, please read the code and refer code document'}), 500
    except:
        print("Exception")
    return jsonify({}), 200
Пример #45
0
import jpush as jpush

_jpush = jpush.JPush('9370f4f126efb68cb51448d9', '5aa29e3617a58eca440a01a9')

push = _jpush.create_push()
aa = []
aa.append('0013e79cbfc')
aa.append('0416fadd27b')
taa = tuple(aa)
#push.audience = jpush.registration_id('0013e79cbfc', '0416fadd27b')
push.audience = jpush.registration_id(*taa)
push.notification = jpush.notification(ios=jpush.ios(alert='#####JPush power cnvnwnovs', badge=1, sound='default'))
push.message = jpush.message('abcdefg')
push.options = dict(apns_production=False)

push.platform = jpush.platform('ios')
push.send()

Пример #46
0
def push_message_by_alias(alias, content, **kwargs):
    push.audience = jpush.audience(jpush.alias(alias))
    push.message = jpush.message(content, extras=kwargs)
    push.platform = 'android'
    logger.info('payload:...=%s' % push.payload)
    push.send()