예제 #1
0
파일: views.py 프로젝트: shengnoah/xwing
def get_phone_num(request, ver):
    if request.method == 'GET':
        return JSONResponse("GET_PHONE")

    elif request.method == 'POST':
        data = JSONParser().parse(request)

        flg_identity = data.has_key('identity')
        flg_credit = data.has_key('credit')
        flg_token = data.has_key('token')
        flg_phone = data.has_key('phone')

        if not flg_token:
            return JSONResponse('Token is empty!')

        if not data['token'] == 'n35FudlypEEd0SSodacAWUc1sbhFD4':
            return JSONResponse('Token is invalid!')

        if not flg_phone:
            return JSONResponse('Phone is empty!')


        phone_num = data['phone']
        tmp_data = { 'query': { 'match': { 'phone': phone_num }}}
        res = es.search( index='wafdata', body = tmp_data )
        ret_cnt = res['hits']['total']

        return JSONResponse(ret_cnt)
예제 #2
0
def addItem(request):
    if request.method == 'GET':
        return JSONResponse("GET")

    if request.method == 'POST':
        data = JSONParser().parse(request)
        flg_key = data.has_key('key')
        if not flg_key:
            return JSONResponse('key is empty!')

        access_key = data['key']
        if cmp(access_key, "test"):
            return JSONResponse("access key error.")

        flg_domain = data.has_key('domain')
        if not flg_domain:
            result = {"error": "-1", "errmsg": "domain is empty"}
            return HttpResponse(json.dumps(result, ensure_ascii=False),
                                content_type="application/json,charset=utf-8")

        from jsonrpc.proxy import ServiceProxy
        s = ServiceProxy('http://localhost:5000/json/')
        import awvs
        ins = awvs.AWVS()
        ins.auth({"email": "name", "password": "******"})
        ins.addTask(['lua.ren\n', 'candylab.net\n'])

        result = {"error": "0", "errmsg": "none"}
        return HttpResponse(json.dumps(result, ensure_ascii=False),
                            content_type="application/json,charset=utf-8")
예제 #3
0
def levels(request):
    """
    List all code nurseries, or create a new snippet.
    """
    if request.method == 'GET':
        d = DitchController()
        stat = d.getSystemStatus()
        return JSONResponse(stat, status=201)

    elif request.method == 'POST':
        data = JSONParser().parse(request)
        if data.has_key('zone'):
            d = DitchController()
            zone = data['zone']
            if zone == 'north':
                d.runNorth()
            elif zone == 'south':
                d.runSouth()

        return JSONResponse({}, status=201)

    elif request.method == 'DELETE':
        print("Deleting. or stopping it")
        d = DitchController()
        d.allOff()
        return JSONResponse({}, status=201)
예제 #4
0
파일: views.py 프로젝트: yeyeyeyey/my_dev
def mockconfig_history(request):
    testEnv = request.META.get('HTTP_TESTENV', 'unkown')
    decisionName = request.META.get('HTTP_' + 'decisionName'.upper(), 'unkown')
    configBranch = request.META.get('HTTP_' + 'configBranch'.upper(), 'unkown')
    if request.method == 'POST':
        # pass
        data = JSONParser().parse(request)
        # print data['title']
        mockconfigHistory = None
        data['decisionName'] = decisionName
        if (data.has_key('id')):
            id = data.get('id')
            if id != "":
                mockconfigHistory = MockConfigHistory.objects.get(id=id)

        serializer = MockConfigHistorySerializer(mockconfigHistory, data=data)
        if serializer.is_valid():
            serializer.save()
        # return JSONResponse(serializer.data)

    elif request.method == 'DELETE':

        data = JSONParser().parse(request)
        # print data
        for id in data:
            if len(MockConfigHistory.objects.filter(id=id)) > 0:
                mockconfigHistory = MockConfigHistory.objects.get(id=id)
                mockconfigHistory.delete()
        # return HttpResponse(status=204)
    mockconfigHistory = MockConfigHistory.objects.filter(
        decisionName=decisionName)
    serializer = MockConfigHistorySerializer(mockconfigHistory, many=True)
    return JSONResponse(serializer.data)
