|
@@ -2,18 +2,25 @@
|
|
|
# Copyright (c) 2013 David Braam
|
|
|
# Uranium is released under the terms of the AGPLv3 or higher.
|
|
|
|
|
|
+from UM.Logger import Logger
|
|
|
+from UM.SaveFile import SaveFile
|
|
|
from UM.Settings.Profile import Profile
|
|
|
from UM.Settings.ProfileWriter import ProfileWriter
|
|
|
|
|
|
## Writes profiles to Cura's own profile format with config files.
|
|
|
class CuraProfileWriter(ProfileWriter):
|
|
|
- ## Writes a profile to the specified stream.
|
|
|
+ ## Writes a profile to the specified file path.
|
|
|
#
|
|
|
- # \param stream \type{IOStream} The stream to write the profile to.
|
|
|
- # \param profile \type{Profile} The profile to write to that stream.
|
|
|
+ # \param path \type{string} The file to output to.
|
|
|
+ # \param profile \type{Profile} The profile to write to that file.
|
|
|
# \return \code True \endcode if the writing was successful, or \code
|
|
|
# False \endcode if it wasn't.
|
|
|
- def write(self, stream, profile):
|
|
|
+ def write(self, path, profile):
|
|
|
serialised = profile.serialise()
|
|
|
- stream.write(serialised)
|
|
|
+ try:
|
|
|
+ with SaveFile(path, "wt", -1, "utf-8") as f: #Open the specified file.
|
|
|
+ f.write(serialised)
|
|
|
+ except Exception as e:
|
|
|
+ Logger.log("e", "Failed to write profile to %s: %s", path, str(e))
|
|
|
+ return False
|
|
|
return True
|