diff options
| author | Robert Honz <exislow+github@gmail.com> | 2024-03-27 06:22:25 +0100 |
|---|---|---|
| committer | Robert Honz <exislow+github@gmail.com> | 2024-03-27 06:22:25 +0100 |
| commit | 8edfc3594b776e7d98b0f2e4ce4b2683b7b25ed9 (patch) | |
| tree | 807527fe1458be0576198ec9f828bde1ca28d679 | |
| parent | 6e050be9d62522e91152aa3c22ca5127bb0462ef (diff) | |
| download | tidal-dl-ng-8edfc3594b776e7d98b0f2e4ce4b2683b7b25ed9.tar.gz | |
♻️ Split the version and name retrieval functions to fine coarse functions.
| -rw-r--r-- | tidal_dl_ng/__init__.py | 63 |
1 files changed, 51 insertions, 12 deletions
diff --git a/tidal_dl_ng/__init__.py b/tidal_dl_ng/__init__.py index 93add50..8669c23 100644 --- a/tidal_dl_ng/__init__.py +++ b/tidal_dl_ng/__init__.py @@ -3,46 +3,85 @@ import importlib.metadata import sys from pathlib import Path +import requests import toml +from tidal_dl_ng.constants import REQUESTS_TIMEOUT_SEC -def get_version_app() -> str: + +def metadata_project() -> dict: file_path: Path = Path(__file__) + result: dict = {} paths: [Path] = [ file_path.parent, file_path.parent.parent, file_path.parent.parent.parent, ] - version: str = "0.0.0" for pyproject_toml_dir in paths: pyproject_toml_file: Path = pyproject_toml_dir / "pyproject.toml" if pyproject_toml_file.exists() and pyproject_toml_file.is_file(): - package_version: str = toml.load(pyproject_toml_file)["tool"]["poetry"]["version"] - - version = package_version + result: str = toml.load(pyproject_toml_file) break + return result + + +def version_app() -> str: + metadata: dict = metadata_project() + version: str = "0.0.0" + + if metadata: + package_version: str = metadata["tool"]["poetry"]["version"] + + version = package_version + return version -def get_name_app() -> str: - name_app: str = __package__ or __name__ +def latest_version_available(): + response = requests.get( + "https://api.github.com/repos/v2ray/v2ray-core/releases/latest", timeout=REQUESTS_TIMEOUT_SEC + ) + + a = response.json()["name"] + print(a) + + +def name_package() -> str: + package_name: str = __package__ or __name__ + + return package_name + + +def is_dev_env() -> bool: + package_name: str = name_package() + result: bool = False # Check if package is running from source code == dev mode # If package is not running in PyInstaller environment. if getattr(sys, "frozen", True) and not hasattr(sys, "_MEIPASS"): try: - importlib.metadata.version(name_app) + importlib.metadata.version(package_name) except: # If package is not installed - name_app = name_app + "-dev" + result = False + + return result + + +def name_app() -> str: + app_name: str = name_package() + is_dev: bool = is_dev_env() + + if is_dev: + app_name = app_name + "-dev" - return name_app + return app_name -__name_display__ = get_name_app() -__version__ = get_version_app() +__name_display__ = name_app() +__version__ = version_app() |
