I got it to work for myself with this extremely dirty patch:
diff --git a/plugins/lib/fileconv/dumpers.py b/plugins/lib/fileconv/dumpers.py
index e6b19b0..340df0f 100644
--- a/plugins/lib/fileconv/dumpers.py
+++ b/plugins/lib/fileconv/dumpers.py
@@ -282,7 +282,8 @@ class PlistDumper(DumperProto):
))
def write(self, data, params, *args, **kwargs):
- plistlib.writePlist(data, self.new_file_path)
+ with open(self.new_file_path, 'wb') as f:
+ plistlib.dump(data, f, fmt=plistlib.PlistFormat.FMT_XML)
class YAMLDumper(DumperProto):
@@ -310,7 +311,7 @@ class YAMLDumper(DumperProto):
def validate_data(self, data):
return self._validate_data(data, (
- (lambda x: isinstance(x, plistlib.Data), lambda x: x.data), # plist
+ # (lambda x: isinstance(x, plistlib.Data), lambda x: x.data), # plist
))
def write(self, data, params, *args, **kwargs):
diff --git a/plugins/lib/fileconv/loaders.py b/plugins/lib/fileconv/loaders.py
index 501ab07..3ff8ee3 100644
--- a/plugins/lib/fileconv/loaders.py
+++ b/plugins/lib/fileconv/loaders.py
@@ -360,7 +360,7 @@ class PlistLoader(LoaderProto):
try:
# This will try `from xml.parsers.expat import ParserCreate`
# but since it is already tried above it should succeed.
- data = plistlib.readPlistFromBytes(text.encode('utf-8'))
+ data = plistlib.loads(text.encode('utf-8'), fmt=plistlib.FMT_XML)
except ExpatError as e:
self.output.print(self.debug_base
% (self.file_path,
I got it to work for myself with this extremely dirty patch: