summaryrefslogtreecommitdiff
path: root/lib/extensions/lettering.py
diff options
context:
space:
mode:
Diffstat (limited to 'lib/extensions/lettering.py')
-rw-r--r--lib/extensions/lettering.py16
1 files changed, 11 insertions, 5 deletions
diff --git a/lib/extensions/lettering.py b/lib/extensions/lettering.py
index ee0dd9a0..cddf1b11 100644
--- a/lib/extensions/lettering.py
+++ b/lib/extensions/lettering.py
@@ -1,6 +1,7 @@
import json
import os
import sys
+from base64 import b64decode
import appdirs
import inkex
@@ -86,12 +87,17 @@ class LetteringFrame(wx.Frame):
"scale": 100
})
- try:
- if INKSTITCH_LETTERING in self.group.attrib:
+ if INKSTITCH_LETTERING in self.group.attrib:
+ try:
self.settings.update(json.loads(self.group.get(INKSTITCH_LETTERING)))
- return
- except (TypeError, ValueError):
- pass
+ except json.decoder.JSONDecodeError:
+ # legacy base64 encoded (changed in v2.0)
+ try:
+ self.settings.update(json.loads(b64decode(self.group.get(INKSTITCH_LETTERING))))
+ except (TypeError, ValueError):
+ pass
+ except (TypeError, ValueError):
+ pass
def apply_settings(self):
"""Make the settings in self.settings visible in the UI."""