diff options
| author | K900 <me@0upti.me> | 2023-11-14 10:21:49 +0300 |
|---|---|---|
| committer | AAGaming <aagaming@riseup.net> | 2023-12-29 18:34:19 -0500 |
| commit | 41c62c3a3436e0e2968bfaea9c612ba2873fcdfb (patch) | |
| tree | 4865a5ae7d681c8195fe2c6fd87916d9c2050251 /backend/decky_loader/helpers.py | |
| parent | 31a6202da96922162f8a567c137e3313a554d8d3 (diff) | |
| download | decky-loader-41c62c3a3436e0e2968bfaea9c612ba2873fcdfb.tar.gz decky-loader-41c62c3a3436e0e2968bfaea9c612ba2873fcdfb.zip | |
refactor(backend): get version from package metadata
Diffstat (limited to 'backend/decky_loader/helpers.py')
| -rw-r--r-- | backend/decky_loader/helpers.py | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/backend/decky_loader/helpers.py b/backend/decky_loader/helpers.py index e3770c63..0cd6518b 100644 --- a/backend/decky_loader/helpers.py +++ b/backend/decky_loader/helpers.py @@ -5,6 +5,7 @@ import os import subprocess from hashlib import sha256 from io import BytesIO +import importlib.metadata import certifi from aiohttp.web import Request, Response, middleware @@ -13,6 +14,7 @@ from aiohttp import ClientSession from .localplatform import localplatform from .customtypes import UserType from logging import getLogger +from packaging.version import Version REMOTE_DEBUGGER_UNIT = "steam-web-debug-portforward.service" @@ -49,8 +51,18 @@ def mkdir_as_user(path: str): # Fetches the version of loader def get_loader_version() -> str: try: - with open(os.path.join(os.getcwd(), ".loader.version"), "r", encoding="utf-8") as version_file: - return version_file.readline().strip() + # Normalize Python-style version to conform to Decky style + v = Version(importlib.metadata.version("decky_loader")) + + version_str = f'v{v.major}.{v.minor}.{v.micro}' + + if v.pre: + version_str += f'-pre{v.pre[1]}' + + if v.post: + version_str += f'-post{v.post}' + + return version_str except Exception as e: logger.warn(f"Failed to execute get_loader_version(): {str(e)}") return "unknown" |
