Options to overwrite existing installations and to show repository version numbers with their respective release tag #11
@ -1,5 +1,5 @@
|
|||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
from typing import Final
|
from typing import Final, TypeAlias
|
||||||
|
|
||||||
LIB_ROOT_FOLDER: Final[Path] = Path(__file__).parent
|
LIB_ROOT_FOLDER: Final[Path] = Path(__file__).parent
|
||||||
if not LIB_ROOT_FOLDER.exists():
|
if not LIB_ROOT_FOLDER.exists():
|
||||||
@ -8,3 +8,9 @@ if not LIB_ROOT_FOLDER.exists():
|
|||||||
MSVC_FOLDER: Final[Path] = LIB_ROOT_FOLDER / "_files/msvc-redist"
|
MSVC_FOLDER: Final[Path] = LIB_ROOT_FOLDER / "_files/msvc-redist"
|
||||||
if not MSVC_FOLDER.exists():
|
if not MSVC_FOLDER.exists():
|
||||||
raise FileNotFoundError(f"Folder for MSVC Redist files not found under: >{MSVC_FOLDER}<")
|
raise FileNotFoundError(f"Folder for MSVC Redist files not found under: >{MSVC_FOLDER}<")
|
||||||
|
|
||||||
|
PyVersionToReleaseTag: TypeAlias = tuple[str, str]
|
||||||
|
PY_VERSION_TO_RELEASE_TAG_PAIRS: Final[tuple[PyVersionToReleaseTag, ...]] = (
|
||||||
|
("3.11.12", "20250409"),
|
||||||
|
("3.11.13", "20250702"),
|
||||||
|
)
|
||||||
|
|||||||
@ -11,6 +11,7 @@ from dopt_basics.io import combine_route
|
|||||||
from requests.exceptions import HTTPError
|
from requests.exceptions import HTTPError
|
||||||
|
|
||||||
from pycage import config
|
from pycage import config
|
||||||
|
from pycage.constants import PY_VERSION_TO_RELEASE_TAG_PAIRS
|
||||||
from pycage.helpers import (
|
from pycage.helpers import (
|
||||||
delete_files,
|
delete_files,
|
||||||
delete_folder_recursively,
|
delete_folder_recursively,
|
||||||
@ -237,3 +238,17 @@ def get(
|
|||||||
"The archive file could not be deleted because of following exception..."
|
"The archive file could not be deleted because of following exception..."
|
||||||
)
|
)
|
||||||
print_error(err)
|
print_error(err)
|
||||||
|
|
||||||
|
|
||||||
|
@click.command(
|
||||||
|
help=(
|
||||||
|
"show supported Python version and corresponding release tags from the"
|
||||||
|
"standalone repository to have a quick lookup which version can be downloaded "
|
||||||
|
"with which release tag, information can be used with the 'get' command"
|
||||||
|
)
|
||||||
|
)
|
||||||
|
def show_version_release_tag() -> None:
|
||||||
|
click.echo("Known version and release tag pairs are...")
|
||||||
|
click.echo("Python Version --> Release Tag")
|
||||||
|
for pair in PY_VERSION_TO_RELEASE_TAG_PAIRS:
|
||||||
|
click.echo(f"{pair[0]:<8} --> {pair[1]:>9}")
|
||||||
|
|||||||
@ -15,6 +15,7 @@ def cli():
|
|||||||
|
|
||||||
|
|
||||||
cli.add_command(pycage.get.get)
|
cli.add_command(pycage.get.get)
|
||||||
|
cli.add_command(pycage.get.show_version_release_tag)
|
||||||
cli.add_command(pycage.venv.venv)
|
cli.add_command(pycage.venv.venv)
|
||||||
cli.add_command(pycage.files.copy)
|
cli.add_command(pycage.files.copy)
|
||||||
cli.add_command(pycage.compile.compile)
|
cli.add_command(pycage.compile.compile)
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user