Exemple #1
0
def handler(event: dict, context: dict) -> dict:
    path_params = event['pathParameters']
    query_params = event.get('queryStringParameters', {})

    location_id = path_params['locationID']
    time = query_params.get('t')

    if time and not valid_iso_date(time):
        return make_response(400, time + ' is not a valid ISO formatted date.')

    if not valid_id(location_id):
        return make_response(400, location_id + ' is not a valid location ID.')

    lat_long = lat_long_from_id(location_id)

    if lat_long is None:
        return make_response(400, 'The specified zone is out of bounds.')

    (lat, long) = lat_long
    date_time = time or datetime.now(tz=None).isoformat()

    return make_response(200, {
        'location_id': location_id,
        'latitude': lat,
        'longitude': long,
        'time': date_time,
        'visible_objects': get_visible(lat, long, date_time)
    },
                         is_json=True)
Exemple #2
0
def handler(event: dict, context: dict) -> dict:
    path_params = event['pathParameters']
    id_param = path_params['locationID']

    if not valid_id(id_param):
        return make_response(404, id_param + ' is not a valid ID')

    if lat_long_from_id(id_param) is None:
        return make_response(404, 'The ID ' + id_param + ' is out of range')

    return make_response(200, id_param)
Exemple #3
0
 def handle_error(self, exception):
     if (isinstance(exception, AiFileNotExistsError) or isinstance(exception, AiJsonError)) \
             or isinstance(exception, HTTPException) \
             or isinstance(exception, AiMySQLDataError) \
             or isinstance(exception, AiException) \
             or isinstance(exception, Exception):
         exstr = traceback.format_exc()
         logger.error('process error, {}, error stack:{}'.format(
             exception, exstr))
         return make_response(500, exception)
     logger.error(exception)
     return make_response(500, exception)
Exemple #4
0
 def post(self):
     path = get_argument(constants.cons_request_path,
                         required=True,
                         help='文件路径为空')
     if os.path.isfile(path):
         img = cv2.imread(path)
         # cv2.imwrite("src.jpg", img)
         # 将图象由OpenCv的BGR转成RGB格式,wuyunzhen.zh, 20190309
         img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
         # cv2.imwrite("rgb.jpg", img)
         tmp_embs = humanRecognizeSrv.get_embedding(img)
         if len(tmp_embs) > 0:
             logger.info("计算人脸特征:")
             emb = tmp_embs[0].reshape(-1)
             # 将ndArray转byte,再将byte转字符串
             emb_list = emb.tolist()
             data = ",".join(str(s) for s in emb_list)
             ai_print(data)
             return make_response(status=HttpStatus.SUCCESS,
                                  data={"rslt_cmnt": data})
         raise AiException(HttpStatus.SERVER_ERROR, AiErrorCode.YCEA4021009,
                           path)
     else:
         raise AiException(HttpStatus.SERVER_ERROR, AiErrorCode.YCEA4021002,
                           path)
Exemple #5
0
 def post(self):
     ccbins_id = get_argument(constants.cons_request_ccbins_id,
                              required=True,
                              help='机构编号不能为空')
     # 已改成后台自动定时读取人脸库信息
     # humanRecognizeSrv.reload_faces_by_ins(ccbins_id)
     return make_response(status=HttpStatus.SUCCESS)
Exemple #6
0
    def getUserInfo(self, **kwargs):

        methodName = sys._getframe().f_code.co_name
        with get_db_connection(database=common.mdb) as devconn, get_db_cursor(
                devconn, dictionary=True) as cursor:
            try:
                sql = "SELECT id, group_id, username, uuid, stripe_cust_id " \
                      "  FROM users "

                if len(kwargs) != 0:
                    where = "WHERE"
                    for key, value in kwargs.items():
                        if type(value) == int:
                            condition = (" {field} = {_data} ").format(
                                field=key, _data=value)
                        else:
                            condition = (" {field} = \"{_data}\" ").format(
                                field=key, _data=value)
                        if where == "WHERE":
                            where += (" {cond} ").format(cond=condition)
                        else:
                            where += (" AND {cond} ").format(cond=condition)
                    sql += " "
                    sql += where

                cursor.execute(sql)
                userInfo = cursor.fetchall()

                return (userInfo)

            except Exception as e:
                logger.debug(e)
                self.response = make_response(constants.USER_INFO_FAIL,
                                              methodName,
                                              constants.BAD_REQUEST_400)
Exemple #7
0
    def get(self):
        class OutVo(object):
            def __init__(self, code=None, error=None, message=None):
                self.code = '123'
                self.error = '123'
                self.message = '123'

        out = OutVo()
        return make_response(status=HttpStatus.SUCCESS, data=out)
