mirror of
https://github.com/Ultimaker/Cura.git
synced 2025-07-18 12:17:50 -06:00
Move a bunch of network only functions out of machine manager
Machine manager is way to big as is, so we need to move more code out of it to locations where the code is actually used.
This commit is contained in:
parent
ed503cb6ec
commit
5b818d203a
3 changed files with 26 additions and 28 deletions
|
@ -18,6 +18,8 @@ from enum import IntEnum
|
|||
import os # To get the username
|
||||
import gzip
|
||||
|
||||
from cura.Settings.CuraContainerRegistry import CuraContainerRegistry
|
||||
|
||||
|
||||
class AuthState(IntEnum):
|
||||
NotAuthenticated = 1
|
||||
|
@ -319,12 +321,27 @@ class NetworkedPrinterOutputDevice(PrinterOutputDevice):
|
|||
self._manager.authenticationRequired.connect(self._onAuthenticationRequired)
|
||||
|
||||
if self._properties.get(b"temporary", b"false") != b"true":
|
||||
CuraApplication.getInstance().getMachineManager().checkCorrectGroupName(self.getId(), self.name)
|
||||
self._checkCorrectGroupName(self.getId(), self.name)
|
||||
|
||||
def _registerOnFinishedCallback(self, reply: QNetworkReply, on_finished: Optional[Callable[[QNetworkReply], None]]) -> None:
|
||||
if on_finished is not None:
|
||||
self._onFinishedCallbacks[reply.url().toString() + str(reply.operation())] = on_finished
|
||||
|
||||
## This method checks if the name of the group stored in the definition container is correct.
|
||||
# After updating from 3.2 to 3.3 some group names may be temporary. If there is a mismatch in the name of the group
|
||||
# then all the container stacks are updated, both the current and the hidden ones.
|
||||
def _checkCorrectGroupName(self, device_id: str, group_name: str) -> None:
|
||||
global_container_stack = CuraApplication.getInstance().getGlobalContainerStack()
|
||||
active_machine_network_name = CuraApplication.getInstance().getMachineManager().activeMachineNetworkKey()
|
||||
if global_container_stack and device_id == active_machine_network_name:
|
||||
# Check if the group_name is correct. If not, update all the containers connected to the same printer
|
||||
if CuraApplication.getInstance().getMachineManager().activeMachineNetworkGroupName != group_name:
|
||||
metadata_filter = {"um_network_key": active_machine_network_name}
|
||||
containers = CuraContainerRegistry.getInstance().findContainerStacks(type="machine",
|
||||
**metadata_filter)
|
||||
for container in containers:
|
||||
container.setMetaDataEntry("group_name", group_name)
|
||||
|
||||
def _handleOnFinished(self, reply: QNetworkReply) -> None:
|
||||
# Due to garbage collection, we need to cache certain bits of post operations.
|
||||
# As we don't want to keep them around forever, delete them if we get a reply.
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue