U em @sjddlmZddlZddlZddlmZddlmZddlm Z ddl m Z ddl m Z Gd d d Z dS) ) annotationsN) ConfigParser)Path)ClassVar)user_config_dir)convertc@sleZdZUdZded<ddddZded <d Zdd d ddZddZddZ dd ddZ e ddZ d S) IniConfigZVIRTUALENV_CONFIG_FILEz ClassVar[str]VIRTUALENV_CONFIG_FILE_ENV_VARzfailed to parseactivemissing)NTFz ClassVar[dict[bool | None, str]]STATE virtualenvNNone)returnc Cs|dkrtjn|}||jd}|dk |_|dkrHttdddd}nt|}||_i|_d}d|_ z|j |_ Wn&t k r}z|}W5d}~XYn`X|j r|j |_t |_z||j|j|_Wn&tk r}z|}W5d}~XYnX|dk rtd||dS)NrZpypa)appname appauthorzvirtualenv.iniz(failed to read config file %s because %r)osenvirongetr is_env_varrr config_file_cachehas_config_fileexistsOSErrorresolver config_parser_load has_sectionsectionhas_virtualenv_section Exceptionloggingerror)selfenvr exceptionexcr)C/opt/hc_python/lib/python3.8/site-packages/virtualenv/config/ini.py__init__s0   zIniConfig.__init__c Cs4|jjddd}|j|W5QRSQRXdS)Nrtzutf-8)encoding)ropenr read_file)r% file_handlerr)r)r*r1szIniConfig._loadcCst||f}||jkr|j|Sz0d}|j|j|}t|||}||f}Wntk rdd}YnX||j|<|S)Nfile)rrrr lowerrr")r%keyZas_type cache_keysourceZ raw_valuevalueresultr)r)r*r5s      z IniConfig.getboolcCst|jot|jS)N)r8rr!r%r)r)r*__bool__CszIniConfig.__bool__c Cs4d|jd|j|jd|jr"dndd|jd S)Nz config file  z (changedz via env var ))rr rrr r9r)r)r*epilogFs2zIniConfig.epilog)N) __name__ __module__ __qualname__r __annotations__r r r+rrr:propertyr?r)r)r)r*r s  r ) __future__rr#r configparserrpathlibrtypingr platformdirsrrr r)r)r)r*s