40 lines
1,022 B
Python
40 lines
1,022 B
Python
import sys
|
|
|
|
from PyQt6.QtWidgets import QApplication, QStyleFactory
|
|
|
|
from setuptools_scm import get_version
|
|
from setuptools_scm.version import get_local_node_and_date
|
|
|
|
from warchron.view.view import View
|
|
from warchron.model.model import Model
|
|
from warchron.controller.app_controller import AppController
|
|
|
|
if sys.version_info < (3, 12):
|
|
raise RuntimeError("Python 3.12 or higher is required")
|
|
|
|
|
|
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__)
|
|
|
|
if __name__ == "__main__":
|
|
app = QApplication(sys.argv)
|
|
app.setStyle(QStyleFactory.create("Fusion"))
|
|
|
|
view = View()
|
|
model = Model()
|
|
controller = AppController(model, view, app_version)
|
|
|
|
view.show()
|
|
|
|
sys.exit(app.exec())
|