Commit Graph
351 Commits
Author SHA1 Message Date
Athanasius f45f817fa2 EDDB plugin now setting Station name correctly on_foot
* monitor.on_foot is now monitor.state['on_foot'] as plugins need to
  access it.
* EDDB:journal_entry() now stores that in this.on_foot to check later.
* this.on_foot checked in cmdr_data() to actually set station name from
  that data if needs be.  This avoids setting it to STATION_UNDOCKED if
  data['commander']['docked'] is False, when we're on_foot.
2021-04-12 08:30:51 +01:00
Athanasius 567cfdb9ca Will now send data to EDDN when on-foot in-station.
NB: No shipyard in tests because data['ships']['shipyard_list'] is an
empty list.  This might be the bug not having been fixed, or the station
might genuinely have no ships for sale.  We have no way to check in
Odyssey Alpha Phase 1.
2021-04-12 08:30:51 +01:00
Athanasius d585dd9233 Also str() appversion in EDSM and Inara plugins 2021-04-01 14:46:43 +01:00
Athanasius b0bda6e982 EDDN: Convert appversion_nobuild() to str
Without this the JSON serialisation later on barfs on it.
2021-04-01 14:46:43 +01:00
Athanasius 567bda048d plugins/eddn: Ensure types on all 'this' variables. 2021-04-01 14:45:53 +01:00
Athanasius 501682c439 Split text following """ if entire docstring not single line. 2021-04-01 14:45:53 +01:00
Athanasius 7da15faaf3 plugins/eddn: Convert 'this' to a class for typing reasons.
* Typing hates the 'this' hack on module's __name__, so use a small
  class instead.
* Added missing `return None`s.
* Other typing cleanups.
2021-04-01 14:45:53 +01:00
Athanasius 921185f7ce plugins/eddn: Now fully docstring'ed. 2021-04-01 14:45:53 +01:00
Athanasius 2f9789afdd Update all code to use config.appversion() as a function
This *also* caught some instances where appversion_nobuild should
already have been used, so those were both changed and updated to a
function call.
2021-04-01 14:45:52 +01:00
Athanasius f0c6b9efaa EDDN: Minor logging and format fixup to match 4.2.4 2021-04-01 14:45:52 +01:00
Athanasius 9a8daf665e EDDN: Restore 4.2.4 is_horizons() check in full 2021-04-01 14:45:52 +01:00
Athanasius 63be402cb4 EDDN: Restore safe_modules_and_ships() from 4.2.4 2021-04-01 14:45:52 +01:00
Athanasius bc33bf1b19 Attempt to get develop back to code state before rebase on main. 2021-04-01 14:45:51 +01:00
Athanasius d8fb17df9f plugins/eddn: Add paranoia about data in is_horizons()
A damaged station has `"modules": []`, so trips over modules.values().
2021-04-01 14:45:51 +01:00
Athanasius 933ec723bd plugins/eddn: Call requests.Session.close() in EDDN.close()
Avoids a `-W default` warning on shutdown.
2021-04-01 14:45:50 +01:00
Athanasius 6aa4ccaf90 plugins/edsm: Don't try to r.close(), that's not even valid 2021-04-01 14:45:50 +01:00
Athanasius 3d3674da5f plugins/edsm: Call requests.Session.close() after we've shutdown worker thread
This properly closes any sockets and avoids a -W default warning on
shutdown.
2021-04-01 14:45:50 +01:00
Athanasius 745c2ce8d2 edsm: Ensure Request handles are closed. 2021-04-01 14:45:50 +01:00
A_D 051245cf90 Renamed various config values to be backwards compatible 2021-04-01 14:45:48 +01:00
Athanasius 3ed08f0f7e plugins/inara: Avoid Tk event_generate() calls during shutdown
# Conflicts:
#	plugins/inara.py
2021-04-01 14:45:48 +01:00
Athanasius db48b6eaad plugins/edsm: Avoid Tk event_generate() calls during shutdown
# Conflicts:
#	plugins/edsm.py
2021-04-01 14:45:48 +01:00
A_D 00629b7420 use _str versions of paths for string ops 2021-04-01 14:45:48 +01:00
A_D b5a8c03980 Added missing whitespace 2021-04-01 14:45:48 +01:00
A_D cd67f12f22 Fixed eddn event specific killswitch 2021-04-01 14:45:48 +01:00
A_D b694bdc965 Added per-event killswitch 2021-04-01 14:45:48 +01:00
A_D 6374fbbeb8 Added event disabling
You can now disable specific event handlers in plugins
2021-04-01 14:45:47 +01:00
A_D 70087a27e4 Added total journal cutoff killswitches 2021-04-01 14:45:47 +01:00
A_D 8dca6783fc Fixed spelling, added utility methods 2021-04-01 14:45:47 +01:00
A_D d5b62d957b Added support for comments in kill switches 2021-04-01 14:45:47 +01:00
A_D f10cd9d70f Dont exit inara worker thread 2021-04-01 14:45:47 +01:00
A_D 10ca50bf5a Moved edsm killswitch check
It was causing exit hangs when edsm was disabled
2021-04-01 14:45:47 +01:00
A_D 2d127ae3d0 Added docs, fixed incorrect kill switch names 2021-04-01 14:45:47 +01:00
A_D d81093760e Added hooks into killswitches in plugins 2021-04-01 14:45:47 +01:00
A_D 1e56f0046e Empty journal dir workaround 2021-04-01 14:45:46 +01:00
A_D 87df8d8ab8 suppressed exceptions in migration code 2021-04-01 14:45:46 +01:00
A_D a1576e9979 Fixed missing default keyword arg 2021-04-01 14:45:46 +01:00
A_D 278480b99f replaced ors with defaults in config usage 2021-04-01 14:45:46 +01:00
Athanasius 25852997c5 Updated all source to use new config methods
# Conflicts:
#	monitor.py
2021-04-01 14:45:46 +01:00
Athanasius bd670b7ff1 Updated plugins to expect that CAPI data is safe
# Conflicts:
#	plugins/eddn.py
2021-04-01 14:45:45 +01:00
Athanasius 9b09d8bd07 plugins/inara: Close down logging & Remove unused this.queue.
* The new_worker/NewThis doesn't currently have a mechanism to ask the
 new_worker to exit.  It's relying on being a daemon thread and dying
 once all non-daemon (i.e. main) threads have exited.
2021-04-01 14:45:44 +01:00
Athanasius 8aac704fa1 plugins/edsm: start/stop detailed logging. 2021-04-01 14:45:44 +01:00
Athanasius 983e4d7acb plugins/eddn: Detailed stop logging. 2021-04-01 14:45:44 +01:00
Athanasius 96bb0959f5 EDDN: Only add missing StarPos if for current system
<https://github.com/EDCD/EDMarketConnector/issues/961>

It seems the game can report a Scan event *after* you've jumped to
another system.  So don't blindly set StarPos on Scan, check the
SystemAddress against where we think we are first.
2021-04-01 08:56:35 +01:00
Athanasius aab2a58a2d Reduce some log spam:
* Comment out the traceback in plugins/eddn.py, the return is enough.
* 'Called with no event_queue' can be TRACE.
* Don't care about "Everything was alright, the near-neutral status just
  wasn't stored." from Inara.
2021-03-23 13:48:44 +00:00
Athanasius b4d928246e Adjust logging to include type (and not strictly False). 2021-03-22 11:48:52 +00:00
Athanasius 34c0536a7e Paranoia check in sendreplay().
See #926
2021-03-22 11:43:44 +00:00
Athanasius 6bde36ad31 Extend is_horizons() paranoia to type of ships['shipyard_list']
The .values() is on this, so it also needs to be a dict.

I also made the logging of "FC or Damaged Station?" consistent
throughout this file.

Yes, we'll keep these as logger.debug() for now.
2021-03-17 11:26:34 +00:00
Athanasius 740d1bd38a Correct order of arguments to isinstance() 2021-03-15 19:21:17 +00:00
Athanasius 173cffdcfc Add extra logging to is_horizons() if things not as expected.
* Log the type(s) if not dict.
* Log if ships['shipyard_list'] isn't present, despite ships being a
  dict.
2021-03-15 17:06:26 +00:00
Athanasius 98be182922 plugins/eddn: Add paranoia about data in is_horizons()
A damaged station has `"modules": []`, so trips over modules.values().
2021-03-15 17:03:39 +00:00