Extruders is deprecated. Always use the extruderList.
In fact, the else case beneath was already using extruderList in the same way.
Hopefully we can one day get rid of all the string conversion for the position in this class. I don't dare to refactor that without having a review though.
Done during Turbo Testing and Tooling to reduce the number of warnings in our log.
The extruders dictionary has been deprecated in favour of extruderList.
Done during Turbo Testing and Tooling to reduce the number of warnings in our log.
This fixes a possible bug, too, if the extruders dictionary weren't iterated over in the order of the extruders. It would sometimes assign the profiles to the wrong extruders then. However I think the dictionary iteration in Python is in order of insertion and we probably insert them in the proper order by accident.
Done during Turbo Testing and Tooling to reduce the number of warnings in our log.
Removes another warning from the log. And it makes the code simpler in this case.
Done during Turbo Testing and Tooling to reduce the number of warnings in our log file.
The extruders() slot has been deprecated. We need to replace it with extruderList. I'm changing them one by one and testing each time whether everything still seems to function correctly, but it's fairly safe anyway.
Done during Turbo Testing and Tooling to reduce the number of warnings in our log.
This was originally added for backwards compatibility with old versions of Uranium. However the link between Cura versions and Uranium versions is already very strong (Cura crashes with old Uranium versions) so this is not necessary.
It was also adding warnings in our log that these extruders had already been added to the printer.
Done during Turbo Testing and Tooling, to clean up our log files.
This makes it consistent with the searching of the normal settings list. It also makes it easier to find certain things like the Cutting Mesh or something.
Instead of using a separate function to force logging out before
login, login now has a boolean parameter that instructs it to logout
before loging in again, if the user is alread logged in. It then
starts the authorization with a force browser logout first.
CURA-7427
The authentication link should be prepended with a logoff link from
mycloud, if it is requested. In order to make this process testable
this commit separates the generation of the authentication link,
based on whether it requests for a browser logoff first, into its
own function.
This commit also adds tests for this function.
CURA-7427
We've deemed it irresponsible to redo multiple layers. This will dig the nozzle back down into the layers that were printed before the pause.
This doesn't include a version upgrade yet.
Contributes to issue CURA-7413.
There are cases where Cura and the browser fall out of sync when it
comes to accounts. In such cases, you may be logged in cura with an
account that has no cloud printers and in the browser with an account
that has printers. So when you press the "Add cloud printer" button,
you are redirected to mycloud and you see cloud printers that are not
detected by Cura (because Cura is in a different acconut). In such
cases, the user can now press the "Sign in with a different account"
link in the "Waiting for cloud response" page, which will log him/her
out in Cura AND in the browser, and then reinitiate the whole
authorization flow, to make sure the accounts are in sync.
CURA-7427
If the print job happens to get cancelled right after checking if the index is correct, but before actually reading the line, it would get an IndexError when trying to read the line since cancelling the job clears the _gcode list.
This prevents that asynchronous issue by using the internal check in the list access to check that, and just uses an exception to check whether it's reached the end.
Fixes Sentry issue CURA-QC.