예제 #5
0
파일: views.py 프로젝트: yeyeyeyey/my_dev
def mockconfig_list(request):
    testEnv = request.META.get('HTTP_TESTENV', 'unkown')
    decisionName = request.META.get('HTTP_' + 'decisionName'.upper(), 'unkown')
    configBranch = request.META.get('HTTP_' + 'configBranch'.upper(), 'unkown')

    if request.method == 'POST':
        # pass
        data = JSONParser().parse(request)
        # data['testEnv'] = decisionName
        data['decisionName'] = decisionName
        mockconfig = None
        if (data.has_key('id')):
            id = data.get('id')
            mockconfig = MockConfig.objects.get(id=id)
        serializer = MockConfigSerializer(mockconfig, data=data)
        if serializer.is_valid():
            serializer.save()
        # return JSONResponse(serializer.data)

    elif request.method == 'DELETE':

        data = JSONParser().parse(request)
        id = data.get('id')
        # print id
        mockconfig = MockConfig.objects.get(id=id)
        mockconfig.delete()
        # return HttpResponse(status=204)
    mockconfig = MockConfig.objects.filter(decisionName=decisionName)
    # mockconfig = MockConfig.objects.all()
    serializer = MockConfigSerializer(mockconfig, many=True)
    return JSONResponse(serializer.data)
예제 #6
0
파일: views.py 프로젝트: yeyeyeyey/my_dev
def strategy_list(request):
    """
    展示所以snippets,或创建新的snippet
    """
    if request.method == 'GET':
        strategy = Strategy.objects.filter(isDelete=False)
        serializer = StrategySerializer(strategy, many=True)
        return JSONResponse(serializer.data)

    elif request.method == 'POST':

        data = JSONParser().parse(request)
        # print 'data:'
        # print data
        strategy = None
        try:
            if (data.has_key('id')):
                id = data.get('id')
                strategy = Strategy.objects.get(id=id)
            if (data.has_key("strategyfiled")):
                for fieldData in data.get("strategyfiled"):
                    field = None
                    fieldData['strategy'] = id
                    if fieldData.has_key('id'):
                        field = StrategyFiled.objects.get(
                            id=fieldData.get('id'))
                    fieldSerializer = StrategyFiledSerializer(field,
                                                              data=fieldData)
                    if fieldSerializer.is_valid():
                        fieldSerializer.save()
            strategSerializer = StrategySerializer(strategy, data=data)
            if strategSerializer.is_valid():
                strategSerializer.save()
        except Strategy.DoesNotExist:
            return HttpResponse(status=404)

        strategy = Strategy.objects.filter(isDelete=False)
        serializer = StrategySerializer(strategy, many=True)
        return JSONResponse(serializer.data)
예제 #7
0
def SendWxMessage(request):
    #print request.method
    if request.method == 'GET':
        return JSONResponse("GET dealChangeStaff")

    if request.method == 'POST':
        data = JSONParser().parse(request)
        flg_message = data.has_key('message')
        xmessage = data['message']
        access_key = data['access_key']

        if cmp(access_key, "testkey"):
            return JSONResponse("key")

    return HttpResponse('done', content_type="text/plain")
예제 #8
0
def count(parent_path, **kwargs):
    logger.info("parent_path: %s, kwargs: %s" % (parent_path, kwargs))

    if not parent_path or parent_path == '/':
        ws_url = settings.ZTREE_WS_BASE_URL + '/count'
    else:
        ws_url = settings.ZTREE_WS_BASE_URL + parent_path + '/count'

    resp = dispatch_request_json(ws_url, data=kwargs)
    if resp:
        #resp_py = simplejson.load(StringIO(resp))
        resp_py = JSONParser().parse( BytesIO(resp) )
        # did we get a dict back and has it got a 'count' key
        if type(resp_py) == type({}) and resp_py.has_key('count'):
            node_count = int(resp_py['count'])
            logger.debug("got node count: " % node_count)
            return (node_count, None)

    logger.error("could NOT get count")
    return (0, None)
