56 Commits

Author SHA1 Message Date
Nino van Hooff
89f0970a88 Remove trailing whitespace from Python files 2020-05-29 14:30:33 +02:00
Nino van Hooff
553b09b6cf Convert doxygen to rst for GcodeWriter, LegacyProfileReader,
MachineSettingsAction, ModelChecker
2020-05-08 16:20:55 +02:00
Remco Burema
298eb27c7f
Add possibility to check material-profiles.
Needed to add the filename to deserialize, feels a bit unsafe as an optional parameter, will discuss tomorrow.
part of CURA-6856
2019-10-29 17:45:19 +01:00
Ghostkeeper
87cbc3907c
Convert to string before storing in configparser
Because configparser can only handle strings.

Contributes to issue CURA-5929.
2018-11-13 12:05:14 +01:00
Ghostkeeper
0bf7bf4cbe
Fix handling dictionaries without 'defaults' section
According to the test, this should return an empty dict then.

Contributes to issue CURA-5929.
2018-11-12 13:33:44 +01:00
Ghostkeeper
27aff4e5da
Fix typing issues
Because this function now has typing, it's raising a load of issues with it.

Contributes to issue CURA-5929.
2018-11-12 12:48:49 +01:00
Ghostkeeper
6ad682b00d
Don't serialise legacy profile via Profile instance
That profile instance was being explicitly set to version 1 (but then serialised as version 4) and then deserialised with upgrade, so the upgrade was thinking it was upgrading from version 1 to 4, but it was actually upgrading a file which was already at version 4. We shouldn't use the Profile() instance at all but just perform the upgrade on simple string data generated by the configparser.
This also updates the format to the newest version (since that was easiest for me to reimplement) but we don't need to ever update this again because it gets passed through the version upgrade system, which upgrades it from version 4000005 to the latest version in the future.

Contributes to issue CURA-5929.
2018-11-12 12:02:49 +01:00
Ghostkeeper
9d94b0d63e
Rename input vs. output parsers
Technically you could re-use the variable name but that is confusing.

Contributes to issue CURA-5929.
2018-11-12 11:16:33 +01:00
Ghostkeeper
4c6744b6fc
Code style: Space around binary operators
I just looked for lines with interpolation = None because I was looking for another possible bug, but fixing this in the meanwhile too.
2018-10-10 14:28:50 +02:00
Lipu Fei
af02dc2758 Only use setMetaDataEntry() 2018-07-11 11:14:57 +02:00
Ghostkeeper
54a03723ab
Set encoding correctly when opening files everywhere
Otherwise the encoding is interpreted differently on Windows and Mac.
2018-06-11 11:09:07 +02:00
Lipu Fei
c3fe53123b Create module cura.ReaderWriters
CURA-4644

Move all reader writer classes into cura.ReaderWriters.
2018-04-05 15:14:15 +02:00
Lipu Fei
a4a1832a58 Fix legacy profile importing for CFP
CURA-4876
2018-01-30 09:49:31 +01:00
Lipu Fei
f1363fab73 Move newline format
CURA-4863
2018-01-29 16:33:52 +01:00
Lipu Fei
d351eba758 Use \n instead of \r for message formatting
CURA-4863
2018-01-29 14:55:56 +01:00
Aleksei S
750a86d2fd Added new lines to distinguis error message
CURA-4876
2018-01-29 13:47:24 +01:00
Lipu Fei
63ac8412e6 Fix importing legacy INI quality profiles
CURA-4876
2018-01-29 11:18:16 +01:00
Ghostkeeper
8734460aff
Use unique name too if importing multiple legacy profiles
Otherwise all of them get the same name and they don't match global/extruder stacks together properly any more.

Contributes to issue CURA-4715.
2017-12-19 17:36:20 +01:00
Ghostkeeper
d9bc561d73
Set the extruder metadata to its ID
Not the actual extruder!

Contributes to issue CURA-4715.
2017-12-19 17:28:05 +01:00
Ghostkeeper
05e232b498
Move LegacyProfileReader-specific logic into the plug-in itself
This had the documentation that it should edit the profiles returned by LegacyProfileReader. Instead, just return correct profiles from the reader...

Contributes to issue CURA-4715.
2017-12-19 17:16:32 +01:00
Ghostkeeper
039c85677a
Also return a global profile
Since we always have an extruder now, also for single-extrusion printers, we need to return both a global profile and an extruder profile.

Contributes to issue CURA-4713.
2017-12-19 16:40:03 +01:00
Ghostkeeper
569715492c
Correct ID if importing multiple legacy profiles
They have to be made unique.

Contributes to issue CURA-4715.
2017-12-19 16:05:42 +01:00
Ghostkeeper
1029d4509c
Merge branch 'master' into feature_local_container_server 2017-12-08 16:03:05 +01:00
Lipu Fei
a425a1c51b Fix legacy profile loading
CURA-4075
2017-12-01 14:57:59 +01:00
Lipu Fei
7b4cb11240 Fix legacy profile upgrade
CURA-4075

Only for single-extrusion machines just like before.
2017-12-01 11:20:52 +01:00
Ghostkeeper
ebe766a7c8
Set definition by their ID
The new function for setting the definition just adds the ID to the metadata.

