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

Method multi_check_bind_extranet

class/projectModel/javaModel.py:4869–4917  ·  view source on GitHub ↗

检查是否可以绑定外网,并执行绑定操作 @author baozi <202-03-2> @param: get ( dict ): project_names 要操作的网站列表 @return

(self, get)

Source from the content-addressed store, hash-verified

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

Callers

nothing calls this directly

Calls 13

set_nginx_configMethod · 0.95
set_apache_configMethod · 0.95
returnMsgMethod · 0.80
selectMethod · 0.45
whereMethod · 0.45
MMethod · 0.45
joinMethod · 0.45
loadsMethod · 0.45
appendMethod · 0.45
removeMethod · 0.45
setFieldMethod · 0.45
dumpsMethod · 0.45

Tested by

no test coverage detected