23 lines
913 B
Python
23 lines
913 B
Python
from pathlib import Path
|
|
|
|
def fmt_version(version_number: tuple) -> str:
|
|
"""Take version number as a tuple and format it as a string"""
|
|
vstr = str(version_number[0])
|
|
for component in version_number[1:]:
|
|
vstr += "." + str(component)
|
|
return vstr
|
|
|
|
def parse_repository_url(url: str) -> str:
|
|
"""Sanitize repository url"""
|
|
from urllib.parse import urlsplit, urlunsplit
|
|
parsed_url = urlsplit(url)
|
|
new_path = parsed_url.path.rstrip("repo.json")
|
|
return urlunsplit((parsed_url.scheme, parsed_url.netloc, new_path, parsed_url.query, parsed_url.fragment))
|
|
|
|
def add_repojson_to_url(url: str) -> str:
|
|
"""Add repo.json to a url"""
|
|
from urllib.parse import urlsplit, urlunsplit
|
|
parsed_url = urlsplit(url)
|
|
new_path = str(Path(parsed_url.path) / "repo.json")
|
|
return urlunsplit((parsed_url.scheme, parsed_url.netloc, new_path, parsed_url.query, parsed_url.fragment))
|