# Buggy code
def getGlobalData(self):
    """Return a dict containing all global data."""
    c = self.c
    data = c.db.get("window_position")
    if data:
        # pylint: disable=unpacking-non-sequence
        top, left, height, width = data
        d = {
            "top": int(top),
            "left": int(left),
            "height": int(height),
            "width": int(width),
        }
    else:
        # Use reasonable defaults.
        d = {"top": 50, "left": 50, "height": 500, "width": 800}
    d["r1"] = float(c.db.get("body_outline_ratio", "0.5"))
    d["r2"] = float(c.db.get("body_secondary_ratio", "0.5"))
    return d


# Traceback (xml.etree.ElementTree.ParseError)
setting leoID from os.getenv('USER'): 'matt'
reading settings in /home/matt/miniconda3/envs/leo/lib/python3.6/site-packages/leo/config/leoSettings.leo
reading settings in /home/matt/.leo/myLeoSettings.leo
QApplication: invalid style override passed, ignoring it.

Leo 5.8 b1, build 20180815095610, Wed, Aug 15, 2018  9:56:10 AM
Not running from a git repo
Python 3.6.6, PyQt version 5.11.1
linux
** isPython3: True

reading settings in /home/matt/.leo/workbook.leo
loadOnePlugin: leo.plugins.livecode.init() returned False
reading settings in /home/matt/code/leo-editor/leo/dist/leoDist.leo
Traceback (most recent call last):

File "/home/matt/miniconda3/envs/leo/lib/python3.6/site-packages/leo/core/leoCommands.py", line 2072, in executeAnyCommand
return command(event)

File "/home/matt/miniconda3/envs/leo/lib/python3.6/site-packages/leo/core/leoGlobals.py", line 269, in commander_command_wrapper
method(event=event)

File "/home/matt/miniconda3/envs/leo/lib/python3.6/site-packages/leo/commands/commanderFileCommands.py", line 214, in open
c2 = g.openWithFileName(fileName, old_c=c)

File "/home/matt/miniconda3/envs/leo/lib/python3.6/site-packages/leo/core/leoGlobals.py", line 3682, in openWithFileName
return g.app.loadManager.loadLocalFile(fileName, gui, old_c)

File "/home/matt/miniconda3/envs/leo/lib/python3.6/site-packages/leo/core/leoApp.py", line 3059, in loadLocalFile
previousSettings = lm.getPreviousSettings(fn)

File "/home/matt/miniconda3/envs/leo/lib/python3.6/site-packages/leo/core/leoApp.py", line 1973, in getPreviousSettings
c = lm.openSettingsFile(fn)

File "/home/matt/miniconda3/envs/leo/lib/python3.6/site-packages/leo/core/leoApp.py", line 2139, in openSettingsFile
readAtFileNodesFlag=False, silent=True)

File "/home/matt/miniconda3/envs/leo/lib/python3.6/site-packages/leo/core/leoFileCommands.py", line 631, in openLeoFile
silent=silent,

File "/home/matt/miniconda3/envs/leo/lib/python3.6/site-packages/leo/core/leoFileCommands.py", line 494, in getLeoFile
v = FastRead(c, self.gnxDict).readFile(fileName)

File "/home/matt/miniconda3/envs/leo/lib/python3.6/site-packages/leo/core/leoFileCommands.py", line 68, in readFile
return self.readWithElementTree(s)

File "/home/matt/miniconda3/envs/leo/lib/python3.6/site-packages/leo/core/leoFileCommands.py", line 73, in readWithElementTree
xroot = ElementTree.fromstring(contents)

File "/home/matt/miniconda3/envs/leo/lib/python3.6/xml/etree/ElementTree.py", line 1314, in XML
parser.feed(text)

File "<string>", line None

xml.etree.ElementTree.ParseError: not well-formed (invalid token): line 189, column 1

# Fixed code
def getGlobalData(self):
    """Return a dict containing all global data."""
    c = self.c
    try:
        window_pos = c.db.get("window_position")
        r1 = float(c.db.get("body_outline_ratio", "0.5"))
        r2 = float(c.db.get("body_secondary_ratio", "0.5"))
        top, left, height, width = window_pos
        return {
            "top": int(top),
            "left": int(left),
            "height": int(height),
            "width": int(width),
            "r1": r1,
            "r2": r2,
        }
    except Exception:
        pass
    # Use reasonable defaults.
    return {
        "top": 50,
        "left": 50,
        "height": 500,
        "width": 800,
        "r1": 0.5,
        "r2": 0.5,
    }