def post(self): project = request.form.get('interface_type') project_case = Project.query.filter_by(project_name=str(project), status=False).first() if project_case is None: logger.info(MessageEnum.project_not_exict.value[1]) flash(MessageEnum.project_not_exict.value[1]) return redirect(url_for('home.interface')) interface_list = Interface.query.filter_by(projects_id=project_case.id, status=False).all() pad = os.getcwd() day = time.strftime("%Y%m", time.localtime(time.time())) file_dir = pad + '/app/upload' file = os.path.join(file_dir, (day + '.xls')) if os.path.exists(file) is False: os.system('touch %s' % file) result = create_interface(filename=file, interfacelist=interface_list) if result['code'] == 1: flash(MessageEnum.export_fail.value[1] + '原因:%s' % result['error']) return redirect(url_for('home.interface')) response = make_response( send_from_directory(file_dir, filename=day + '.xls', as_attachment=True)) return response
def put(self, url, params, headers): # post消息 data = json.dumps(params) try: reponse = requests.put(url, data=data, timeout=Interface_Time_Out, headers=headers) if reponse.status_code != 200: logger.info(reponse.status_code) return {'put请求出错': "状态码返回不是200"} json_response = json.loads(reponse.text) spend = reponse.elapsed.total_seconds() return json_response, spend except exceptions.Timeout: logger.info(exceptions.Timeout) return {'put请求出错': "请求超时"} except exceptions.InvalidURL: logger.info(exceptions.InvalidURL) return {'put请求出错': "非法url"} except exceptions.HTTPError: logger.info(exceptions.HTTPError) return {'put请求出错': "http请求错误"} except Exception as e: logger.info(e) return {'put请求出错': "错误原因:%s" % e}
def dispatch_request(self): if request.method == 'POST': file = request.files['myfile'] if file and '.' in file.filename and file.filename.split( '.')[1] == 'xlsx': filename = 'jiekou.xlsx' file.save(filename) jiekou_bianhao, project_nam, model_nam, interface_name, interface_url, interface_header, \ interface_meth, interface_par, interface_bas, interface_type = pasre_inter(filename) if len(interface_meth) > Config_import: flash(MessageEnum.import_max_big.value[1]) return redirect(url_for('interface.import_inter')) try: for i in range(len(jiekou_bianhao)): projects_id = Project.query.filter_by( project_name=project_nam[i]).first() if projects_id is None: logger.info( MessageEnum.import_project_not_exitc.value[1]) flash( MessageEnum.import_project_not_exitc.value[1]) return redirect(url_for('interface.import_inter')) model_id = Model.query.filter_by( model_name=model_nam[i]).first() if model_id is None: logger.info(MessageEnum.import_model.value[1]) flash(MessageEnum.import_model.value[1]) return redirect(url_for('interface.import_inter')) new_interface = Interface( projects_id=projects_id.id, model_id=model_id.id, Interface_name=str(interface_name[i]), Interface_url=str(interface_url[i]), Interface_headers=str(interface_header[i]), Interface_meth=str(interface_meth[i]), Interface_par=(interface_par[i]), Interface_back=str(interface_bas[i]), Interface_user_id=User.query.filter_by( username=session.get('username')).first().id, interfacetype=interface_type[i]) db.session.add(new_interface) db.session.commit() logger.info(MessageEnum.import_success.value[1]) flash(MessageEnum.import_success.value[1]) return redirect(url_for('home.interface')) except Exception as e: logger.info(e) flash(MessageEnum.import_fail.value[1]) return render_template('import.html') logger.info(MessageEnum.import_fail_admin.value[1]) flash(MessageEnum.import_fail_admin.value[1]) return render_template('import.html') return render_template('import.html')
def delete(self): data = request.data.decode('utf-8') interface = Interface.query.filter_by(id=data, status=False).first() if not interface: return reponse(message=MessageEnum.interface_add_not.value[1], code=MessageEnum.interface_add_not.value[0]) interface.status = True try: db.session.commit() return reponse(message=MessageEnum.successs.value[1], code=MessageEnum.successs.value[0]) except Exception as e: logger.info(e) db.session.rollback() return reponse(message=MessageEnum.delete_inteface_error.value[1], code=MessageEnum.delete_inteface_error.value[0])
def get(self, id): interface = Interface.query.filter_by(id=id, status=False).first() if interface is None: logger.info(__message=MessageEnum.edit_interface.value[1]) flash(MessageEnum.edit_interface.value[1]) return redirect(url_for('home.interface')) if current_user.is_sper is True: projects = Project.query.filter_by(status=False).order_by( Project.id.desc()).all() else: projects = [] id = [] for i in current_user.quanxians: if (i.projects in id) is False: if i.projects.status is False: projects.append(i.projects) id.append(i.projects) project, models = get_pro_mo() return render_template('edit/edit_interface.html', interfac=interface, projects=projects, models=models)
def delfile(self, url, params, headers): # 删除的请求 try: self.rdel_word = requests.delete(url, data=params, headers=headers, timeout=Interface_Time_Out) json_response = json.loads(self.rdel_word.text) spend = self.rdel_word.elapsed.total_seconds() return json_response, spend except exceptions.Timeout: logger.info(exceptions.Timeout) return {'delete请求出错': "请求超时"} except exceptions.InvalidURL: logger.info(exceptions.InvalidURL) return {'delete请求出错': "非法url"} except exceptions.HTTPError: logger.info(exceptions.HTTPError) return {'delete请求出错': "http请求错误"} except Exception as e: logger.info(e) return {'delete请求出错': "错误原因:%s" % e}