a ì)g_ ã@sŽddlmZmZmZeZddlmZmZddl m Z ddl m Z ddl mZdd„ZGdd „d e eeƒƒZGd d „d eƒZGd d „d eƒZdS)é)Úabsolute_importÚdivisionÚprint_function)ÚABCMetaÚabstractmethod)Úwith_metaclass)Ú get_bin_path)Úget_all_subclassescCsdd„ttƒDƒS)NcSs$i|]}|ttfvr|j ¡|“qS©)ÚCLIMgrÚLibMgrÚ__name__Úlower)Ú.0Úobjr r úG/usr/lib/python3.9/site-packages/ansible/module_utils/facts/packages.pyÚ óz(get_all_pkg_managers..)r ÚPkgMgrr r r rÚget_all_pkg_managerssrc@s8eZdZedd„ƒZedd„ƒZedd„ƒZdd„Zd S) rcCsdS©Nr ©Úselfr r rÚ is_availableszPkgMgr.is_availablecCsdSrr rr r rÚlist_installedszPkgMgr.list_installedcCsdSrr )rÚpackager r rÚget_package_details szPkgMgr.get_package_detailscCsbi}| ¡D]P}| |¡}d|vr2|jj ¡|d<|d}||vrN|g||<q || |¡q |S)NÚsourceÚname)rrÚ __class__r rÚappend)rZinstalled_packagesrZpackage_detailsrr r rÚ get_packages%s   zPkgMgr.get_packagesN)r Ú __module__Ú __qualname__rrrrr!r r r rrs   rcs(eZdZdZ‡fdd„Zdd„Z‡ZS)r Ncsd|_tt|ƒ ¡dSr)Ú_libÚsuperr Ú__init__r©rr rr&9szLibMgr.__init__cCs0d}zt|jƒ|_d}Wnty*Yn0|S©NFT)Ú __import__ÚLIBr$Ú ImportError)rÚfoundr r rr>s  zLibMgr.is_available)r r"r#r*r&rÚ __classcell__r r r'rr 5s r cs(eZdZdZ‡fdd„Zdd„Z‡ZS)r Ncsd|_tt|ƒ ¡dSr)Ú_clir%r r&rr'r rr&LszCLIMgr.__init__cCs*zt|jƒ|_Wnty$YdS0dSr()rÚCLIr.Ú ValueErrorrr r rrQs  zCLIMgr.is_available)r r"r#r/r&rr-r r r'rr Hs r N)Z __future__rrrÚtypeZ __metaclass__ÚabcrrZansible.module_utils.sixrZ#ansible.module_utils.common.processrZ"ansible.module_utils.common._utilsr rÚobjectrr r r r r rÚs   "