Ejemplo n.º 1
0
 def _updateAvailableConfigurations(self,
                                    model: PrinterOutputModel) -> None:
     available_configurations = [
         self._createAvailableConfigurationFromPrinterConfiguration(
             left_slot=left_slot,
             right_slot=right_slot,
             printer_configuration=model.printerConfiguration)
         for left_slot, right_slot in product(self._getSlotsForExtruder(0),
                                              self._getSlotsForExtruder(1))
     ]
     model.setAvailableConfigurations(available_configurations)
Ejemplo n.º 2
0
def test_availableConfigurations_addConfigTwice():
    model = PrinterOutputModel(MagicMock())

    configuration = MagicMock(spec=PrinterConfigurationModel)

    model.setAvailableConfigurations([configuration])
    assert model.availableConfigurations == [configuration]

    # Adding it again should not have any effect
    model.addAvailableConfiguration(configuration)
    assert model.availableConfigurations == [configuration]
Ejemplo n.º 3
0
 def _build_printer_output_model(self) -> PrinterOutputModel:
     """Returns printer Output Model for this device."""
     printer_output_model = PrinterOutputModel(
         output_controller=self._printer_output_controller,
         number_of_extruders=_NUM_EXTRUDERS)
     printer_output_model.updateKey(self._address)
     printer_output_model.updateName(self.address)
     printer_output_model.updateState('idle')
     printer_output_model.setAvailableConfigurations(
         [_build_printer_conf_model()])
     printer_output_model.updateType('Monoprice Select Mini')
     printer_output_model.updateActivePrintJob(self._print_job_model)
     return printer_output_model
Ejemplo n.º 4
0
 def _updateAvailableConfigurations(self,
                                    model: PrinterOutputModel) -> None:
     # Generate a list of configurations for the left extruder.
     left_configurations = [
         slot for slot in self.material_station.material_slots
         if self._isSupportedConfiguration(slot=slot, extruder_index=0)
     ]
     # Generate a list of configurations for the right extruder.
     right_configurations = [
         slot for slot in self.material_station.material_slots
         if self._isSupportedConfiguration(slot=slot, extruder_index=1)
     ]
     # Create a list of all available combinations between both print cores.
     available_configurations = [
         self._createAvailableConfigurationFromPrinterConfiguration(
             left_slot=left_slot,
             right_slot=right_slot,
             printer_configuration=model.printerConfiguration)
         for left_slot, right_slot in product(left_configurations,
                                              right_configurations)
     ]
     # Let Cura know which available configurations there are.
     model.setAvailableConfigurations(available_configurations)