- Code: Select all
diff --git a/ffgo/gui/mainwindow.py b/ffgo/gui/mainwindow.py
index 26e99a1..9c399b3 100644
--- a/ffgo/gui/mainwindow.py
+++ b/ffgo/gui/mainwindow.py
@@ -148,6 +148,8 @@ class App:
self.toolsmenu = Menu(self.menubar, tearoff=0)
self.toolsmenu.add_command(label='METAR',
command=self.showMETARWindow)
+ self.toolsmenu.add_command(label=_('Test'),
+ accelerator=_('Ctrl-T'), command=self.test)
self.menubar.add_cascade(label=_('Tools'), menu=self.toolsmenu)
self.helpmenu = Menu(self.menubar, tearoff=0)
@@ -368,6 +370,20 @@ class App:
self.setupKeyboardShortcuts()
self.startLoops()
+ def test(self, event=None):
+ import traceback
+
+ for airport in self.config.airport_icao:
+ logger.debug("Looking at airport {}, found parkings:".format(
+ airport))
+ try:
+ parkings = self.read_airport_data(airport, "park")
+ except Exception:
+ logger.debug(traceback.format_exc())
+ else:
+ if parkings:
+ logger.debug(*parkings, sep='\n')
+
def onControlF_KeyPress(self, event):
self.runFG(event)
return "break"
@@ -377,6 +393,7 @@ class App:
return "break"
def setupKeyboardShortcuts(self):
+ self.master.bind('<Control-KeyPress-t>', self.test)
self.master.bind('<Control-KeyPress-f>', self.onControlF_KeyPress)
self.master.bind('<Control-KeyPress-r>', self.onControlR_KeyPress)
self.master.bind_all('<Control-KeyPress-q>', self.saveAndQuit)
@@ -778,6 +795,9 @@ class App:
"""Read parking positions from XML file."""
logger.info("Reading parking positions from '{}'".format(xml_file))
res = []
+ if not os.path.getsize(xml_file):
+ return []
+
with open(xml_file) as xml:
root = self._get_root(xml)
parking_list = root.find('parkingList')
which reveals only two errors besides empty files + the '&' errors I already mentioned:
- Airports/K/P/C/KPCW.groundnet.xml: there is a ^P control char before Parking_2 on line 4;
- Airports/T/J/S/TJSJ.groundnet.xml: unescaped '&' on line 15