检查是否可以绑定外网,并执行绑定操作 @author baozi <202-03-2> @param: get ( dict ): project_names 要操作的网站列表 @return
(self, get)
| 4867 | return True, None |
| 4868 | |
| 4869 | def multi_check_bind_extranet(self, get): |
| 4870 | """检查是否可以绑定外网,并执行绑定操作 |
| 4871 | @author baozi <202-03-2> |
| 4872 | @param: |
| 4873 | get ( dict ): project_names 要操作的网站列表 |
| 4874 | @return |
| 4875 | """ |
| 4876 | if not public.is_apache_nginx(): return public.returnMsg(False, '请先安装Apache或者Nginx!') |
| 4877 | project_names = get.project_names |
| 4878 | if isinstance(project_names, list): |
| 4879 | pjnames = [i.strip() for i in project_names] |
| 4880 | else: |
| 4881 | pjnames = [] |
| 4882 | |
| 4883 | projects = public.M('sites').where( |
| 4884 | f'project_type=? AND name in ({",".join(["?"] * len(pjnames))})', ('Java', *pjnames) |
| 4885 | ).select() |
| 4886 | if not projects: |
| 4887 | return public.returnMsg(False, "未选中要启动的站点") |
| 4888 | |
| 4889 | error_list = [] |
| 4890 | flag = False |
| 4891 | for project in projects: |
| 4892 | project['project_config'] = json.loads(project['project_config']) |
| 4893 | if not project['project_config']['domains']: |
| 4894 | error_list.append({'project_name': project["name"], "msg": '请先到【域名管理】选项中至少添加一个域名'}) |
| 4895 | pjnames.remove(project["name"]) |
| 4896 | continue |
| 4897 | if "bind_extranet" in project['project_config'] and project['project_config']['bind_extranet'] == 1: |
| 4898 | continue |
| 4899 | else: |
| 4900 | flag = True |
| 4901 | project['project_config']['bind_extranet'] = 1 |
| 4902 | public.M('sites').where("id=?", (project['id'],)).setField( |
| 4903 | 'project_config', json.dumps(project['project_config']) |
| 4904 | ) |
| 4905 | self.set_nginx_config(project) |
| 4906 | self.set_apache_config(project) |
| 4907 | public.WriteLog(self._log_name, 'Java项目{}, 开启外网映射'.format(project)) |
| 4908 | |
| 4909 | if flag: |
| 4910 | public.serviceReload() |
| 4911 | |
| 4912 | if error_list: |
| 4913 | return { |
| 4914 | "status": True, "msg": "部分网站开启外网映射失败", "error_list": error_list, "project_names": pjnames |
| 4915 | } |
| 4916 | |
| 4917 | return {"status": True, "msg": "开启外网映射成功", "project_names": pjnames} |
| 4918 | |
| 4919 | def _change_daemom_sh(self, target_sh, logpath, suffix=''): |
| 4920 | if not os.path.exists(target_sh): return False |
nothing calls this directly
no test coverage detected