(self, get: Get)
| 1226 | return json_response(status = True, msg = '项目创建成功') |
| 1227 | |
| 1228 | def create_project(self, get: Get): |
| 1229 | # *入参校验 |
| 1230 | # project_port = get.get("port", "") |
| 1231 | # if public.M("sites").where("project_type=? AND project_config like ?", ("Java","%{}%".format(project_port))).count(): |
| 1232 | # return json_response(status=False, msg="端口已被其他java项目使用,请检查") |
| 1233 | |
| 1234 | project_type = int(get.get("project_type", "")) |
| 1235 | if project_type == "": |
| 1236 | return json_response(status = False, msg = "项目类型错误") |
| 1237 | |
| 1238 | # !开始统一传入project_name |
| 1239 | project_name = get.get("project_name", "") |
| 1240 | if not project_name: |
| 1241 | return json_response(False, "项目名不能为空") |
| 1242 | if public.M("sites").where("project_type=? AND name=?", ("Java", project_name)).count(): |
| 1243 | return json_response(False, "已存在相同名称项目") |
| 1244 | |
| 1245 | project_path = get.get("project_path", "") |
| 1246 | project_jar = get.get("project_jar", "") |
| 1247 | if not project_path and project_jar and project_type == 0: |
| 1248 | project_path = project_jar |
| 1249 | if not os.path.exists(project_path): |
| 1250 | return json_response(False, "项目文件路径不存在") |
| 1251 | # 项目路径不可以包含空白字符,会导致nginx异常 |
| 1252 | if re.search(r"\s", project_path): |
| 1253 | return json_response(False, "项目文件路径不能包含空白字符") |
| 1254 | |
| 1255 | # *处理项目文件 |
| 1256 | # if os.path.isfile(project_path) and os.path.basename(project_path).endswith(".war") and project_type != 0: |
| 1257 | # target_dir = project_path.replace(".war", "") |
| 1258 | # if not os.path.exists(target_dir): |
| 1259 | # os.mkdir(target_dir) |
| 1260 | # try: |
| 1261 | # from zipfile import ZipFile |
| 1262 | # with ZipFile(project_path, "r") as z: |
| 1263 | # z.extractall(target_dir) |
| 1264 | # except Exception: |
| 1265 | # return json_response(False, "指定war包解压失败") |
| 1266 | # os.remove(project_path) |
| 1267 | # get.project_path = target_dir |
| 1268 | |
| 1269 | # *创建网站 |
| 1270 | public.set_module_logs("create_java_project", "create") |
| 1271 | create_result = None |
| 1272 | if project_type == 0: |
| 1273 | public.set_module_logs("create_java_spring", "create") |
| 1274 | create_result = self.create_spring_boot_project(get) |
| 1275 | |
| 1276 | elif project_type == 1: |
| 1277 | public.set_module_logs("create_java_tomcat", "create") |
| 1278 | create_result = self.create_tomcat_project(get) |
| 1279 | |
| 1280 | # elif project_type == 2: |
| 1281 | # create_result = self.create_site_tomcat_project(get) |
| 1282 | # return |
| 1283 | |
| 1284 | if not create_result or not create_result.get("status", ""): |
| 1285 | return create_result |
nothing calls this directly
no test coverage detected