Exemple #8
0
    def get(self):
        city = get_argument('city', required=True, help='请输入城市')
        if city is None:
            city = '武汉'

        # 下面接口须连互联网,查天气的接口
        url = "https://www.sojson.com/open/api/weather/json.shtml"
        request_data = {"city": city}
        headers = {
            "User-Agent":
            "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36"
        }
        ret = requests.get(url, params=request_data, headers=headers)
        # ### ### print(ret.url)
        if ret.status_code == 200:
            result = json.loads(ret.text)
            return make_response(status=HttpStatus.SUCCESS, data=result)
        return make_response(status=HttpStatus.SERVER_ERROR)
Exemple #9
0
 def post(self):
     raise AiFileNotExistsError
     logger.info("name:%s, password:%s" %
                 (request.form['username'], request.form['password']))
     return make_response(status=HttpStatus.SUCCESS,
                          data={
                              "name": request.form['username'],
                              "password": request.form['password']
                          })
Exemple #10
0
    def post(self):
        # path_flag, cv_image_list = self.__check_args()
        # detect_result = humanDetectSrv.humanDetect(request.json, cv_image_list, path_flag)
        # if detect_result and len(detect_result) == len(cv_image_list):
        #     data = self.__make_response_data(detect_result, request.json)
        #     return make_response(status=HttpStatus.SUCCESS, data=data)
        # else:
        #     raise AiException(error_code=AiErrorCode.YCEA4021010)

        return make_response(status=HttpStatus.SUCCESS, data=data)
Exemple #11
0
 def put(self):
     try:
         name = get_argument('username', required=True, help='请输入用户名')
         email = get_argument('email', required=False, help='请输入邮箱')
         user1 = users.User.query.filter_by(name).first()
         user1.name = email
         db.session.commit()
         return make_response(status=HttpStatus.SUCCESS)
     except:
         db.session.rollback()
         raise AiException()
Exemple #12
0
    def get(self):
        name = get_argument('username', required=True, help='请输入用户名')
        password = get_argument('password', required=True, help='请输入密码')

        # Get请求也可通过如下方式获取参数
        # name = request.args.get('username', '')
        # password = request.args.get('password', '')
        logger.info("name:%s, password:%s" % (name, password))
        return make_response(status=HttpStatus.SUCCESS,
                             data={
                                 "name": name,
                                 "password": password
                             })
Exemple #13
0
    def post(self):
        name = get_argument('username', required=True, help='请输入用户名')
        password = get_argument('password', required=False, help='请输入密码')

        #也可直接通过rest.form来获取请求报文
        # name = request.form['username']
        # password = request.form['password']

        logger.info("name:%s, password:%s" % (name, password))
        return make_response(status=HttpStatus.SUCCESS,
                             data={
                                 "name": name,
                                 "password": password
                             })
Exemple #14
0
def handler(event: dict, context: dict) -> dict:
    path_params = event['pathParameters']
    query_params = event.get('queryStringParameters', {})

    location_id = path_params['locationID']
    time = query_params.get('t')
    period = query_params.get('period', DEFAULT_PERIOD)

    if time and not valid_iso_date(time):
        return make_response(400, time + ' is not a valid ISO formatted date.')

    if not valid_id(location_id):
        return make_response(400, location_id + ' is not a valid location ID.')

    if not str(period).isnumeric():
        return make_response(400, 'The period parameter must be a number')

    lat_long = lat_long_from_id(location_id)

    if lat_long is None:
        return make_response(400, 'The specified zone is out of bounds')

    (lat, long) = lat_long
    date_time = time or datetime.now(tz=None).isoformat()

    new_results = get_new(lat, long, date_time, int(period))
    status_code = 200 if bool(new_results) else 204

    return make_response(status_code, {
        'location_id': location_id,
        'latitude': lat,
        'longitude': long,
        'time': date_time,
        'visible_objects': new_results
    },
                         is_json=True)
Exemple #15
0
    def post(self):
        ### print(request.__dict__)
        image_base64 = get_argument('image_base64', required=True, help='图片信息')

        # # 将base64转成文件
        img_data = base64.b64decode(image_base64)
        # 转换为np数组
        img_array = np.fromstring(img_data, np.uint8)
        # 转换成opencv可用格式
        img_data = cv2.imdecode(img_array, cv2.IMREAD_COLOR)

        # ### print(image_base64)
        # img_data = np.asarray(image_base64)

        dir = current_app.config.get('BASE_DIR')

        path = dir + "/image/" + datetime.datetime.now().strftime(
            '%Y%m%d_%H%M%S_%f') + ".jpg"
        cv2.imwrite(path, img_data)

        return make_response(status=HttpStatus.SUCCESS)
