Skip to content

Commit a5366c3

Browse files
committed
fix: Fetch package metadata from private artifactory if specified
If a private repository is specified, the package metadata should be fetched from it, not from pypi.org. Fixes aboutcode-org#260. Signed-off-by: Nicolas Nobelis <nicolas.nobelis@bosch.com>
1 parent b9df6f9 commit a5366c3

2 files changed

Lines changed: 5 additions & 3 deletions

File tree

src/python_inspector/api.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -296,7 +296,7 @@ def resolve_dependencies(
296296
async def gather_pypi_data():
297297
async def get_pypi_data(package):
298298
data = await get_pypi_data_from_purl(
299-
package, repos=repos, environment=environment, prefer_source=prefer_source
299+
package, repos=repos, environment=environment, prefer_source=prefer_source, index_url=index_url
300300
)
301301

302302
if verbose:

src/python_inspector/package_data.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@
2727

2828

2929
async def get_pypi_data_from_purl(
30-
purl: str, environment: Environment, repos: List[PypiSimpleRepository], prefer_source: bool
30+
purl: str, environment: Environment, repos: List[PypiSimpleRepository], prefer_source: bool, index_url: str
3131
) -> Optional[PackageData]:
3232
"""
3333
Generate `Package` object from the `purl` string of pypi type
@@ -43,7 +43,9 @@ async def get_pypi_data_from_purl(
4343
version = parsed_purl.version
4444
if not version:
4545
raise Exception("Version is not specified in the purl")
46-
base_path = "https://pypi.org/pypi"
46+
47+
base_path = index_url.removesuffix("/simple") + "/pypi" if index_url else "https://pypi.org/pypi"
48+
4749
api_url = f"{base_path}/{name}/{version}/json"
4850

4951
from python_inspector.utils import get_response_async

0 commit comments

Comments
 (0)