예제 #9
0
def count(parent_path, **kwargs):
    logger.info("parent_path: %s, kwargs: %s" % (parent_path, kwargs))

    if not parent_path or parent_path == '/':
        ws_url = settings.ZTREE_WS_BASE_URL + '/count'
    else:
        ws_url = settings.ZTREE_WS_BASE_URL + parent_path + '/count'

    resp = dispatch_request_json(ws_url, data=kwargs)
    if resp:
        #resp_py = simplejson.load(StringIO(resp))
        resp_py = JSONParser().parse(BytesIO(resp))
        # did we get a dict back and has it got a 'count' key
        if type(resp_py) == type({}) and resp_py.has_key('count'):
            node_count = int(resp_py['count'])
            logger.debug("got node count: " % node_count)
            return (node_count, None)

    logger.error("could NOT get count")
    return (0, None)
예제 #10
0
def team_list(request):
    """
    List all team members, or create a new snippet.
    """
    if request.method == 'GET':
        members = Members.objects.all()
        serializer = MembersSerializer(members, many=True)
        return JsonResponse(serializer.data, safe=False)

    elif request.method == 'POST':
        data = JSONParser().parse(request)
        flag = 0
        """
    	Checking if data is present or not
    	"""
        if not (data):
            return JsonResponse(get_message(flag), status=400)
        keys = ['first_name', 'last_name', 'phone', 'email', 'role']

        for key in keys:
            """
    		Validating if the keys used are correct or not
    		"""
            if data.has_key(key):
                flag = 2
                if data[key]:
                    flag = 1
                    break
        if flag == 1:
            serializer = MembersSerializer(data=data)
            if serializer.is_valid():
                serializer.save()
                return JsonResponse(serializer.data, status=201)
            return JsonResponse(serializer.errors, status=400)
        elif flag == 2:
            return JsonResponse(get_message(flag), status=400)
        else:
            return JsonResponse(get_message(3), status=400)
예제 #11
0
파일: views.py 프로젝트: noQ/TriviaOnline
 def post(self, request):
     """ get data from request """
     try:
         data = JSONParser().parse(request)
         data = data.get(PARAMETER_DATA)
     except JSONDecodeError:
         raise ParseError(detail="No data found on the request")
     
     ''' extract data from post body. first check if all variables are True '''
     if not all( ( data.has_key(PARAMETER_EMAIL), 
                   data.has_key(PARAMETER_FULL_NAME),
                   data.has_key(PARAMETER_ID) 
                   ) ):
         raise ParseError("Some parameters are missing from request")
     
     ''' get all data from request '''
     social_id = WebRequestParameter.get_data(PARAMETER_ID, data)
     email = WebRequestParameter.get_data(PARAMETER_EMAIL, data)
     name  = WebRequestParameter.get_data(PARAMETER_FULL_NAME, data)
     uuid = WebRequestParameter.get_data(PARAMETER_UUID, data)
     avatar = WebRequestParameter.get_data(PARAMETER_AVATAR, data)
     social_token = WebRequestParameter.get_data(PARAMETER_TOKEN, data)
     
     ''' check if user exists '''    
     user = User.objects(email=email, is_active=True).first()
     if user is None:
         ''' create new user using email address'''
         user = User(email=email, username=email)
         if len(name) > 0:
             first_name, last_name = name.split(" ")
             user.first_name = first_name
             user.last_name = last_name
             user.name = name
         user.last_login_time = datetime.datetime.now()
         user.is_active = True
         try:
             user.save()
             user.uid = str(user.id)
         except:
             traceback.print_exc()
             raise APIException("Unable to save user data in DB. Try again later!")
         
     """ add device push token """
     device_type = WebRequestParameter.get_data(PARAMETER_DEVICE, data)
     if device_type:
         push_token = WebRequestParameter.get_data(PARAMETER_PUSH_TOKEN, data)
         if push_token:
             ''' create and add device type '''
             device_obj = Device(type=device_type, push_token=push_token)
             user.devices.append(device_obj) 
     
     """ get or create social connector """
     registration_type = WebRequestParameter.get_data(PARAMETER_REGISTRATION, data)
     if registration_type:
         connector = dict(id=social_id)
         token = WebRequestParameter.get_data(PARAMETER_TOKEN, data)
         if token:
             connector[PARAMETER_TOKEN] = token
             ''' create social connector '''
             social_link = {registration_type : connector}
             UserManager().get_or_create_social_connector(uid=str(user.id), social_link=social_link)    
     
     ''' generate new token '''
     auth_token = AuthToken().generate_auth_token()
     user.auth_token = auth_token        
     ''' save user object '''
     try:
         user.save()
     except:
         raise APIException("Unable to save user data!")
     
     ''' save token in cache '''
     cache_data = dict(uid=user.id, name=name, user=user)
     cache.set(auth_token, cache_data, ten_minutes_in_seconds)
     
     ''' mark user as available '''
     try:
         online = OnlineChecker(user.uid)
         online.is_available()
     except Exception:
         traceback.print_exc()
         pass
     
     ''' return user token '''
     user_token = dict(uid=str(user.id), token=auth_token, valability=ten_minutes_in_seconds)
     """ return response """
     return Response(user_token)
