diff options
Diffstat (limited to 'lib/extensions/lettering.py')
| -rw-r--r-- | lib/extensions/lettering.py | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/lib/extensions/lettering.py b/lib/extensions/lettering.py index 8fc3168a..c57348ac 100644 --- a/lib/extensions/lettering.py +++ b/lib/extensions/lettering.py @@ -6,6 +6,7 @@ import json import os import sys +from base64 import b64decode import appdirs import inkex @@ -91,12 +92,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.""" |
