def package(packages, required_provider=None): """ Installs package. """ provider = None from pywizard.resources.package_apt import AptPackageProvider from pywizard.resources.package_pip import PipPackageProvider from pywizard.resources.package_yum import YumPackageProvider # replace this later with entry point register_package_provider(PipPackageProvider) register_package_provider(YumPackageProvider) register_package_provider(AptPackageProvider) if required_provider is None: if os_ubuntu(): import package_apt provider = package_apt.AptPackageProvider() elif os_centos(): import package_yum provider = package_yum.YumPackageProvider() else: raise NotImplementedError('There is no package provider for your system yet, or pywizard can\'t' 'find it on someme reason.') elif issubclass(required_provider, PackageProvider): provider = PackageProvider._providers[required_provider.get_key()] elif isinstance(required_provider, basestring): provider = PackageProvider._providers[required_provider] if not isinstance(provider, PackageProvider): raise Exception('No required package provider installed: %s' % (required_provider or 'system package provider')) return InstallPackageResource(packages, provider)
def test_os_ubuntu(): is_really_ubuntu = os.environ.get('TOX_DISTRO') == 'ubuntu' os_ubuntu() == is_really_ubuntu