@name 为指定项目添加域名 @author hwliang<2021-08-09> @param get { project_name: string<项目名称> domains: list<域名列表> } @return dict
(self, get)
| 2386 | return domains |
| 2387 | |
| 2388 | def project_add_domain(self, get): |
| 2389 | ''' |
| 2390 | @name 为指定项目添加域名 |
| 2391 | @author hwliang<2021-08-09> |
| 2392 | @param get<dict_obj>{ |
| 2393 | project_name: string<项目名称> |
| 2394 | domains: list<域名列表> |
| 2395 | } |
| 2396 | @return dict |
| 2397 | ''' |
| 2398 | project_find = self.get_project_find(get.project_name) |
| 2399 | if not project_find: |
| 2400 | return public.returnMsg(False, '指定项目不存在') |
| 2401 | project_id = project_find['id'] |
| 2402 | domains = get.domains |
| 2403 | flag = False |
| 2404 | res_domains = [] |
| 2405 | for domain in domains: |
| 2406 | domain = domain.strip() |
| 2407 | if not domain: continue |
| 2408 | domain_arr = domain.split(':') |
| 2409 | domain_arr[0] = self.check_domain(domain_arr[0]) |
| 2410 | if domain_arr[0] is False: |
| 2411 | res_domains.append({"name": domain, "status": False, "msg": '域名格式错误'}) |
| 2412 | continue |
| 2413 | if len(domain_arr) == 1: |
| 2414 | domain_arr.append("") |
| 2415 | if domain_arr[1] == "": |
| 2416 | domain_arr[1] = 80 |
| 2417 | domain += ':80' |
| 2418 | try: |
| 2419 | if not (0 < int(domain_arr[1]) < 65535): |
| 2420 | res_domains.append({"name": domain, "status": False, "msg": '域名格式错误'}) |
| 2421 | continue |
| 2422 | except ValueError: |
| 2423 | res_domains.append({"name": domain, "status": False, "msg": '域名格式错误'}) |
| 2424 | continue |
| 2425 | if not public.M('domain').where('name=?', (domain_arr[0],)).count(): |
| 2426 | public.M('domain').add( |
| 2427 | 'name,pid,port,addtime', (domain_arr[0], project_id, domain_arr[1], public.getDate()) |
| 2428 | ) |
| 2429 | if not domain in project_find['project_config']['domains']: |
| 2430 | project_find['project_config']['domains'].append(domain) |
| 2431 | public.WriteLog(self._log_name, '成功添加域名{}到项目{}'.format(domain, get.project_name)) |
| 2432 | res_domains.append({"name": domain_arr[0], "status": True, "msg": '添加成功'}) |
| 2433 | flag = True |
| 2434 | else: |
| 2435 | public.WriteLog(self._log_name, '添加域名错误,域名{}已存在'.format(domain)) |
| 2436 | res_domains.append( |
| 2437 | {"name": domain_arr[0], "status": False, "msg": '添加错误,域名{}已存在'.format(domain)} |
| 2438 | ) |
| 2439 | if flag: |
| 2440 | public.M('sites').where('id=?', (project_id,)).save( |
| 2441 | 'project_config', json.dumps(project_find['project_config']) |
| 2442 | ) |
| 2443 | self.set_config(get.project_name) |
| 2444 | |
| 2445 | return self._ckeck_add_domain(get.project_name, res_domains) |
no test coverage detected