def register(request): """ (未使用)注册 :param request: :return: """ appinfo = get_appinfo_by_appkey(request.json_data["appkey"]) if appinfo is None: # 报错 request.write_to_client(dict(ret=proto.RET_INVALID_PARAMS)) return user = create_or_update_user( dict( appid=appinfo["appid"], channel=request.json_data["channel"], device_id=request.json_data["device_id"], device_name=request.json_data.get("device_name"), os=request.json_data.get("os"), os_version=request.json_data.get("os_version"), sdk_version=request.json_data.get("sdk_version"), ) ) rsp = dict(uid=user["uid"]) request.login_client(rsp["uid"]) request.write_to_client(dict(ret=0, body=pack_data(rsp)))
def pushntf(title, content, silent, appid, appkey, all, alias, str_tags_or): """ python manage.py pushntf "t" "c" -k 7d357c9b4ce1414fb27f077b54fb5a8f -g "a, b" -g c :param title: :param content: :param appid: :param appkey: :param alias: :param str_tags_or: :return: """ from share.push_helper import PushHelper if not (all or alias or str_tags_or): # 起码要指定一个 print 'please special one at least: --all, --alias, --tags' return if not appid: if not appkey: print 'if appid is None, appkey should not be None' return else: appinfo = get_appinfo_by_appkey(appkey) if not appinfo: print 'appkey is invalid' return else: appid = appinfo['appid'] push_helper = PushHelper() # 这样获取到的tags是个string if str_tags_or: tags_or = [] for str_tags in str_tags_or: tags_or.append(re.split(r'\s*,\s*', str_tags)) else: tags_or = None query = {} if not all: if alias is not None: query['alias'] = alias if tags_or is not None: query['tags_or'] = tags_or notification_id, users = push_helper.push_notification( title, content, appid, query=query, silent=silent ) print 'notification_id: %s\nusers: %s' % (notification_id, users) statntf(notification_id, True)
def pushntf(title, content, silent, appid, appkey, all, alias, str_tags_or): """ python manage.py pushntf "t" "c" -k 7d357c9b4ce1414fb27f077b54fb5a8f -g "a, b" -g c :param title: :param content: :param appid: :param appkey: :param alias: :param str_tags_or: :return: """ from share.push_helper import PushHelper if not (all or alias or str_tags_or): # 起码要指定一个 print "please special one at least: --all, --alias, --tags" return if not appid: if not appkey: print "if appid is None, appkey should not be None" return else: appinfo = get_appinfo_by_appkey(appkey) if not appinfo: print "appkey is invalid" return else: appid = appinfo["appid"] push_helper = PushHelper() # 这样获取到的tags是个string if str_tags_or: tags_or = [] for str_tags in str_tags_or: tags_or.append(re.split(r"\s*,\s*", str_tags)) else: tags_or = None query = {} if not all: if alias is not None: query["alias"] = alias if tags_or is not None: query["tags_or"] = tags_or notification_id, users = push_helper.push_notification(title, content, appid, query=query, silent=silent) print "notification_id: %s\nusers: %s" % (notification_id, users) statntf(notification_id, True)
def alloc_server(): """ # 方便测试 if not request.json_data: return jsonify( ret=proto.RET_INVALID_PARAMS ) """ appinfo = get_appinfo_by_appkey(request.json_data['appkey']) logger.debug("appinfo: %s", appinfo) if appinfo is None: # 报错 jsonify( ret=proto.RET_INVALID_PARAMS ) return user = create_or_update_user(dict( appid=appinfo['appid'], channel=request.json_data['channel'], device_id=request.json_data['device_id'], device_name=request.json_data.get('device_name'), os=request.json_data.get('os'), os_version=request.json_data.get('os_version'), sdk_version=request.json_data.get('sdk_version'), )) server_list = current_app.config['SERVER_LIST'] # 取模 server = server_list[user['uid'] % len(server_list)] return current_app.response_class(pack_data( dict( ret=0, user=dict( uid=user['uid'], key=user['key'], ), server=dict( host=server['outer_host'], port=server['outer_port'], ) ) ), mimetype='application/json')
def register(request): """ (未使用)注册 :param request: :return: """ appinfo = get_appinfo_by_appkey(request.json_data['appkey']) if appinfo is None: # 报错 request.write_to_client( dict( ret=proto.RET_INVALID_PARAMS ) ) return user = create_or_update_user(dict( appid=appinfo['appid'], channel=request.json_data['channel'], device_id=request.json_data['device_id'], device_name=request.json_data.get('device_name'), os=request.json_data.get('os'), os_version=request.json_data.get('os_version'), sdk_version=request.json_data.get('sdk_version'), )) rsp = dict( uid=user['uid'], ) request.login_client(rsp['uid']) request.write_to_client(dict( ret=0, body=pack_data(rsp) ))