3 \¼me¿ã@sHddlmZmZddlmZmZddlmZeeZ Gdd„deƒZ dS)é)ÚABCÚabstractmethod)ÚIterableÚList)Úhelpersc@sXeZdZUeejdœdd„Zeejddœdd„ƒZ e dd„ƒZ e e e d œd d „ƒZd S) ÚPackageManager)ÚrunnercKs ||_dS)N)r)ÚselfrÚkwargs©r ú%/usr/lib/python3.6/package_manager.pyÚ__init__ szPackageManager.__init__)rÚreturncCs||ƒS)Nr )ÚclsrZcfgr r r Ú from_configszPackageManager.from_configcCsdS)Nr )r r r r Úupdate_package_sourcessz%PackageManager.update_package_sources)ÚpkglistrcCsdS)a:Install the given packages. Return a list of packages that failed to install. Overriding classes should NOT raise an exception if packages failed to install. Instead, log the error and return what couldn't be installed so other installed package managers may be attempted. Nr )r rr r r Úinstall_packagesszPackageManager.install_packagesN)Ú__name__Ú __module__Ú __qualname__ÚstrÚnamerZRunnersr Ú classmethodrrrrÚUninstalledPackagesrr r r r r s  rN) ÚabcrrZtypingrrZ cloudinitrrrrr r r r Ús