blob: e0dac03206238ef0cdf56dae68cd0ea1b61c88d9 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
import os
import re
from pathlib import Path
from typing import Optional
from pip._internal.models.direct_url import DIRECT_URL_METADATA_NAME, DirectUrl
from tests.lib import TestPipResult
def get_created_direct_url_path(result: TestPipResult, pkg: str) -> Optional[Path]:
direct_url_metadata_re = re.compile(
pkg + r"-[\d\.]+\.dist-info." + DIRECT_URL_METADATA_NAME + r"$"
)
for filename in result.files_created:
if direct_url_metadata_re.search(os.fspath(filename)):
return result.test_env.base_path / filename
return None
def get_created_direct_url(result: TestPipResult, pkg: str) -> Optional[DirectUrl]:
direct_url_path = get_created_direct_url_path(result, pkg)
if direct_url_path:
with open(direct_url_path) as f:
return DirectUrl.from_json(f.read())
return None
|