280 Commits

Author SHA1 Message Date
Aleksei S
37733f51ad Correct name
CURA-4851
2018-02-01 09:44:00 +01:00
Aleksei S
08c64d28cf Typo in XmlValidator
CURA-4851
2018-02-01 09:37:06 +01:00
alekseisasin
e5c72cfdc5 Validate material profile
CURA-4851
2018-01-31 14:58:44 +01:00
Ghostkeeper
f88df7e5cd
Remove overzealous log entry
This was in the happy path and gets executed for every material profile in every material file, which is hundreds of times. Better not.

Found during development of CURA-4797.
2018-01-23 15:45:12 +01:00
Diego Prado Gesto
aace0e0317 CURA-4461 Remove unused code 2018-01-15 18:10:52 +01:00
Diego Prado Gesto
badf5a9043 CURA-4461 Store buildplate compatibility in the material profile 2018-01-15 14:31:52 +01:00
Diego Prado Gesto
67ca4d25cd CURA-4461 Deserialize materials with buildplates compatibility 2018-01-15 11:35:17 +01:00
Diego Prado Gesto
c3c44e9ac4 Compatibility with materials and buildplates 2018-01-12 16:01:48 +01:00
Diego Prado Gesto
becb0cf7b9 CURA-4461 Add dropdown menu in the UI for selecting the buildplate if
the printer has different buildplates.
2018-01-09 15:42:10 +01:00
Ghostkeeper
8f66db6565
Remove overzealeous log message
This message appears on every machine in every material, which is far too much.
2017-12-18 13:29:10 +01:00
fieldOfView
a65edda6be Fix merge error 2017-12-18 12:50:46 +01:00
fieldOfView
266be74569 Merge branch 'master' into feature_xmlmaterials_cura_settings
# Conflicts:
#	plugins/XmlMaterialProfile/XmlMaterialProfile.py
2017-12-18 12:47:57 +01:00
Jack Ha
a44cea7ac6 Update log line 2017-12-13 14:48:25 +01:00
Lipu Fei
6e6dc493f1 Fix material loading for unknown names 2017-12-13 12:27:55 +01:00
Lipu Fei
7cd3449781 Fix material loading 2017-12-13 11:26:16 +01:00
Lipu Fei
e14d78b32a Generate more possible machine IDs in XML material profile 2017-12-13 10:16:06 +01:00
Jack Ha
a387c10686 Fix serialize hotend id in xml material.
Contributes to issue CURA-4243.
2017-12-07 09:59:00 +01:00
Ghostkeeper
bc28189ff5
Don't serialize the name of the metadata
It's being serialized in a different place.

Contributes to issue CURA-4243.
2017-12-04 10:55:30 +01:00
Ghostkeeper
17ede12573
Also set base_file metadata when deserialising just metadata
Contributes to issue CURA-4243.
2017-12-01 16:07:30 +01:00
Ruben D
c1ba64fd9e
Correct variants after all metadata is loaded
As explained in the block of documentation, we can't find the variants because there is no guarantee that the variants have been loaded by the time that the metadata of materials is deserialised and we don't know their IDs either (so no lazy loading). This registers a function to be called upon completely loading the metadata, which runs a query on the metadata to find the variant by its definition and name. A bit hacky but I see no better solution.

Contributes to issue CURA-4243.
2017-11-30 00:10:02 +01:00
Ghostkeeper
c34de83e3f
Use isLoaded to check if a material is already loaded
This prevents us from having to make an expensive findContainers call if it's not necessary, and also prevents us from unnecessarily loading the subcontainers in a loop during loading.

Contributes to issue CURA-4243.
2017-11-29 18:04:07 +01:00
Ghostkeeper
cacc4b8586
Properly set the definition to the currently processed machine
Otherwise all of them stay at fdmprinter.

Contributes to issue CURA-4243.
2017-11-29 16:41:20 +01:00
Ghostkeeper
99cd139ba4
Remove setting definition double
Contributes to issue CURA-4243.
2017-11-29 13:39:24 +01:00
Ghostkeeper
dad99f5292
Merge branch 'master' into feature_local_container_server
Contributes to issue CURA-4243.
2017-11-29 13:06:08 +01:00
Ghostkeeper
8707396ad7
Remove isReadOnly functionality
Everyone should now ask it from the container registry.

Contributes to issue CURA-4243.
2017-11-28 17:30:00 +01:00
Ghostkeeper
54a12d14c4
Add string representation for debugging
My IDE shows the str(inst) representation of an object when indicating what value is in there. This makes it easier to find stuff. It'll also make debug prints more clear than the default <XmlMaterialProfile.XmlMaterialProfile.XmlMaterialProfile object at 0x12345678> stuff of Python.

Contributes to issue CURA-4243.
2017-11-27 14:19:30 +01:00
Ghostkeeper
a2b0c4535c
Only load metadata of machines for derived profiles
We only need the metadata of these machines (now that the ID is in the metadata). We won't need all of those machines because some of them are not added.