예제 #12
0
파일: views.py 프로젝트: yeyeyeyey/my_dev
def report_list(request):
    """
    展示所以snippets,或创建新的snippet
    """
    # import sys

    # reload(sys)
    # sys.setdefaultencoding('utf8')
    if request.method == 'GET':
        reports = ReportHistory.objects.filter(isDelete=False)
        serializer = ReportWithoutFieldSerializer(reports, many=True)
        return JSONResponse(serializer.data)
    elif request.method == 'POST':
        strategyAliasMap = {
            "M_QD_FA1": "查询反欺诈1",
            "M_QD_FB1": "查询反欺诈2",
            "M_QD_FL1": "查询终审包",
            "M_QD_SE1": "查询评分卡",
            "M_QD_CT1": "查询额度包"
        }
        data = JSONParser().parse(request)
        # print 'data:'
        # print data
        cid = data.get('cid')
        report = None
        try:
            if (data.has_key('id')):
                id = data.get('id')
                report = ReportHistory.objects.get(id=id)
                reportSerializer = ReportWithoutFieldSerializer(report,
                                                                data=data)
                if reportSerializer.is_valid():
                    report = reportSerializer.save()
                    if (data.has_key('id')):
                        return JSONResponse(reportSerializer.data)

            (allinputField, alloutputField, allStrategy) = createReport(cid)
            data['content'] = json.dumps(allStrategy, ensure_ascii=False)
            reportSerializer = ReportWithoutFieldSerializer(report, data=data)

            if reportSerializer.is_valid():
                report = reportSerializer.save()
                if (data.has_key('id')):
                    return JSONResponse(reportSerializer.data)

            for key in alloutputField:
                # print key
                strategyAlias = key
                strategyFilter = Strategy.objects.filter(alias=strategyAlias)
                if strategyFilter.count() == 1:
                    # print "策略包存在。"
                    strategy = Strategy.objects.get(alias=strategyAlias)

                for key, value in alloutputField[strategyAlias].items():
                    tmp = {}
                    tmp['paramType'] = 'output'
                    tmp['report'] = report.id
                    tmp['strategyAlias'] = strategyAlias
                    tmp['interface'] = key
                    tmp['currentValueType'] = type(value).__name__
                    # print "strategy.id:"
                    # print strategy.id
                    if strategy:
                        fieldFilter = StrategyFiled.objects.filter(
                            strategy=strategy.id, interface=key)
                    # print "fieldFilter:"
                    # print fieldFilter
                    if fieldFilter.count() == 1:
                        tmp['field'] = StrategyFiled.objects.get(
                            strategy=strategy.id, interface=key).id
                        # print "字段存在。"
                    # print type(value)
                    # tmp['field'] = 'b646d718-65f6-4054-9daa-aa220b9c1fd5'
                    if type(value) == (type(u"")):
                        tmp['currentValue'] = value
                        tmp['currentValueType'] = 'str'
                    else:
                        tmp['currentValue'] = str(value)
                    # print tmp
                    fieldSerializer = ReportFieldSerializer(data=tmp)
                    if fieldSerializer.is_valid():
                        pass
                        fieldSerializer.save()
                    else:
                        pass
                        # print fieldSerializer.error_messages
                        # print  fieldSerializer.errors
                for key in allinputField:
                    # print key
                    strategyAlias = key
                    strategyFilter = Strategy.objects.filter(
                        alias=strategyAlias)
                    if strategyFilter.count() == 1:
                        # print "策略包存在。"
                        strategy = Strategy.objects.get(alias=strategyAlias)

                    for key, value in allinputField[strategyAlias].items():
                        tmp = {}
                        tmp['paramType'] = 'input'
                        tmp['report'] = report.id
                        tmp['strategyAlias'] = strategyAlias
                        tmp['interface'] = key
                        tmp['currentValueType'] = type(value).__name__
                        # print "strategy.id:"
                        # print strategy.id
                        if strategy:
                            fieldFilter = StrategyFiled.objects.filter(
                                strategy=strategy.id, interface=key)
                        # print "fieldFilter:"
                        # print fieldFilter
                        if fieldFilter.count() == 1:
                            tmp['field'] = StrategyFiled.objects.get(
                                strategy=strategy.id, interface=key).id
                            # print "字段存在。"
                        # print type(value)
                        # tmp['field'] = 'b646d718-65f6-4054-9daa-aa220b9c1fd5'
                        if type(value) == (type(u"")):
                            tmp['currentValue'] = value
                            tmp['currentValueType'] = 'str'
                        else:
                            tmp['currentValue'] = str(value)
                        # print tmp
                        fieldSerializer = ReportFieldSerializer(data=tmp)
                        if fieldSerializer.is_valid():
                            pass
                            fieldSerializer.save()
                        else:
                            pass
                            # print fieldSerializer.error_messages
                            # print  fieldSerializer.errors
            serializer = ReportWithoutFieldSerializer(report)
            return JSONResponse(serializer.data)
        except ReportHistory.DoesNotExist:
            return HttpResponse(status=404)