Contributes to issue CURA-4243.
2017-11-24 16:45:09 +01:00
Mark
9a193ad5c5 Changing AGPLv3 to LGPLv3 2017-09-28 13:00:43 +02:00
Jaime van Kessel
9f13338c17 Codestyle 2016-12-06 14:28:25 +01:00
Ghostkeeper
aef0880a1f
Fix setting the quality_type of imported profile
The metadata entry was renamed a while ago.

Contributes to issue CURA-2785.
2016-10-25 13:24:56 +02:00
Ghostkeeper
d439015773
Abort importing profile if we have no global container stack
You shouldn't be able to trigger it anyway, but if you do, it'll give a proper error that the import failed.

Contributes to issue CURA-2785.
2016-10-25 13:20:02 +02:00
Ghostkeeper
06521d7c49
Cache global container stack
We'll need it multiple times. Could be a bit faster.

Contributes to issue CURA-2785.
2016-10-25 13:16:41 +02:00
Jaime van Kessel
48fc957695 We now throw an exception when trying to read legacy profile when multi extrusion machine is selected
CURA-2421
2016-09-21 09:45:05 +02:00
Jaime van Kessel
3c0971c375 Legacy profile reader no longer creates profiles for multi-extrusion machines
CURA-2421
2016-09-19 16:22:47 +02:00
Jaime van Kessel
799e66c3ac Legacy profiles are now loaded as quality_changes
CURA-2344
2016-09-19 14:33:38 +02:00
Jaime van Kessel
e3d4a33954 Fixed legacy profile reader
Updated some settings that were changed from 2.1 to 2.2. Also fixed some
architecture changes that were not changed correctly (or at all)

CURA-1493 and CURA-1779
2016-08-19 10:38:18 +02:00
Ghostkeeper
754932f83a Move LegacyProfileReader to new setting structure
Untested as the profile manager is not functional at the moment.

Contributes to issue CURA-1278.
2016-05-20 16:22:10 +02:00
Thomas-Karl Pietrowski
6993e9e695 Renaming locals to copied_locals
"locals" is something that comes with Python. Better renaming it.
2016-03-14 17:16:23 +01:00
Jaime van Kessel
9c5e169f2b Loaded profiles are now marked as dirty so they are saved correctly
CURA-936
2016-03-01 16:24:43 +01:00
Jaime van Kessel
e90fd95495 Profile importing now checks if it's the right file type
Contributes to CURA-936
2016-03-01 15:16:50 +01:00
fieldOfView
27062d8e99 Always make sure imported profiles are available for the currently active machine
The profile name of an imported legacy profile gets set in ProfilesModel.importProfile()

Contributes to CURA-874
2016-02-16 21:50:57 +01:00
Ghostkeeper
f09b927288 Add check if resulting profile is empty
If it is, a warning is logged.

Contributes to issue CURA-37.
2016-01-26 13:58:00 +01:00
Ghostkeeper
e7b2586d36 Don't add to profile if setting is legacy default
If a setting is equal to the legacy setting's default value, then it doesn't get added to the profile either.

Contributes to issue CURA-37.
2016-01-26 13:50:46 +01:00
Ghostkeeper
c0b5832a59 Remove debug prints
Shouldn't have committed those. Sorry!

Contributes to issue CURA-37.
2016-01-26 13:32:52 +01:00
Ghostkeeper
5374d253e9 Evaluate to old defaults if setting is missing
If the setting is missing from the legacy profile, let it evaluate to the default in the legacy Cura.

Contributes to issue CURA-37.
2016-01-26 13:27:42 +01:00
Ghostkeeper
e23a9ea997 Move the changing of the setting after import out of try-except
It should never give an exception, so if it does, crash and burn the application.

Contributes to issue CURA-37.
2016-01-20 14:42:32 +01:00
Ghostkeeper
9feb609fba Don't add a setting if evaluation failed
If the eval failed that is likely caused by a variable not existing. It now continues with evaluating other settings and just doesn't add the setting that depends on non-existing legacy settings. This happens when the imported profile is not complete or corrupt.

Contributes to issue CURA-37.
2016-01-13 16:59:05 +01:00
Ghostkeeper
5d4cceb47c Don't add a setting if it's the default
If the imported setting is the default in the new Cura, don't add it to the profile.

Contributes to issue CURA-37.
2016-01-13 16:16:00 +01:00
Ghostkeeper
482f0461fc Add check for profile version
The profile reader now checks whether the profile version is the same as the target version in the Dictionary of Doom.

Contributes to issue CURA-37.
2015-12-18 10:50:54 +01:00
Ghostkeeper
0454b37243 Fix importing math to eval
We expose only math, so it can do mathematical operations on the setting values when translating.

Contributes to issue CURA-37.
2015-12-18 10:00:00 +01:00
Ghostkeeper
99a13ba3aa Fix getting settings from JSON file
When reading a node of a JSON file, apparently it only lists the keys instead of key-value pairs. You have to get the values separately.

Contributes to issue CURA-37.
2015-12-18 09:14:55 +01:00