moment/harmonyqml/backend/backend.py

43 lines
1.2 KiB
Python
Raw Normal View History

# Copyright 2019 miruka
# This file is part of harmonyqml, licensed under GPLv3.
import hashlib
from PyQt5.QtCore import QObject, pyqtProperty, pyqtSlot
from .client_manager import ClientManager
from .model.qml_models import QMLModels
class Backend(QObject):
def __init__(self) -> None:
super().__init__()
self._client_manager: ClientManager = ClientManager()
self._models: QMLModels = QMLModels()
from .signal_manager import SignalManager
self._signal_manager: SignalManager = SignalManager(self)
# a = self._client_manager; m = self._models
# from PyQt5.QtCore import pyqtRemoveInputHook as PRI
# import pdb; PRI(); pdb.set_trace()
self.clientManager.configLoad()
@pyqtProperty("QVariant", constant=True)
def clientManager(self):
return self._client_manager
@pyqtProperty("QVariant", constant=True)
def models(self):
return self._models
@pyqtSlot(str, result=float)
def hueFromString(self, string: str) -> float:
# pylint:disable=no-self-use
md5 = hashlib.md5(bytes(string, "utf-8")).hexdigest()
return float("0.%s" % int(md5[-10:], 16))