PCM_Report/test_config_save.py

95 lines
2.8 KiB
Python
Raw Normal View History

2025-12-11 14:32:31 +08:00
#!/usr/bin/env python3
"""
测试配置保存功能
"""
import json
import os
from pathlib import Path
def check_config():
"""检查当前配置"""
config_path = Path("default.json")
if not config_path.exists():
print("❌ default.json 不存在")
return
try:
with open(config_path, 'r', encoding='utf-8') as f:
config = json.load(f)
influx_config = config.get('influx', {})
print("📋 当前InfluxDB配置:")
print(f" URL: {influx_config.get('url', 'N/A')}")
print(f" Org: {influx_config.get('org', 'N/A')}")
print(f" Token: {influx_config.get('token', 'N/A')[:20]}..." if influx_config.get('token') else " Token: N/A")
print(f" Bucket: {influx_config.get('bucket', 'N/A')}")
print(f" Measurement: {influx_config.get('measurement', 'N/A')}")
# 检查必要字段是否存在
required_fields = ['bucket', 'measurement']
missing_fields = []
for field in required_fields:
if field not in influx_config:
missing_fields.append(field)
if missing_fields:
print(f"\n⚠️ 缺少字段: {missing_fields}")
return False
else:
print("\n✅ 所有必要字段都存在")
return True
except Exception as e:
print(f"❌ 读取配置失败: {e}")
return False
def add_missing_fields():
"""添加缺少的字段"""
config_path = Path("default.json")
try:
with open(config_path, 'r', encoding='utf-8') as f:
config = json.load(f)
influx_config = config.get('influx', {})
# 添加缺少的字段
if 'bucket' not in influx_config:
influx_config['bucket'] = 'PCM'
print(" 添加 bucket: PCM")
if 'measurement' not in influx_config:
influx_config['measurement'] = 'experiment_status'
print(" 添加 measurement: experiment_status")
# 保存配置
with open(config_path, 'w', encoding='utf-8') as f:
json.dump(config, f, indent=2, ensure_ascii=False)
print("✅ 配置已更新并保存")
return True
except Exception as e:
print(f"❌ 更新配置失败: {e}")
return False
def main():
print("配置保存测试工具")
print("=" * 30)
print("1⃣ 检查当前配置...")
if check_config():
print("\n🎉 配置完整,无需修改")
else:
print("\n2⃣ 添加缺少的字段...")
if add_missing_fields():
print("\n3⃣ 重新检查配置...")
check_config()
if __name__ == "__main__":
main()