예제 #1
0
파일: xmlrpc.py 프로젝트: intiocean/pkglib
    def get_available_versions(self, package, dev=False, strict=False):
        """
        Parameters
        ----------
        package: `str`
            Package name
        dev: `bool`
            If set, will only return dev versions. Otherwise, return
            only released versions.
        strict: `bool`
            If set, matches dev versions strictly.
            Eg: 0.0.dev OK, 2.33.dev3 -not OK.
        """
        versions = set(self.proxy.package_releases(package) +
                       self.proxy.package_releases(package, True))
        if dev:
            fn = is_dev_version
            if strict:
                fn = is_strict_dev_version
            versions = [version for version in versions
                        if fn(version)]
        else:
            versions = [version for version in versions
                        if not is_dev_version(version)]

        # Sort versions with most recent version at index 0.
        versions = [PackageVersion(v) for v in versions]
        versions.sort(reverse=True)
        versions = [str(v) for v in versions]
        return versions
예제 #2
0
        def is_upgrade(package):
            if package not in working_set.by_key:
                return True
            current_version = working_set.by_key[package].version

            # TODO: get revision numbers from server so we can skip the auto-upgrade
            #       of dev versions even if they haven't changed.
            if manage.is_dev_version(current_version):
                return True
            last_version = self.pypi_client.get_last_version(package, self.dev)
            # Pypi does not return any versions for this package.
            if not last_version:
                return False
            return parse_version(current_version) < parse_version(last_version)
예제 #3
0
def test_is_dev_version():
    assert manage.is_dev_version('1.2.3.dev1')
    assert manage.is_dev_version('1.2.3.dev4')
    assert not manage.is_dev_version('1.2.3')
    assert not manage.is_dev_version('1.2.3dev4')
예제 #4
0
파일: platypus.py 프로젝트: drkjam/pkglib
 def isdev(self):
     return manage.is_dev_version(self.version)