Material: Py3 fixes in mat card writer

This commit is contained in:
Bernd Hahnebach
2019-02-08 18:07:50 +01:00
committed by wmayer
parent c64aec5fd2
commit f98e930185

View File

@@ -119,7 +119,7 @@ def write(filename, dictionary):
for proper in group.getchildren():
properName = proper.attrib['Name']
contents[-1][properName] = ""
for k, i in dictionary.iteritems():
for k, i in dictionary.items():
found = False
for group in contents:
if not found:
@@ -134,16 +134,23 @@ def write(filename, dictionary):
import sys
filename = filename.encode(sys.getfilesystemencoding())
print(filename)
f = pythonopen(filename, "wb")
f.write("; " + header["CardName"].encode("utf8") + "\n")
f.write("; " + header["AuthorAndLicense"].encode("utf8") + "\n")
f = pythonopen(filename, "w")
if sys.version_info.major >= 3:
f.write("; " + header["CardName"] + "\n")
f.write("; " + header["AuthorAndLicense"] + "\n")
else:
f.write("; " + header["CardName"].encode("utf8") + "\n")
f.write("; " + header["AuthorAndLicense"].encode("utf8") + "\n")
f.write("; file produced by FreeCAD " + rev + "\n")
f.write("; information about the content of this card can be found here:\n")
f.write("; http://www.freecadweb.org/wiki/index.php?title=Material\n")
f.write("\n")
if header["Source"]:
f.write("; source of the data provided in this card:\n")
f.write("; " + header["Source"].encode("utf8") + "\n")
if sys.version_info.major >= 3:
f.write("; " + header["Source"] + "\n")
else:
f.write("; " + header["Source"].encode("utf8") + "\n")
f.write("\n")
# write sections
for s in contents:
@@ -154,6 +161,9 @@ def write(filename, dictionary):
for k, i in s.items():
if (k != "keyname" and i != '') or k == "Name":
# use only keys which are not empty and the name even if empty
f.write(k + "=" + i.encode('utf-8') + "\n")
if sys.version_info.major >= 3:
f.write(k + "=" + i + "\n")
else:
f.write(k + "=" + i.encode('utf-8') + "\n")
f.write("\n")
f.close()