Просмотр исходного кода

Profile importing now checks if it's the right file type

Contributes to CURA-936
Jaime van Kessel 9 лет назад
Родитель
Сommit
e90fd95495

+ 5 - 0
plugins/GCodeProfileReader/GCodeProfileReader.py

@@ -4,6 +4,7 @@
 from UM.Application import Application #To get the machine manager to create the new profile in.
 from UM.Settings.Profile import Profile
 from UM.Settings.ProfileReader import ProfileReader
+from UM.Logger import Logger
 import re #Regular expressions for parsing escape characters in the settings.
 
 ##  A class that reads profile data from g-code files.
@@ -40,6 +41,9 @@ class GCodeProfileReader(ProfileReader):
     #   specified file was no g-code or contained no parsable profile, \code
     #   None \endcode is returned.
     def read(self, file_name):
+        if file_name.split(".")[-1] != "gcode":
+            return None
+
         prefix = ";SETTING_" + str(GCodeProfileReader.version) + " "
         prefix_length = len(prefix)
 
@@ -63,5 +67,6 @@ class GCodeProfileReader(ProfileReader):
         try:
             profile.unserialise(serialised)
         except Exception as e: #Not a valid g-code file.
+            Logger.log("e", "Unable to serialise the profile: %s", str(e))
             return None
         return profile

+ 2 - 0
plugins/LegacyProfileReader/LegacyProfileReader.py

@@ -63,6 +63,8 @@ class LegacyProfileReader(ProfileReader):
     #   file could not be read or didn't contain a valid profile, \code None
     #   \endcode is returned.
     def read(self, file_name):
+        if file_name.split(".")[-1] != "ini":
+            return None
         Logger.log("i", "Importing legacy profile from file " + file_name + ".")
         profile = Profile(machine_manager = Application.getInstance().getMachineManager(), read_only = False) #Create an empty profile.