Example #1
0
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)
Example #2
0
def test_os_ubuntu():
    is_really_ubuntu = os.environ.get('TOX_DISTRO') == 'ubuntu'

    os_ubuntu() == is_really_ubuntu