Skip to content

Repository port lost in get_repository_from_config when username is provided #1111

@vLabayen

Description

@vLabayen

Is there an existing issue for this?

  • I have searched the existing issues (open and closed), and could not find an existing issue

What keywords did you use to search existing issues?

get_repository_from_config, port

What operating system are you using?

Linux

If you selected 'Other', describe your Operating System here

No response

What version of Python are you running?

Python 3.8.10
Python 3.11.9

How did you install twine? Did you use your operating system's package manager or pip or something else?

$ pip install twine

What version of twine do you have installed (include the complete output)

twine version 5.1.0 (importlib-metadata: 7.1.0, keyring: 25.2.1, pkginfo: 1.10.0, requests: 2.31.0, requests-toolbelt: 1.0.0, urllib3: 2.2.1)

Which package repository are you using?

A private one hosted with https://pypi.org/project/pypiserver/, behind an apache server enforcing basicauth.

Please describe the issue that you are experiencing

There is a bug that must have been introduced in 5.1.0 in the repository url parsing.
Concretely, the function get_repository_from_config looses the port information when a username is provided.

The expected behaviour:

>> get_repository_from_config(..., ..., 'https://user:[email protected]:12345')
{'repository': 'https://some.domain.com:12345', 'username': 'user', 'password': 'pass'}

The current behaviour:

>> get_repository_from_config(..., ..., 'https://user:[email protected]:12345')
{'repository': 'https://some.domain.com', 'username': 'user', 'password': 'pass'}

Please list the steps required to reproduce this behaviour

Just test the given examples

Anything else you'd like to mention?

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions