addproject

This commit is contained in:
qiaoxinjiu
2026-01-22 19:10:37 +08:00
commit 6994b185a3
184 changed files with 21039 additions and 0 deletions

View File

@@ -0,0 +1,196 @@
# coding=utf-8
import configparser
import os
import codecs
from base_framework.base_config.current_pth import *
from base_framework.public_tools import log
obj_log = log.get_logger()
class ReadConfig:
"""
专门读取配置文件的,.ini文件格式
"""
def __init__(self, filename=config_file_path):
self.config_path = filename
fd = open(self.config_path, encoding='utf-8')
data = fd.read()
if data[:3] == codecs.BOM_UTF8:
data = data[3:]
files = codecs.open(self.config_path, "w")
files.write(data)
files.close()
fd.close()
self.cf = configparser.SafeConfigParser(allow_no_value=True)
self.cf.read(self.config_path, encoding='utf-8')
def get_value(self, sections, options):
"""
获取config文件数据
"""
return self.cf.get(sections, options)
def read_cfg(self):
"""
读取配置文件路径
"""
return self.cf.read(filenames=self.config_path, encoding='utf-8')
def get_sections(self):
"""
读取配置文件中所有的section可以理解为组名)
"""
return self.cf.sections()
def get_options(self, section):
"""
读取该section下所有的option可以理解成读取该组下的所有key
"""
return self.cf.options(section)
def get_items(self, section):
"""
读取该section下的所有值并以键值对形式输出
"""
return self.cf.items(section)
def add_section(self, section):
"""
添加一个section参数为section的名称
"""
self.cf.add_section(section)
with open(self.config_path, 'w') as fw: # 循环写入
self.cf.write(fw)
def set_section(self, section, option, value):
"""
在section下面添加一条数据key=value需要调用write()将内容写入文件
"""
self.cf.set(section, option, value)
with open(self.config_path, 'w') as fw: # 循环写入
self.cf.write(fw)
def get_all_cfg(self, section=None):
all_config = {}
for key in self.get_sections():
all_values = {}
for value_key in self.get_options(key):
all_values[value_key] = self.get_value(key, value_key)
all_config[key] = all_values
if section:
if section in all_config:
return all_config[section]
else:
raise Exception("配置节点:{}在文件中不存在,请检查....".format(section))
else:
return all_config
def get_current_config(file_path=env_choose_path, section=None, key=None):
"""
功能读取env_choose.ini中的配置并返回
"""
rd = ReadConfig(file_path)
if key in rd.get_options(section=section):
return rd.get_value(sections=section, options=key)
else:
return "server not exist"
def get_zhyy_config(file_path=config_choose_path, section=None, key=None):
"""
功能读取env_choose.ini中的配置并返回
"""
rd = ReadConfig(file_path)
if key in rd.get_options(section=section):
return rd.get_value(sections=section, options=key)
else:
return "server not exist"
def get_current_env():
"""
功能读取env_choose.ini中的当前环境配置并返回
"""
rd = ReadConfig(env_choose_path)
env = rd.get_value(sections="run_jira_id", options="huohua-podenv")
if not env:
env = rd.get_value(sections="run_evn_name", options="current_evn")
return env
def get_uat_config(website, page, key=None, section='page_element'):
"""
| 功能说明: | 从uat_config文件夹下的对应文件中读取key |
| 输入参数: | website | 站点名public_business/uat/uat_config目录下的文件名 |
| | page | web页面名称website文件夹下的文件名不用.ini的文件后缀名 |
| | section | 配置文件中的节点名,默认读取页面元素 |
| | key | 配置文件中的key如果不输入将以当前构建环境为key如qasim |
| 作者信息: | 吴勇刚 | 2022.06.22 |
"""
config_path = os.path.join(uat_config_path, website, "{}.ini".format(page))
if not key:
key = get_current_config(section="run_evn_name", key="current_evn").lower()
rd = ReadConfig(config_path)
return rd.get_value(sections=section, options=key)
class InitConfig:
def __init__(self, run_user_name=None, current_evn=None):
self.cfg_rtn = ReadConfig()
self.evn_rtn = ReadConfig(env_choose_path)
self.db_rtn = ReadConfig(db_config_path)
self.config_rtn = ReadConfig(config_choose_path)
self.all_cfg = self.cfg_rtn.get_all_cfg()
self.config_cfg = self.config_rtn.get_all_cfg()
self.evn_cfg = self.evn_rtn.get_all_cfg()
self.db_cfg = self.db_rtn.get_all_cfg()
try:
self.astwb_cfg = ReadConfig(astwb_config)
self.astwb_all_cfg = self.astwb_cfg.get_all_cfg()
# 合并配置文件
self.all_cfg.update(self.astwb_all_cfg)
except Exception as e:
pass
if current_evn is None:
self.current_evn = self.evn_cfg['run_evn_name']['current_evn'] if self.evn_cfg['run_evn_name'][
'current_evn'] != '' else 'QA'
else:
self.current_evn = current_evn
if run_user_name:
self.current_user = run_user_name
else:
self.current_user = self.evn_cfg['run_user_name']['default_user']
self.zhyy_host = self.get_current_env_info(self.config_cfg, self.current_evn, 'zhyy_login')
def get_current_env_info(self, cfg_obj, current_env, key):
"""
config.ini中环境处理专用
:param cfg_obj: self.cfg_rtn = ReadConfig() self.all_cfg = self.cfg_rtn.get_all_cfg() cfg_obj = self.all_cfg
:param current_env: QA SIM PRODUCT
:param key: options
:return:
"""
try:
value = cfg_obj[current_env][key]
except KeyError:
value = cfg_obj['QA'][key]
if current_env == 'SIM':
value = value.replace('.qa.', '.sim.')
return value
elif current_env == 'PRODUCT':
value = value.replace('.qa.', '.')
return value
return value
if __name__ == '__main__':
pass
# init_cfg = InitConfig(curt_evn='QA', curt_user='lrq')
print(ReadConfig().add_section(section='temp_teacher'))
print(ReadConfig().set_section(section='temp_teacher', option='show_username', value=11))