def dynamic_not_parms(cls, data): # 创建对象 obj_mysql = HandleMysql() # 不存在手机号替换 if cls.not_existed_tel in data: # 手机号替换正则表达式中的表达式 data = re.sub(cls.not_existed_tel, obj_mysql.create_new_mobilephone(), data) # 不存在用户id if cls.not_user_id in data: obj_yaml = HandleYaml(HandlePath().get_path("configs", "properties.yaml")) # 得到不存在的id new_user_id = obj_mysql.select_sql(obj_yaml.read_yaml("mysql", "select_max_member_id"))['max(id)'] + 1 # 手机号替换正则表达式中的表达式,str转为字符串 data = re.sub(cls.not_user_id, str(new_user_id), data) # 不存在loanId if cls.not_existed_loan_id in data: obj_yaml = HandleYaml(HandlePath().get_path("configs", "properties.yaml")) # 得到不存在的id new_loan_id = obj_mysql.select_sql(obj_yaml.read_yaml("mysql", "select_max_loan_id"))['max(id)'] + 1 # 手机号替换正则表达式中的表达式,str转为字符串 data = re.sub(cls.not_existed_loan_id, str(new_loan_id), data) # 关闭对象 obj_mysql.close() return data
def dynamic_invest(cls, data): # 投资人手机号 if cls.invest_user_tel in data: obj_yaml = HandleYaml(HandlePath().get_path("configs", "user.yaml")) # 手机号替换正则表达式中的表达式 data = re.sub(cls.invest_user_tel, obj_yaml.read_yaml("investor", "mobile_phone"), data) # 投资人ID if cls.invest_user_id in data: obj_yaml = HandleYaml(HandlePath().get_path("configs", "user.yaml")) # 手机号替换正则表达式中的表达式,str转为字符串 data = re.sub(cls.invest_user_id, str(obj_yaml.read_yaml("investor", "id")), data) return data
def dynamic_borrower(cls, data): # 借款人手机号 if cls.borrower_existed_tel in data: obj_yaml = HandleYaml(HandlePath().get_path("configs", "user.yaml")) # 手机号替换正则表达式中的表达式 data = re.sub(cls.borrower_existed_tel, obj_yaml.read_yaml("borrower", "mobile_phone"), data) # 借款人Id if cls.borrow_user_id in data: obj_yaml = HandleYaml(HandlePath().get_path("configs", "user.yaml")) # 手机号替换正则表达式中的表达式,str转为字符串 data = re.sub(cls.borrow_user_id, str(obj_yaml.read_yaml("borrower", "id")), data) return data
def create_user_roles(region, reg_name, type=1): url = "http://api.lemonban.com/futureloan/member/register" # 创建mysql对象 obj_mysql = HandleMysql() # 创建请求对象 obj = HandleRequest() # 添加请求头 obj.update_headers(obj_yaml.read_yaml("register", "headers")) # 得到未注册的手机号 phone = obj_mysql.create_new_mobilephone() params = {"mobile_phone": phone, "pwd": "12345678", "type": type, "reg_name": reg_name} # 发送请求, user = obj.send_request(url, params=params).json() data = { region: { "id": user['data']['id'], "reg_name": reg_name, "mobile_phone": phone, "pwd": "12345678", "type": type, "leave_amount": 0 } } HandleYaml.writer_yaml(data, HandlePath().get_path("configs", "user.yaml")) obj.close() obj_mysql.close()
def get_log(cls): # 定义一个日志收集器 my_log = logging.getLogger(obj_yaml.read_yaml("log", "name_collector")) # 设置日志收集器的级别 my_log.setLevel(obj_yaml.read_yaml("log", "level_collector")) # 设置日志输出的格式 formater = logging.Formatter(obj_yaml.read_yaml("log", "formater")) # 定义一个日志输出到控制台的输出渠道 control = logging.StreamHandler() # 设置输出渠道的日志级别 control.setLevel(obj_yaml.read_yaml("log", "level_control")) # 添加日志输出的格式 control.setFormatter(formater) # 将输出渠道添加到日志收集器中 my_log.addHandler(control) # 定义一个日志输出到文件的输出渠道 path = logging.FileHandler(HandlePath().get_path( "logs", obj_yaml.read_yaml("log", "name_file")), encoding="UTF-8") # 设置输出渠道的日志级别 path.setLevel(obj_yaml.read_yaml("log", "level_file")) # 添加日志输出的格式 path.setFormatter(formater) # 将输出渠道添加到日志收集器中 my_log.addHandler(path) # 返回log对象 return my_log
def __init__(self, sheet_name, file_name=None): if file_name is None: # 不传文件名,默认读取datas目录下的文件 self.file_name = HandlePath().get_path( "datas", obj_yaml.read_yaml("excel", "file_name")) else: self.file_name = file_name self.sheet_name = sheet_name
def dynamic_admin(cls, data): if cls.admin_user_tel in data: obj_yaml = HandleYaml(HandlePath().get_path("configs", "user.yaml")) # 手机号替换正则表达式中的表达式 data = re.sub(cls.admin_user_tel, obj_yaml.read_yaml("admin", "mobile_phone"), data) return data
with open(file_name, encoding="UTF-8") as file: self.data = yaml.full_load(file) # 定义读取yaml文件的方法 def read_yaml(self, region, option): return self.data[region][option] # 定义写入yaml文件的方法 @staticmethod def writer_yaml(datas, filename): with open(filename, "a+", encoding="utf8") as file: # allow_unicode = True 可以写入中文并展示 yaml.dump(datas, file, allow_unicode=True) obj_yaml = HandleYaml(HandlePath().get_path("configs", "properties.yaml")) if __name__ == '__main__': obj_yaml = HandleYaml(HandlePath().get_path("configs", "properties.yaml")) datas = { "excel": { "file_name": "cases.xlsx" }, "user": { "username": "******", "age": 24, "gender": "男" } } ews = obj_yaml.read_yaml("excel", "file_name")