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.
* Use appcmdname as the logger name so it looks different from the GUI
version. This also causes a different log filename in the rotated log
set.
* Log at DEBUG for Startup and Exiting. Which means replacing all of
the `sys.exit(EXIT_SUCCESS)` with `return` so we can log the Exit
after `main()` returns and then `sys.exit(EXIT_SUCCESS)` there.