import uuid import os import platform from datetime import datetime import base64 def getConnectionStr(connstr, index): str = connstr[index] strlist = str.split("=") return strlist[1].replace("'", "") # 获取系统默认下载路径 def get_download_dir(): if platform.system() == "Windows": return os.path.join(os.path.expanduser("~"), "Downloads") elif platform.system() == "Darwin": return os.path.join(os.path.expanduser("~"), "Downloads") elif platform.system() == "Linux": return os.path.join(os.path.expanduser("~"), "Downloads") else: return None def get_temp_dir(): return f'D:/temp' # dict转换str 并进行拼接 def dict_to_str_with_equals(d): # 使用列表推导式生成键值对字符串列表 pairs = [f"{key}='{value}'" for key, value in d.items()] # 使用 join 方法将列表中的字符串合并为一个字符串 return ' '.join(pairs) # postgis数据库连接转字符串 def sourceToDBConfig(source): result = { "mode": 2 } arr = source.split(" ") for attr in arr: if attr.__contains__("srid") or attr.__contains__("sslmode"): continue if attr.__contains__("="): cur = attr.split("=") key = cur[0].replace("'", "") value = cur[1].replace("'", "").replace("\"", "") if key == "table": result[key] = value.split(".")[1] result["schema"] = value.split(".")[0] else: result[key] = value return result # 获取UUID def getUUID(): id = uuid.uuid4().__str__() id = id.replace("-", "") return id # 获取当前时间 def getNow(): # 获取当前时间 current_time = datetime.now() # 将当前时间转换为 'YYYY-MM-DD HH:MM:SS' 格式 formatted_time = current_time.strftime('%Y-%m-%d %H:%M:%S') return formatted_time # base64加密 def base64str(string): # 将字符串编码为字节 string_bytes = string.encode('utf-8') # 使用 base64 编码 base64_bytes = base64.b64encode(string_bytes) # 将编码后的字节转换为字符串 base64_string = base64_bytes.decode('utf-8') # 输出结果 return base64_string #base64解密 def enbase64str(base64_string): # 将 Base64 字符串转换为字节 base64_bytes = base64_string.encode('utf-8') # 使用 base64 解码 decoded_bytes = base64.b64decode(base64_bytes) # 将字节解码为原始字符串 decoded_string = decoded_bytes.decode('utf-8') return decoded_string