From ddba99bfd8557a46f3231ca05021bc7068c3bec4 Mon Sep 17 00:00:00 2001
From: Athanasius <github@miggy.org>
Date: Wed, 10 Aug 2022 11:28:10 +0100
Subject: [PATCH] monitor: Handle NavRouteClear & un-() an assert

* Stop trying to load `NavRoute.json` if it contained a `NavRouteClear`.
* `assert` is a *keyword*, not a function.
---
 monitor.py | 14 ++++++++++----
 1 file changed, 10 insertions(+), 4 deletions(-)

diff --git a/monitor.py b/monitor.py
index eb9fbfb3..859b2a50 100644
--- a/monitor.py
+++ b/monitor.py
@@ -1469,7 +1469,7 @@ class EDLogs(FileSystemEventHandler):  # type: ignore # See below
                                 self.state[category].pop(material)
 
                 module = self.state['Modules'][entry['Slot']]
-                assert(module['Item'] == self.canonicalise(entry['Module']))
+                assert module['Item'] == self.canonicalise(entry['Module'])
                 module['Engineering'] = {
                     'Engineer':      entry['Engineer'],
                     'EngineerID':    entry['EngineerID'],
@@ -2300,9 +2300,15 @@ class EDLogs(FileSystemEventHandler):  # type: ignore # See below
             )
             return False
 
-        # everything is good, lets set what we need to and make sure we dont try again
-        logger.info('Successfully read NavRoute file for last NavRoute event.')
-        self.state['NavRoute'] = file
+        # Handle it being `NavRouteClear`d already
+        if file['event'].lower() == 'navrouteclear':
+            logger.info('NavRoute file contained a NavRouteClear')
+            # We do *NOT* copy into/clear the `self.state['NavRoute']`
+        else:
+            # everything is good, lets set what we need to and make sure we dont try again
+            logger.info('Successfully read NavRoute file for last NavRoute event.')
+            self.state['NavRoute'] = file
+
         self._navroute_retries_remaining = 0
         self._last_navroute_journal_timestamp = None
         return True