yj
2026-03-31 033d919018b3a3e12755f008c0b9093364942512
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
o
oh&    ã@sDddlZddlZddlZddlZddlmZGdd„dƒZeƒZdS)éN)ÚConfigcsDeZdZdZdZ‡fdd„Zdd„Zdd„Zdd    „Zd
d „Z    ‡Z
S) Ú ConfigManagerNcs,|jdurtt|ƒ |¡|_|j ¡|jS©N)Ú    _instanceÚsuperrÚ__new__Ú _init_config)Úcls©Ú    __class__©ú5E:\project\python\wecom-dify-bridge\config_manager.pyr s
 
zConfigManager.__new__c
Csºtƒ|_| ¡}|rVz.t|ddd}t |¡}| |¡t d|›¡WdƒWdS1s1wYWdSt    yU}zt 
dt |ƒ›¡WYd}~dSd}~wwt  d¡dS)u=初始化配置,优先使用外部JSON配置覆盖默认值Úrzutf-8)Úencodingu æˆåŠŸåŠ è½½å¤–éƒ¨é…ç½®æ–‡ä»¶: Nu加载配置文件失败: u0未找到外部配置文件,使用默认配置) rÚconfigÚ_find_config_fileÚopenÚjsonÚloadÚ_update_configÚloggingÚinfoÚ    ExceptionÚerrorÚstrÚwarning)ÚselfZ config_pathÚfÚ user_configÚer r r rs
 
&ý"€ÿzConfigManager._init_configcCshdttddƒrtj tj tj¡d¡ndtj d¡dg}dd„|Dƒ}|D] }tj |¡r1|Sq%dS)    u查找配置文件的优先级z config.jsonÚfrozenFNz~/.config/yourapp/config.jsonz/etc/yourapp/config.jsoncSsg|]}|dur|‘qSrr )Ú.0Úpr r r Ú
<listcomp>2sz3ConfigManager._find_config_file.<locals>.<listcomp>)    ÚgetattrÚsysÚosÚpathÚjoinÚdirnameÚ
executableÚ
expanduserÚexists)rZ search_pathsZ valid_pathsr'r r r r's&
û     ÿzConfigManager._find_config_filecCsB| ¡D]\}}t|j|ƒrt|j||ƒqt d|›¡qdS)u用JSON配置更新默认配置u&配置文件中存在未知配置项: N)ÚitemsÚhasattrrÚsetattrrr)rrÚkeyÚvaluer r r r9s
 üzConfigManager._update_configcCs|jS)u获取配置对象)r)rr r r Ú
get_configAszConfigManager.get_config) Ú__name__Ú
__module__Ú __qualname__rrrrrrr2Ú __classcell__r r r
r r    s r)r&rrr%rrrÚ global_configr r r r Ú<module>s 
>