How to use the pyp2rpm.exceptions.MissingUrlException function in pyp2rpm

To help you get started, we’ve selected a few pyp2rpm examples, based on popular ways it is used in public projects.

Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.

github fedora-python / pyp2rpm / tests / test_package_getters.py View on Github external
        ('Pymacs', '0.25', False, False, MissingUrlException,
         'Pymacs package has no sources on PyPI, Please ask the maintainer to upload sources.'),
    ])
    @pytest.mark.webtest
    def test_get_url_raises(self, name, version, wheel, hf,
                            exception, error_msg):
        with pytest.raises(exception) as exc_info:
            get_url(self.client, name, version, wheel, hf)
        assert error_msg == str(exc_info.value)
github fedora-python / pyp2rpm / pyp2rpm / package_getters.py View on Github external
zip_url = release_url['url']
                    zip_md5 = release_url['md5_digest']
            if url == '':
                url = zip_url or release_urls[0]['url']
                md5_digest = zip_md5 or release_urls[0]['md5_digest']
        elif release_data:
            url = release_data['download_url']
    else:
        # Only wheel is acceptable
        for release_url in release_urls:
            if release_url['url'].endswith("none-any.whl"):
                url = release_url['url']
                md5_digest = release_url['md5_digest']
                break
    if not url:
        raise exceptions.MissingUrlException(
            "Url of source archive not found.")

    if url == 'UNKNOWN':
        raise exceptions.MissingUrlException(
            "{0} package has no sources on PyPI, Please ask the maintainer "
            "to upload sources.".format(release_data['name']))

    if not hashed_format:
        url = ("https://files.pythonhosted.org/packages/source"
               "/{0[0]}/{0}/{1}").format(name, url.split("/")[-1])

    return (url, md5_digest)
github fedora-python / pyp2rpm / pyp2rpm / package_getters.py View on Github external
def get_url(client, name, version, wheel=False, hashed_format=False):
    """Retrieves list of package URLs using PyPI's XML-RPC. Chooses URL
    of prefered archive and md5_digest.
    """
    try:
        release_urls = client.release_urls(name, version)
        release_data = client.release_data(name, version)
    except BaseException:  # some kind of error with client
        logger.debug('Client: {0} Name: {1} Version: {2}.'.format(
            client, name, version))
        raise exceptions.MissingUrlException(
            "Some kind of error while communicating with client: {0}.".format(
                client), exc_info=True)

    url = ''
    md5_digest = None

    if not wheel:
        # Prefered archive is tar.gz
        if len(release_urls):
            zip_url = zip_md5 = ''
            for release_url in release_urls:
                if release_url['url'].endswith("tar.gz"):
                    url = release_url['url']
                    md5_digest = release_url['md5_digest']
                if release_url['url'].endswith(".zip"):
                    zip_url = release_url['url']