同步操作将从 华北电力大学-iDeal/Python_RESTfulAPI_Codegen 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
#!/usr/bin/env python# -*- coding:utf-8 -*-# file:main.py# author:Nathan# datetime:2021年8月20日 21:35# software: PyCharm"""this is function description"""from sqlalchemy import create_engine, MetaDataimport codegen.controllercodegen.mainimport codegen.modelcodegen.mainimport codegen.resourcecodegen.mainimport codegen.servicecodegen.mainimport codegen.staticcodegen.mainimport codegen.testcodegen.mainfrom utils.loggings import loggingsfrom utils.response_code import RET, error_mapfrom utils.tablesMetadata import TableMetadatadef start(table_config, session_id, ip):"""步骤:零、 获取新的table_dict的值一、 生成Model层代码二、 生成Controller层代码三、 生成Service层代码四、 生成Resource层代码五、 打包静态文件六、 生成test层代码"""try:# 初始化配置文件from config.setting import Settingssettings = Settings(session_id)# 参数初始化engine = create_engine(settings.MODEL_URL)metadata = MetaData(engine)reflection_tables = [table['table'] for table in table_config['table']]reflection_views = [view['view'] for view in table_config['view']]metadata.reflect(engine, only=reflection_tables + reflection_views, views=True)table_dict = TableMetadata.get_tables_metadata(metadata=metadata,reflection_views=reflection_views,table_config=table_config)# 第一步loggings.info(1, "Start to build the Model layer code, please wait...", session_id, ip)codegen.modelcodegen.main.main(table_dict, settings, session_id, ip)loggings.info(1, "Model layer code build completed", session_id, ip)# 第二步loggings.info(1, "Start to build the Controller layer code, please wait...", session_id, ip)codegen.controllercodegen.main.main(table_dict, settings, session_id, ip)loggings.info(1, "Controller layer code build completed", session_id, ip)# 第三步loggings.info(1, "Start to build the Service layer code, please wait...", session_id, ip)codegen.servicecodegen.main.main(table_dict, settings, session_id, ip)loggings.info(1, "Service layer code build completed", session_id, ip)# 第四步loggings.info(1, "Start to build the Resource layer code, please wait...", session_id, ip)codegen.resourcecodegen.main.main(table_dict, settings, session_id, ip)loggings.info(1, "Resource layer code build completed", session_id, ip)# 第五步loggings.info(1, "Start packing static files, please wait...", session_id, ip)codegen.staticcodegen.main.main(settings, session_id, ip)loggings.info(1, "Static resource packaging is complete", session_id, ip)# 第六步loggings.info(1, "Start to build the Test layer code, please wait...", session_id, ip)codegen.testcodegen.main.main(table_dict, settings, session_id, ip)loggings.info(1, "Test layer code build completed", session_id, ip)loggings.info(1, "Api project code generation completed", session_id, ip)if session_id and ip:log_path = "logs/log_user_info/codegen_log_{user_ip}_{session_id}.log".format(user_ip=ip, session_id=session_id)else:log_path = "logs/codegen_log.log"with open(log_path, 'r', encoding='utf-8') as f:result = f.read()return {'code': RET.OK, 'message': error_map[RET.OK], 'data': result}except Exception as e:return {'code': RET.UNKOWNERR, 'message': error_map[RET.UNKOWNERR], 'error': str(e)}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。