1
0
mirror of https://github.com/EDCD/EDMarketConnector.git synced 2025-04-14 16:27:13 +03:00

729 Commits

Author SHA1 Message Date
Athanasius
9162b3a94d
eddn/fsssignaldiscovered: For Horizons add check on tracked location 2022-06-23 10:34:13 +01:00
Athanasius
e38ce639f0
eddn/fsssignaldiscovered: Catch where no signals pass checks
Else we attempt to send an empty `signals` array, which the schema prohibits.
2022-06-19 11:47:24 +01:00
Athanasius
c5f53a8378
Merge pull request #1587 from chennin/EDMarketConnector-1496-EDSM-log-2
Change EDSM credentials() to log API keys under a different trace #1496
2022-06-17 12:52:38 +01:00
Athanasius
57953ef3f2
EDDN: Ensure *all* _Localised key/values removed
This has been missed, based on Journal examples, and has been causing issues
at least for `ApproachSettlement`.

So, `filter_localised()` now used in:

    `export_journal_navroute()`
    `export_journal_approachsettlement()`
    `export_journal_fssallbodiesfound()`
2022-06-17 12:46:46 +01:00
Athanasius
77203c7227
eddn/fsssignaldiscovered: Misc fixups
* Need to remove `event`, `horizons` and `odyssey` per signal.
* It's lower case `horizons` and `odyssey` in a(n augmented) journal event.
* It's `event`, not `entry` that `export_journal_entry()` will look for.
2022-06-15 14:34:06 +01:00
Athanasius
37c88aeefc
eddn/fsssignaldiscovered: Further cleanup
* Move call to `export_journal_fsssignaldiscovered` to top-level of event
  processing.  This ensures we'd still have the *previous* system tracked
  when running under Odyssey.

  Also, we can't return any result from this, as we'd still need to process
  things like `Location` otherwise.
* Use `logger.trace_if("plugin.eddn.fsssignaldiscovered", ...)`
* Perform all sanity checks, elisions and augmentations in the "not
  FSSSignalDiscovered event" sending code.
2022-06-15 13:19:13 +01:00
Athanasius
d5ec54dbea
eddn/fsssignaldiscovered: Start on cleaning up chennin's work 2022-06-15 12:11:01 +01:00
Chris Henning
afda16853b Change this log to debug level 2022-06-12 17:59:18 -04:00
Chris Henning
e8b8cf81d5 Change EDSM credentials() to log API keys under a different trace #1496 2022-06-12 17:51:38 -04:00
Chris Henning
4bf2965cc5 remove unnecessarily committed debug messages 2022-06-12 17:12:08 -04:00
Chris Henning
4dfcd91bcd fix more flake8 errors 2022-06-12 16:19:25 -04:00
Chris Henning
1b37991016 fix flake8 errors 2022-06-12 16:16:54 -04:00
Chris Henning
df9f0bfc7c Implement FSSSignalDiscovered sender v1 2022-06-12 15:26:50 -04:00
Athanasius
52cc71a217
eddn: Clear bodyname/id on supercruiseexit, if at orbital station 2022-06-05 15:31:28 +01:00
Athanasius
62c8af4dc0
eddn: Use if '<key>' not in <dict>: idiom. 2022-06-04 14:55:27 +01:00
Athanasius
1349b2bca1
eddn: codexentry: Ody Update 12 will add BodyID
* So add a check to see if the event already has it, and leave it if so.
* And might as well have a check on BodyName in case that gets added as well.
2022-06-01 16:24:51 +01:00
Athanasius
020aa325a7
eddn: Cite event name in some logging
Not needed where we're in an event-specific function, but is in generic
event handling.
2022-06-01 16:17:34 +01:00
Athanasius
9fd3c3852a
eddn: journal: Add SystemAddress cross-check to StarSystem augmentation 2022-05-29 15:36:42 +01:00
Athanasius
4fcd2ae3f3
eddn: journal: Make SystemAddress a check, not an augmentation
On checking, all of the events valid for the journal schema (and CodexEntry
has its own schema and separate EDMC code) already contain SystemAddress, so
it would never be added as an augmentation.

Instead, turn this into a sanity check.
2022-05-29 15:30:20 +01:00
Athanasius
4a207429cd
eddn: journal schema: Add notes about present/missing fields 2022-05-29 15:20:45 +01:00
Athanasius
2e6d6b8c02
eddn: scanbarycentre: Location cross-check paranoia 2022-05-29 15:07:25 +01:00
Athanasius
e38ea28ba6
eddn: navbeaconscan: Location cross-check paranoia 2022-05-29 15:05:11 +01:00
Athanasius
3702b465e5
eddn: fssdiscoveryscan: Location cross-check paranoia 2022-05-29 15:03:02 +01:00
Athanasius
4baa2490af
eddn: fssallbodiesfound: Location cross-check paranoia 2022-05-29 15:00:19 +01:00
Athanasius
834debde98
eddn: codexentry: Location cross-check paranoia 2022-05-29 14:56:33 +01:00
Athanasius
6b54f721b0
eddn: approachsettlement: Location cross-check paranoia 2022-05-29 14:49:43 +01:00
Athanasius
8bb7f9d9ba
EDDN/fssbodysignals: Add location paranoia check 2022-05-29 12:28:58 +01:00
Gareth Harper
88b3dc27e5
Added fssbodysignals 2022-05-29 12:14:34 +01:00
Athanasius
210012a4a6
Merge pull request #1483 from EDCD/fix/1481/codexentry-can-have-empty-string-nearestdestination
EDDN: codexentry/1: Tighten up 'empty string' checks
2022-02-21 11:44:20 +00:00
Athanasius
562a224857
EDDN: approachsettlement/1: Bail if no System (name) yet
* A login-time `ApproachSettlement` happens before `Location`, if
  appropriate.
