2026-01-15 12:43:40 +01:00
|
|
|
import sys
|
2025-12-19 09:56:45 +01:00
|
|
|
|
2026-03-20 21:59:28 +01:00
|
|
|
from PyQt6.QtWidgets import QApplication, QStyleFactory
|
2026-01-15 12:43:40 +01:00
|
|
|
|
2026-02-11 13:23:04 +01:00
|
|
|
from setuptools_scm import get_version
|
|
|
|
|
from setuptools_scm.version import get_local_node_and_date
|
|
|
|
|
|
2026-01-19 11:16:23 +01:00
|
|
|
from warchron.view.view import View
|
|
|
|
|
from warchron.model.model import Model
|
2026-02-10 09:53:49 +01:00
|
|
|
from warchron.controller.app_controller import AppController
|
2026-01-15 12:43:40 +01:00
|
|
|
|
|
|
|
|
if sys.version_info < (3, 12):
|
|
|
|
|
raise RuntimeError("Python 3.12 or higher is required")
|
2025-12-19 09:56:45 +01:00
|
|
|
|
2026-02-11 13:23:04 +01:00
|
|
|
|
|
|
|
|
def get_app_version() -> str:
|
|
|
|
|
return get_version(
|
|
|
|
|
root=".",
|
|
|
|
|
relative_to=__file__,
|
|
|
|
|
fallback_version="0.0.0",
|
|
|
|
|
tag_regex=r"^v(?P<version>\d+\.\d+\.\d+)$",
|
|
|
|
|
version_scheme="guess-next-dev",
|
|
|
|
|
local_scheme=get_local_node_and_date,
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
app_version = get_app_version()
|
|
|
|
|
# app_version = get_version(root=".", relative_to=__file__)
|
|
|
|
|
|
2025-12-19 09:56:45 +01:00
|
|
|
if __name__ == "__main__":
|
2026-01-15 12:43:40 +01:00
|
|
|
app = QApplication(sys.argv)
|
2026-03-20 21:59:28 +01:00
|
|
|
app.setStyle(QStyleFactory.create("Fusion"))
|
2026-01-15 12:43:40 +01:00
|
|
|
|
|
|
|
|
view = View()
|
|
|
|
|
model = Model()
|
2026-02-11 13:23:04 +01:00
|
|
|
controller = AppController(model, view, app_version)
|
2026-01-15 12:43:40 +01:00
|
|
|
|
|
|
|
|
view.show()
|
|
|
|
|
|
|
|
|
|
sys.exit(app.exec())
|