def get(self): try: ret = interface.predict_changelog() return pretty_result(Code.OK, data=ret) except Exception as e: current_app.logger.error(str(e)) return pretty_result(Code.DB_ERROR)
def get(self): ''' 航班风险预测 :return: ''' self.parser.add_argument('flynum', type=str, location='args', required=False, default=None) self.parser.add_argument('area', type=str, location='args', required=False, default=None) args = self.parser.parse_args() try: if not args.flynum and not args.area: return pretty_result(Code.PARAM_ERROR) risk_result = flight_risk(args.flynum, args.area) if risk_result: if type(risk_result) == tuple: depCity, arrCity, risk = risk_result ret = { 'depCity': depCity, 'arrCity': arrCity, 'forcast': round(risk, 2) } else: ret = { 'forcast': round(risk_result, 2) } return pretty_result(Code.OK, data=ret) return pretty_result(Code.CUSTOM_ERROR, msg='航班或地点暂未收录或不存在') except Exception as e: logRecord(f'when request /pneumonia/flight-risk: {str(e)}', level='error', debug=args.debug) return pretty_result(Code.UNKNOWN_ERROR, msg=e, debug=args.debug)
def get(self): args = self.parser.parse_args() try: ret = predict() return pretty_result(Code.OK, data=ret) except Exception as e: logRecord(f'when request /pneumonia/prediction: {str(e)}', level='error', debug=args.debug) return pretty_result(Code.UNKNOWN_ERROR, msg=e, debug=args.debug)
def get(self): args = self.parser.parse_args() try: entity_result = interface.show_update() return pretty_result(Code.OK, data=entity_result) except Exception as e: logRecord(f'when GET /pneumonia/hit: {str(e)}', level='error', debug=args.debug) return pretty_result(Code.UNKNOWN_ERROR, msg=e, debug=args.debug)
def get(self): self.parser.add_argument('question', type=str, required=True, trim=True, location='args') args = self.parser.parse_args() try: entity_result = interface.QA(args.question) return pretty_result(Code.OK, data=entity_result) except Exception as e: logRecord(f'when GET /pneumonia/hit: {str(e)}', level='error', debug=args.debug) return pretty_result(Code.UNKNOWN_ERROR, msg=e, debug=args.debug)
def get(self): self.parser.add_argument('news', type=str, location='args', trim=True) args = self.parser.parse_args() try: ret = interface.get_answer(args.news) return pretty_result(Code.OK, data=ret) except Exception as e: logRecord(f'when PUT /pneumonia/entitylink: {str(e)}', level='error', debug=args.debug) return pretty_result(Code.UNKNOWN_ERROR, msg=e, debug=args.debug)
def get(self): self.parser.add_argument('nums', type=int, location='args', default=0) args = self.parser.parse_args() try: data_path = f'{file_path}/entities_labeled.xls' entity_result = interface.update_mongo(data_path, file_path) return pretty_result(Code.OK, data=entity_result) except Exception as e: logRecord(f'when GET /pneumonia/hit: {str(e)}', level='error', debug=args.debug) return pretty_result(Code.UNKNOWN_ERROR, msg=e, debug=args.debug)
def get(self): self.parser.add_argument('url',type=str, location='args', required=True, trim=True) self.parser.add_argument('lang',type=str, location='args', required=True, trim=True) args = self.parser.parse_args() try: entity_relation = interface.get_entity_relation(args.url, args.lang) return pretty_result(Code.OK, data=entity_relation) except Exception as e: logRecord(f'when GET /pneumonia/entity: {str(e)}', level='error', debug=args.debug) return pretty_result(Code.UNKNOWN_ERROR, msg=e, debug=args.debug)
def get(self): self.parser.add_argument('entity', type=str, location='args', required=True, trim=True) self.parser.add_argument('mini', type=int, location='args', default=0) args = self.parser.parse_args() try: entity_result = interface.query_entity(args.entity, args.mini) return pretty_result(Code.OK, data=entity_result) except Exception as e: logRecord(f'when GET /pneumonia/entityquery: {str(e)}', level='error', debug=args.debug) return pretty_result(Code.UNKNOWN_ERROR, msg=e, debug=args.debug)
def get(self): self.parser.add_argument('cla', type=str, location='args', required=False, default='Covid19_Datasets_dingYue') self.parser.add_argument('sortby', type=str, location='args', required=False, default='date') self.parser.add_argument('order', type=int, location='args', required=False, default=-1) args = self.parser.parse_args() try: ret = query_feedback(args.cla, args.sortby, args.order) return pretty_result(Code.OK, data=ret) except Exception as e: logRecord(f'when GET /feedback: {str(e)}', level='error', debug=args.debug) return pretty_result(Code.DB_ERROR, msg=e, debug=args.debug)
def delete(self, id): ''' 删除数据集 :return: ''' args = self.parser.parse_args() try: del_dataset_by_id(id) return pretty_result(Code.OK, data=[]) except Exception as e: logRecord(f'when DELETE /pneumonia/dataset: {str(e)}', level='error', debug=args.debug) return pretty_result(Code.DB_ERROR, msg=e, debug=args.debug)
def put(self, id): ''' 编辑数据集 :return: ''' self.parser.add_argument("data", type=dict, location="json", required=True) args = self.parser.parse_args() try: ret = edit_dataset_by_id(id, args.data) return pretty_result(Code.OK, data=ret) except Exception as e: logRecord(f'when PUT /pneumonia/dataset: {str(e)}', level='error', debug=args.debug) return pretty_result(Code.DB_ERROR, msg=e, debug=args.debug)
def post(self): self.parser.add_argument("text", type=str, location='json', required=True, trim=True) args = self.parser.parse_args() try: ret = magi_selenium.run(args.get('text')) return pretty_result(Code.OK, data=ret) except Exception as e: logRecord(f'when request /mg/: {str(e)}', 'error', args.debug) return pretty_result(Code.UNKNOWN_ERROR, msg=e, debug=args.debug)
def get(self): ''' 获取全部数据集 :return: ''' self.parser.add_argument('sortby', type=str, location='args', required=False, default='Time') self.parser.add_argument('order', type=int, location='args', required=False, default=1) args = self.parser.parse_args() try: ret = query_all_dataset(args.sortby, args.order) return pretty_result(Code.OK, data=ret) except Exception as e: logRecord(f'when GET /pneumonia/dataset: {str(e)}', level='error', debug=args.debug) return pretty_result(Code.DB_ERROR, msg=e, debug=args.debug)
def _custom_abort(http_status_code, **kwargs): """ 自定义abort 400响应数据格式 """ if http_status_code == 400: message = kwargs.get('message') if isinstance(message, dict): param, info = list(message.items())[0] data = '{}:{}!'.format(param, info) return abort(jsonify(pretty_result(code.PARAM_ERROR, data=data))) else: return abort(jsonify(pretty_result(code.PARAM_ERROR, data=message))) return abort(http_status_code)
def get(self): ''' type: { "china": 0, "world": 1, "inflows": 2 } :return: ''' self.parser.add_argument('type', type=int, location='args', required=False, default=0) args = self.parser.parse_args() try: ret = getattr(interface, f"ncov_{self.type_dic.get(args.type, 'china')}")() return pretty_result(Code.OK, data=ret) except Exception as e: logRecord(f'when request /pneumonia/data: {str(e)}', level='error', debug=args.debug) return pretty_result(Code.UNKNOWN_ERROR, msg=e, debug=args.debug)
def get(self): self.parser.add_argument("flynum", type=str, location="args", required=True, trim=True) self.parser.add_argument("flydate", type=str, location="args", required=True, trim=True) args = self.parser.parse_args() try: data = FlightInfo(args.flynum, args.flydate).crawl() return pretty_result(Code.OK, data=data) except Exception as e: logRecord(f'when request /flight: {str(e)}', 'error', args.debug) return pretty_result(Code.UNKNOWN_ERROR, msg=e, debug=args.debug)
def put(self, id): ''' 修改反馈数据状态 { 0: 确认, 1: 删除, 2: 取消确认, 3: 取消删除 } :param id: 反馈数据id :return: ''' self.parser.add_argument('option', type=int, location='json', required=False, default=0) args = self.parser.parse_args() try: ret = edit_feedback(id, args.option) return pretty_result(Code.OK, data=ret) except Exception as e: logRecord(f'when PUT /feedback: {str(e)}', level='error', debug=args.debug) return pretty_result(Code.DB_ERROR, msg=e, debug=args.debug)
def post(self): self.parser.add_argument("ids", type=list, location="json", required=True, trim=True) self.parser.add_argument("en_kw", type=str, location="json", required=False, trim=True, default=None) args = self.parser.parse_args() try: ret = crawlExpertsEnNews(args.ids, args.get('en_kw')) return pretty_result(Code.OK, data=ret) except Exception as e: logRecord(f'when request /experts/news-en: {str(e)}', 'error', args.debug) return pretty_result(Code.UNKNOWN_ERROR, msg=e, debug=args.debug)
def custom_abord(http_status_code, *args, **kwargs): # 只要http_status_code 为400, 报参数错误 if http_status_code == 400: abort(pretty_result(code=Code.PARAM_ERROR)) # 正常返回消息 return abort(http_status_code)