Contributes to issue CURA-4243.
2017-11-27 10:55:51 +01:00
Ghostkeeper
9571181178
Fix ID of derived materials
Because the ID is now in the metadata it would get overwritten by this deep copy. We need to set it again.

Contributes to issue CURA-4243.
2017-11-27 10:37:54 +01:00
Ghostkeeper
aa52b9682e
Fix adding name when loading complete material file
Also, don't use setName since that only operates on the base file and sends out unnecessary signals.

Contributes to issue CURA-4243.
2017-11-27 09:10:55 +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
Ghostkeeper
1e07325d8f
Remove unused getIdsFromFile
Since we now return all metadata at once from every file, we don't need this any more. We need to side-load the metadata anyway.

Contributes to issue CURA-4243.
2017-11-23 16:11:02 +01:00
Ghostkeeper
3ee2e0488f
Only load metadata when finding hotends belonging to material
We only need to have the hotend metadata.

Contributes to issue CURA-4243.
2017-11-23 15:31:22 +01:00
Lipu Fei
18c7a5acf3 Pass optional file_name for deserialization
CURA-4613

Some upgrades depend on the file_name, so the file_name is needed in
this case.
2017-11-23 11:28:16 +01:00
Ghostkeeper
def7b6994d
Store correct ID in metadata after deserialising
Contributes to issue CURA-4243.
2017-11-21 12:50:10 +01:00
Ghostkeeper
4fa38c26e8
Don't add any extra metadata to the end of the list you're iterating over
Stupid mistake. This causes infinite loops.

Contributes to issue CURA-4243.
2017-11-21 11:46:14 +01:00
Ghostkeeper
0831451371
Fix returning resulting metadata
Forgot to change that back.

Contributes to issue CURA-4243.
2017-11-21 11:05:11 +01:00
Ghostkeeper
c4debbea8b
Implement deserializeMetadata
Let's hope this works...

Contributes to issue CURA-4243.
2017-11-21 10:59:01 +01:00
ChrisTerBeke
657a91c525 Merge pull request #2685 from Ultimaker/container_stack_improvements
Container stack improvements
2017-11-20 17:42:26 +01:00
fieldOfView
185c2834d2 Merge branch 'master' into feature_xmlmaterials_cura_settings
# Conflicts:
#	plugins/XmlMaterialProfile/XmlMaterialProfile.py
2017-11-16 14:01:40 +01:00
Lipu Fei
25c41062e1 Fix material upgrade and version checking
CURA-4519

Less duplicated code, but it's still one of the worst parts...
2017-11-02 13:01:49 +01:00
Ghostkeeper
cf7bad1bbb
Make _profile_name a class method
This way we can execute it statically while getting the metadata.

Contributes to issue CURA-4243.
2017-11-02 10:18:52 +01:00
Ghostkeeper
d369f92020
Make get[ConfigurationType|Version]FromSerialized class methods
This way we can call them before an instance has been created, in order to upgrade the serialized forms.

Contributes to issue CURA-4243.
2017-11-01 16:18:08 +01:00
Ghostkeeper
07947d5d2c
Override getIdsFromFile to load multiple IDs
This should result in all IDs in the XML file, since there are multiple per file here.

Contributes to issue CURA-4243.
2017-11-01 14:53:52 +01:00
Ghostkeeper
ddf5ab0494
Make _parseCompatibleValue a class method
It might as well be static, since it doesn't need an instance.

Contributes to issue CURA-4243.
2017-11-01 14:52:57 +01:00
Ghostkeeper
74bd527b03
Load product_id_map from file
For now this file is hard-coded. We should eventually try to generate this in the build system.

Contributes to issue CURA-4243.
2017-11-01 14:52:03 +01:00
Ghostkeeper
a08875c5eb
Remove redundant setting of name
It's just copied along with the rest of the metadata now.

Contributes to issue CURA-4243.
2017-10-31 11:11:56 +01:00
Ghostkeeper
d24fa3bc3b
Set name directly in metadata when clearing
Because the setName function checks if the name is equal to the previous name, but at that point the previous name doesn't exist.

Contributes to issue CURA-4243.
2017-10-31 08:23:57 +01:00
Ghostkeeper
8eaec149fa
Make sure the ID stays in the metadata when clearing it
Previously the ID was also exempted from the clear.

Contributes to issue CURA-4243.
2017-10-30 15:54:26 +01:00
Lipu Fei
b6dd87081c Add upgrade script for 3.0 to 3.1
CURA-4451

- Add upgrade script for 3.0. to 3.1
- Upgrade old stack files so they will use "empty_quality" as the
  "Not Supported" quality profile.
- Increase SettingVersion to 4
2017-10-30 12:45:25 +01:00
Ghostkeeper
8bbb6c1af5
Load and serialize container ID and name properly: not in metadata
We shouldn't write the name or ID, who are now in the metadata.
Also we should load the name and ID properly from the file.

Contributes to issue CURA-4243.
2017-10-27 16:50:13 +02:00