예제 #13
0
def dealRouteChange(request):
    print request.method
    if request.method == 'GET':
        return JSONResponse("GET")

    if request.method == 'POST':
        data = JSONParser().parse(request)

        flg_source = data.has_key('source')
        flg_domain = data.has_key('domain')
        flg_index = data.has_key('index')
        flg_file = data.has_key('file')
        flg_params = data.has_key('params')
        flg_params = data.has_key('content')

        flg_key = data.has_key('key')
        if not flg_key:
            return JSONResponse('key is empty!')
        access_key = data['key']

        if cmp(access_key, "test"):
            return JSONResponse("access key error.")

        flg_source = data.has_key('source')
        if not flg_source:
            result = {"error": "-1", "errmsg": "source is empty"}
            return HttpResponse(json.dumps(result, ensure_ascii=False),
                                content_type="application/json,charset=utf-8")

        flg_domain = data.has_key('domain')
        if not flg_domain:
            result = {"error": "-1", "errmsg": "domain is empty"}
            return HttpResponse(json.dumps(result, ensure_ascii=False),
                                content_type="application/json,charset=utf-8")

        flg_index = data.has_key('index')
        if not flg_index:
            result = {"error": "-1", "errmsg": "index is empty"}
            return HttpResponse(json.dumps(result, ensure_ascii=False),
                                content_type="application/json,charset=utf-8")

        flg_file = data.has_key('file')
        if not flg_file:
            result = {"error": "-1", "errmsg": "file is empty"}
            return HttpResponse(json.dumps(result, ensure_ascii=False),
                                content_type="application/json,charset=utf-8")

        flg_params = data.has_key('params')
        if not flg_params:
            result = {"error": "-1", "errmsg": "params is empty"}
            return HttpResponse(json.dumps(result, ensure_ascii=False),
                                content_type="application/json,charset=utf-8")

        flg_content = data.has_key('content')
        if not flg_content:
            result = {"error": "-1", "errmsg": "content is empty"}
            return HttpResponse(json.dumps(result, ensure_ascii=False),
                                content_type="application/json,charset=utf-8")

        msg = data

        from jsonrpc.proxy import ServiceProxy
        s = ServiceProxy('http://localhost:5000/json/')
        s.myapp.sayHello('Sam')

        result = {"error": "0", "errmsg": "none"}
        return HttpResponse(json.dumps(result, ensure_ascii=False),
                            content_type="application/json,charset=utf-8")