@name 批量设置项目 @author baozi<2023-3-2> @param get { project_names: list[string] <项目名称>所组成的列表 } @return dict
(self, get)
| 4709 | if os.path.exists(log_file): os.remove(log_file) |
| 4710 | |
| 4711 | def multi_set_project(self, get): |
| 4712 | ''' |
| 4713 | @name 批量设置项目 |
| 4714 | @author baozi<2023-3-2> |
| 4715 | @param get<dict_obj>{ |
| 4716 | project_names: list[string] <项目名称>所组成的列表 |
| 4717 | } |
| 4718 | @return dict |
| 4719 | ''' |
| 4720 | project_names = get.project_names |
| 4721 | set_type = get.operation |
| 4722 | if set_type not in ["start", "stop"]: |
| 4723 | return public.returnMsg(False, "操作信息错误") |
| 4724 | if isinstance(project_names, list): |
| 4725 | pjnames = [i.strip() for i in project_names] |
| 4726 | else: |
| 4727 | pjnames = [] |
| 4728 | |
| 4729 | projects = public.M('sites').where( |
| 4730 | f'project_type=? AND name in ({",".join(["?"] * len(pjnames))})', |
| 4731 | ('Java', *pjnames) |
| 4732 | ).select() |
| 4733 | if not projects: |
| 4734 | return public.returnMsg(False, "未选中要启动的站点") |
| 4735 | |
| 4736 | neizhi_projects = {'7': False, '8': False, '9': False} |
| 4737 | _check = self.get_tomcat_version(None) |
| 4738 | if not _check["tomcat7"]["status"]: neizhi_projects.pop("7") |
| 4739 | if not _check["tomcat8"]["status"]: neizhi_projects.pop("8") |
| 4740 | if not _check["tomcat9"]["status"]: neizhi_projects.pop("9") |
| 4741 | springboot_projects = [] |
| 4742 | duli_projects = [] |
| 4743 | error_list = [] |
| 4744 | for project in projects: |
| 4745 | project['project_config'] = json.loads(project['project_config']) |
| 4746 | if project['project_config']['java_type'] == 'neizhi': |
| 4747 | if project['project_config']['tomcat_version'] in neizhi_projects: |
| 4748 | neizhi_projects[project['project_config']['tomcat_version']] = True |
| 4749 | else: |
| 4750 | error_list.append( |
| 4751 | { |
| 4752 | "project_name": project["name"], "msg": "启动失败,没有安装Tomcat{}".format( |
| 4753 | project['project_config']['tomcat_version'] |
| 4754 | ) |
| 4755 | } |
| 4756 | ) |
| 4757 | pjnames.remove(project["name"]) |
| 4758 | |
| 4759 | if project['project_config']['java_type'] == 'duli': |
| 4760 | duli_projects.append(project) |
| 4761 | |
| 4762 | if project['project_config']['java_type'] == 'springboot': |
| 4763 | springboot_projects.append(project) |
| 4764 | |
| 4765 | for tomcat_version, flag in neizhi_projects.items(): |
| 4766 | if flag: |
| 4767 | _get = public.dict_obj() |
| 4768 | _get.type = set_type |
nothing calls this directly
no test coverage detected