This removes the FDEV ID Submodule, and instead hands over responsibility for maintaining the fdev id files to the internal system updater. Instead of the full submodule, we only pull the two files we need.
1. EDDB plugin needs to track the system name, but we're moving all of that
into monitor.py.
2. monitor.py was tracking this in monitor.system, but it needs to be in
monitor.state['SystemName'] in order for plugins to access it.
So, move monitor.system to monitor.state['SystemName'] and update all uses.
* Opening of latest journal file didn't match how done in monitor.py.
This caused `str` instead of `bytes` being passed to `monitor.parse_entry()`.
* It was assuming pre-threaded return of data. Now properly gets it from
the queue.
* eddn: Don't schedule `queue_check_and_send()` if EDMC_NO_UI.
* `export_(commodites|outfitting|shipyard)` lost the `is_odyssey` argument
in 556ace5306bebbcf34c1a56a9023a822218a73f1 .
* EDDNSender: Helper `set_ui_status()` in which the check for EDMC_NO_UI
is performed. Used in `send_message()`. In the EDMC_NO_UI case it will
INFO log the text instead.
* The 'EDMC' prefix on all these classes is to make it clear they're for
internal passing around of requests/responses, rather than holding the
literal raw CAPI request and response.
* The request and response queues are now commented, including the
detail that the response queue is created by the caller and then set
'here' by Session.set_capi_response_queue().
This should have been set from the latest Journal file, and the
key/value is in LoadGame in Odyssey. It's only documented as:
"Whether the sending Cmdr has an Odyssey expansion."
in the current EDDN Journal schema. Thus sending this as False if the
Cmdr last logged into Horizons/base game should be OK.
In testing `EDMC.py --trace` I ran into issues with NavRoute and
ShipLocker events wanting to open the auxilary files, but it failing.
This turned out to be because that code assumes `monitor.currentdir` is
set and EDMC.py was using a local variable rather than setting and using
it.
* EDMC: Add --trace (to match EDMarketConnector.py) and TRACE as option to
--loglevel.
* EDMC: docstrings added.
* EDMCLogging: Set logger name based on if GUI or CLI.
* EDMarketConnector:
* Re-order imports.
* Misc. formatting cleanups.
* f-strings not .format().
* Removed un-necessary "# noqa: N806" comments.