This adds a new thread that will run in a loop sending inara events once
ever 30 seconds. The old method of sending once for "special" events has
been removed.
Using:
from EDMarketConnector import logger
causes issues if EDMarketConnector is already importing 'this' file.
So just get a logger using logger.getLogger(appname) instead.
`from config import appname` if needs be.
* Use same state logic as Inara plugin now has.
* this.system_link for the Tk item, this.system is the system name.
* Ensure station text+link set on prefs change.
# Add a set of future TODO items.
* Use same state logic as Inara plugin now has.
* this.system_link for the Tk item, this.system is the system name.
* List some tests to pass (and later to be implemented as unittests).
* Be paranoid about URIs, quote them.
* Ensure station text+link set on prefs change.
* Track all of: this.system_address, this.system_population,
this.system_marketid
* Use this.system_address if set (only from journal) for no-dupes Inara
system URL.
* Added the "'x' if undocked and show system info" functionality from
EDDB plugin.
* This version will set target station name/link if you request docking
with it, whether that succeeds or not. Cleared not only on Undock, but
also FSDJump and SupercruiseEntry (in case you never actually docked).
* No longer bothering setting system and station URLs from Inara API
response as we have working ones anyway. So even those without Inara
API Key set get the functionality now.
* Artie added a 'by-systemaddress' system lookup, use it.
* This means we probably no longer need to update URLs in the
inara_notify_location() function.
* Cleans up imports.
* Fixes some '<tab># ...' to use 2 spaces.
* Add type hints to system_url().
* Always store, even if not current provider: this.{system_address,
station_marketid,system_population}