summaryrefslogtreecommitdiff
path: root/tidal_dl_ng/__init__.py
diff options
context:
space:
mode:
authorRobert Honz <exislow+github@gmail.com>2024-03-27 06:22:25 +0100
committerRobert Honz <exislow+github@gmail.com>2024-03-27 06:22:25 +0100
commit8edfc3594b776e7d98b0f2e4ce4b2683b7b25ed9 (patch)
tree807527fe1458be0576198ec9f828bde1ca28d679 /tidal_dl_ng/__init__.py
parent6e050be9d62522e91152aa3c22ca5127bb0462ef (diff)
downloadtidal-dl-ng-8edfc3594b776e7d98b0f2e4ce4b2683b7b25ed9.tar.gz
♻️ Split the version and name retrieval functions to fine coarse functions.
Diffstat (limited to 'tidal_dl_ng/__init__.py')
-rw-r--r--tidal_dl_ng/__init__.py63
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()