MCPcopy Create free account
hub / github.com/aaPanel/BaoTa / create_project

Method create_project

mod/project/java/projectMod.py:1228–1328  ·  view source on GitHub ↗
(self, get: Get)

Source from the content-addressed store, hash-verified

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

Callers

nothing calls this directly

Calls 14

create_tomcat_projectMethod · 0.95
add_server_proxyMethod · 0.95
remove_projectMethod · 0.95
set_static_pathMethod · 0.95
json_responseFunction · 0.90
mainClass · 0.90
set_port_ruleMethod · 0.80
getMethod · 0.45
countMethod · 0.45
whereMethod · 0.45
MMethod · 0.45

Tested by

no test coverage detected