Exemple #16
0
 def post(self):
     xmlStr = """
     <student>
         <stid>10213</stid>
         <info>
             <name>name</name>
             <mail>[email protected]</mail>
             <sex>male</sex>
         </info>
         <course>
             <name>math</name>
             <score>90</score>
         </course>
         <course>
             <name>english</name>
             <score>88</score>
         </course>
     </student>
     """
     test_xml_2_dict = xmlStr2dict(xmlStr)
     return make_response(status=HttpStatus.SUCCESS, data=test_xml_2_dict)
Exemple #17
0
    def post(self):
        class ClassBase():
            def __init__(self, code=None, error=None, message=None):
                self.code = '123'
                self.error = {'key': 'value', 'key1': 'value1'}
                self.data = ['ClassBase1', 'ClassBase2']

        class Class1(object):
            def __init__(self, code=None, error=None, message=None):
                self.code = '123'
                self.error = {'key': 'value', 'key1': 'value1'}
                self.data = [ClassBase(), ClassBase()]

        class OutVo(object):
            def __init__(self, code=None, error=None, message=None):
                self.code = '123'
                self.error = {'key': 'value', 'key1': 'value1'}
                self.message = [1, 2, 3]
                self.data = [Class1(), Class1()]

        out = OutVo()
        return make_response(status=HttpStatus.SUCCESS, data=out)
Exemple #18
0
    def post(self):
        ccbinsId = get_argument("ccbinsId", required=True, help='所属机构不能为空')
        indexCode = get_argument("indexCode", required=True, help='所属设备不能为空')
        status = get_argument("status", required=True, help='报警类型不能为空')
        cct_rcrd_inf = get_argument("cct_rcrd_inf", required=False)
        eqmt_id = get_argument("eqmt_id", required=False)
        use_width = get_argument("use_width", required=False)
        thresh = get_argument("thresh", required=False)
        time_step = get_argument("time_step", required=False)

        video_conn_info_po = VideoConnInfo()
        video_conn_info_po.id = gen_uuid()
        video_conn_info_po.ccbins_id = ccbinsId
        video_conn_info_po.cct_rcrd_inf = cct_rcrd_inf
        video_conn_info_po.eqmt_id = eqmt_id
        video_conn_info_po.index_code = indexCode
        video_conn_info_po.status = status
        video_conn_info_po.param1 = use_width
        video_conn_info_po.param2 = thresh
        video_conn_info_po.param3 = time_step
        video_conn_dao.add_record(video_conn_info_po)
        return make_response(status=HttpStatus.SUCCESS,
                             data={"code": "success"})
Exemple #19
0
 def bad_gateway_timeout(e):
     logger.error(e)
     return make_response(504, e)
Exemple #20
0
 def get(self):
     dir = current_app.config.get('BASE_DIR')
     test_xml_2_dict = xmlFile2dict(os.path.join(dir, 'test/file.xml'))
     return make_response(status=HttpStatus.SUCCESS, data=test_xml_2_dict)
Exemple #21
0
 def delete(self):
     data = '{"name": "123", "password":123}'
     return make_response(status=HttpStatus.SUCCESS, data=data)
Exemple #22
0
 def put(self):
     data = {'name': 123, 'password': '******'}
     return make_response(status=HttpStatus.SUCCESS, data=data)
Exemple #23
0
 def not_found(e):
     logger.error(e)
     return make_response(404, e)
Exemple #24
0
 def get(self):
     email = get_argument('email')
     user = users.user_by_email(email)
     return make_response(status=HttpStatus.SUCCESS, data=user)
Exemple #25
0
 def delete(self):
     return make_response(status=HttpStatus.SUCCESS, data={"123": "asdf"})
Exemple #26
0
 def not_allowed(e):
     logger.error(e)
     return make_response(405, e)
Exemple #27
0
 def post(self):
     name = get_argument('username', required=True, help='请输入用户名')
     password = get_argument('password', required=False, help='请输入密码')
     email = get_argument('email', required=False, help='请输入邮箱')
     users.create_user(name, email, password)
     return make_response(status=HttpStatus.SUCCESS)
Exemple #28
0
 def bad_gateway(e):
     exstr = traceback.format_exc()
     errorlogger.error('register blueprint fail, {}, error stack:{}'.format(e, exstr))
     debuglogger.error('register blueprint fail, {}, error stack:{}'.format(e, exstr))
     return make_response(502, e)
Exemple #29
0
 def server_error(e):
     logger.error(e)
     return make_response(500, e)
Exemple #30
0
 def service_unavailable(e):
     logger.error(e)
     return make_response(503, e)