a ì)g¢ã@s˜ddlmZmZmZeZddlZddlZddlZddl Z ddl m m m ZddlmZddlmZddlmZddlmZmZGdd„deƒZdS) é)Úabsolute_importÚdivisionÚprint_functionN)Úto_text)Úget_file_content)ÚBaseFactCollector)Ú configparserÚStringIOc@s eZdZdZeƒZddd„ZdS)ÚLocalFactCollectorÚlocalNc CsÂi}i|d<|s|S|j dd¡}|r2tj |¡s6|Si}tt |d¡ƒD]f}tj |¡ dd¡}d}zt j t  |¡t j @} WnRt yÖ} z:d|t | ƒf}|||<| |¡WYd} ~ qLWYd} ~ n d} ~ 00| rfz,| |¡\} } } | dkrd|| | f}Wn:tt fyD} zd |t | ƒf}WYd} ~ n d} ~ 00|durr|||<| |¡qLn t|dd } zt | d d } Wn2ty´d |}|||<| |¡YqLYn0zt | ¡}Wnætylt ¡}z| t| ƒ¡Wn(tjyd|}| |¡YnR0i}| ¡D]B}||vr:i||<| |¡D]}| ||¡}||||<qDq$Yn@tyª} z&d|t | ƒf}| |¡WYd} ~ n d} ~ 00|||<qL||d<|S)Nr Ú fact_pathz/*.factz.factÚzCould not stat fact (%s): %srz3Failure executing fact script (%s), rc: %s, err: %sz&Could not execute fact script (%s): %s)ÚdefaultZsurrogate_or_strict)Úerrorsz9error loading fact - output of running "%s" was not utf-8z=error loading facts as JSON or ini - please check content: %sz"Failed to convert (%s) to JSON: %s)ÚparamsÚgetÚosÚpathÚexistsÚsortedÚglobÚbasenameÚreplaceÚstatÚS_IXUSRÚST_MODEÚOSErrorrÚwarnZ run_commandÚIOErrorrÚ UnicodeErrorÚjsonÚloadsÚ ValueErrorrZ ConfigParserZreadfpr ÚErrorZsectionsÚoptionsÚ Exception)ÚselfÚmoduleZcollected_factsZ local_factsr r ÚfnZ fact_baseZfailedZexecutable_factÚeÚrcÚoutÚerrZfactZcpZsectÚoptÚval©r/úK/usr/lib/python3.9/site-packages/ansible/module_utils/facts/system/local.pyÚcollect$sv " &          zLocalFactCollector.collect)NN)Ú__name__Ú __module__Ú __qualname__ÚnameÚsetZ _fact_idsr1r/r/r/r0r sr )Z __future__rrrÚtypeZ __metaclass__rr rrZ"ansible.module_utils.compat.typingZ module_utilsÚcompatÚtypingÚtZansible.module_utils._textrZ ansible.module_utils.facts.utilsrZ$ansible.module_utils.facts.collectorrZansible.module_utils.six.movesrr r r/r/r/r0Ús