Introdotto versioning visibile ver 1.0
This commit is contained in:
71
version_info.py
Normal file
71
version_info.py
Normal file
@@ -0,0 +1,71 @@
|
||||
"""Application and module version registry for Warehouse/FlyWMS bridge."""
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
from pathlib import Path
|
||||
|
||||
|
||||
APP_VERSION = "1.0.0"
|
||||
|
||||
MODULE_VERSIONS: dict[str, str] = {
|
||||
"app": APP_VERSION,
|
||||
"async_loop_singleton": "1.0.0",
|
||||
"async_msssql_query": "1.0.0",
|
||||
"audit_log": "1.0.0",
|
||||
"main": "1.0.0",
|
||||
"barcode_client": "1.0.0",
|
||||
"barcode_repository": "1.0.0",
|
||||
"barcode_service": "1.0.0",
|
||||
"busy_overlay": "1.0.0",
|
||||
"db_config": "1.0.0",
|
||||
"gestione_aree": "1.0.0",
|
||||
"gestione_layout": "1.0.0",
|
||||
"gestione_pickinglist": "1.0.0",
|
||||
"gestione_scarico": "1.0.0",
|
||||
"locale_text": "1.0.0",
|
||||
"login_window": "1.0.0",
|
||||
"prenota_sprenota_sql": "1.0.0",
|
||||
"reset_corsie": "1.0.0",
|
||||
"search_pallets": "1.0.0",
|
||||
"storico_pickinglist": "1.0.0",
|
||||
"storico_udc": "1.0.0",
|
||||
"tooltips": "1.0.0",
|
||||
"ui_theme": "1.0.0",
|
||||
"user_session": "1.0.0",
|
||||
"view_celle_multi_udc": "1.0.0",
|
||||
"window_placement": "1.0.0",
|
||||
}
|
||||
|
||||
|
||||
def module_key(module_name: str) -> str:
|
||||
"""Return the stable registry key for a module name or path."""
|
||||
|
||||
name = str(module_name or "").replace("\\", "/")
|
||||
stem = Path(name).stem if "/" in name or "." not in name else name.rsplit(".", 1)[-1]
|
||||
return stem or "app"
|
||||
|
||||
|
||||
def module_version(module_name: str | None = None) -> str:
|
||||
"""Return the version for a module, falling back to the app version."""
|
||||
|
||||
if not module_name:
|
||||
return APP_VERSION
|
||||
return MODULE_VERSIONS.get(module_key(module_name), APP_VERSION)
|
||||
|
||||
|
||||
def version_label(module_name: str | None = None) -> str:
|
||||
"""Return the standard visual label used in window titles."""
|
||||
|
||||
return f"ver. {module_version(module_name)}"
|
||||
|
||||
|
||||
def versioned_title(title: str, module_name: str | None = None) -> str:
|
||||
"""Append the standard version label to a window title."""
|
||||
|
||||
clean_title = str(title or "").strip()
|
||||
label = version_label(module_name)
|
||||
if not clean_title:
|
||||
return label
|
||||
if label.lower() in clean_title.lower():
|
||||
return clean_title
|
||||
return f"{clean_title} - {label}"
|
||||
Reference in New Issue
Block a user