Exemple #1
0
 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
Exemple #2
0
    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}
Exemple #3
0
 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')
Exemple #4
0
    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])
Exemple #5
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)
Exemple #6
0
 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}