* Also add a future comment about FSSSignalDiscovered, for if EDDN ever adds
  the schema.
2022-02-20 19:44:53 +00:00
Athanasius
6f8847e3e1
EDDN: approachsettlement/1: Don't claim entry_augment_system_data() as only for us 2022-02-20 19:30:45 +00:00
Athanasius
de69b95b8a
EDDN: codexentry/1: Tighten up 'empty string' checks
It turns out some of the other strings, that do not have minLength=1 in the
schema, can be empty and that's OK.   i.e. NearestDestination.

So, let's only check for the actual minLength=1 things.  Which is a few
top-level key:values, and then the contents of the Traits array.
2022-02-20 19:18:34 +00:00
Athanasius
e51aba1cc3
EDDN: Handle ApproachSettlement missing planetary coords 2022-02-18 15:23:27 +00:00
Athanasius
a93ee14c05
eddn: Implement schema fssallbodiesfound/1 2022-02-11 16:32:43 +00:00
Athanasius
dd6c6fbc36
Inara: Do not update credits from CAPI data
CAPI only has the Cmdr wallet value (and loan if applicable), without anything
for 'total assets'.  If we send Inara setCommanderCredits without
`commanderAssets` then Inara makes a bad judgement on it and sets an
incorrect total assets value.

Also:

> Do NOT set credits/assets unless you are absolutely sure they are correct. The journals currently doesn't contain crew wage cuts, so credit gains are very probably off for most of the players. Also, please, do not send each minor credits change, as it will spam player's credits log with unusable data and they won't be most likely very happy about it. It may be good to set credits just on the session start, session end and on the big changes or in hourly intervals.

So, let's just not.
2022-02-11 12:20:06 +00:00
Athanasius
6f0095e5fe
eddn: Slightly rationalise passed StarSystem
* Call it system_name in `export_journal_fssdiscoveryscan()`, as `system`
  could be amigbuous.
* Might as well use `system` passed in to `journal_entry()` when calling
  `export_journal_approachsettlement()`.
2022-02-09 16:14:15 +00:00
Athanasius
f1ba8ee5e1
eddn: Fix up approachsettlement & adjust other such function signatures
1. We need StarPos (as well as StarSystem)
2. Adding more state tracking in this plugin is misguided.
3. So added it in monitor instead, putting *copies* of data in the
  monitor.state dictionary.
4. So we reference those, but only available in journal_entry() itself, else
  we'd need to pass the whole of `state` in.
5. So instead pass in the bits of `state` only when we need them.
2022-02-09 16:07:16 +00:00
Athanasius
3a0dbb906a
eddn: export_journal_approachsettlement() implementation 2022-02-09 15:01:56 +00:00
Athanasius
91c36a5b1a
eddn: Change to the ".lower() Journal event name once" paradigm
Also, whilst the *current* code has the 'augment files' handled last in
then if/else tree we shouldn't assume that will always be the case.
So, be paranoid and use different variables for the augment-loaded entry
and its .lower event_name.

'cos you just know one of us will trip up on it later if there's ever some
'finally' code after that conditional tree.
2022-02-09 14:08:36 +00:00
Athanasius
d59dc18b1b
eddn: make the exclusive nature of 'own schema' events explicit 2022-02-09 13:50:42 +00:00
Athanasius
30e9abb870
Inara: Change the comment for why we're using Progress, not Ranks 2022-02-08 13:34:03 +00:00
Athanasius
22f90e23aa
Inara: Trigger off 'Progress' for sending setCommanderRankPilot
Doing so from 'Rank' means the 'Progress' event hadn't happened yet, so of
course we only ever sent all zeroes for progress.

NB: Journal-v32 doc makes *no guarantee* about the order of the events.
  Is it worth trying to be paranoid about that ?  For a 100% new player
  everything would be "all zeroes", so we would likely need to tweak things
  to store `None` as default values, and check for such.
2022-02-08 13:31:00 +00:00
Athanasius
636bcd65bb
Merge pull request #1432 from EDCD/fix/1403/eddn-upload-errors
eddn: Log if a 'location' event doesn't have SystemAddress
2022-02-04 12:08:09 +00:00
Athanasius
d83a1c514d
eddn: Log if a 'location' event doesn't have SystemAddress
It *really* shouldn't ever happen, and we'll want to see the full event
if it does somehow.
2022-02-03 15:33:34 +00:00
Athanasius
1bb48ed596
eddn/codexentry: Bail and show error if empty string in message 2022-02-03 13:59:52 +00:00
Athanasius
45b78f55c4
eddn: say 'is falsey' in error messages as well 2022-02-01 18:05:28 +00:00
Athanasius
2bf70aae14
eddn: Be paranoid about this.status_body_name type and value
As it was we'd blindly set codexentry['BodyName'] from it if not None.
2022-02-01 16:59:44 +00:00
Athanasius
4fa64eec40
eddn: warnings improvements
* Log the type of unexpected values.
* Say 'falsey' not 'None' when we only `if not ...`
2022-02-01 16:43:19 +00:00
Athanasius
e2e34674c2
eddn: codexentry - add paranoia post-processing check of values 2022-02-01 16:22:59 +00:00
Athanasius
f144c199ae
eddn: Be paranoid about Status.json BodyName value 2022-02-01 16:22:59 +00:00