diff --git a/docs/Developers.md b/docs/Developers.md index c9ff0b2..f547dbc 100644 --- a/docs/Developers.md +++ b/docs/Developers.md @@ -175,6 +175,8 @@ For example, a shipyard message, version 2, might look like: "$schemaRef": "https://eddn.edcd.io/schemas/shipyard/2", "header": { "uploaderID": "Bill", + "gameversion": "4.0.0.1451", + "gamebuild": "r286916/r0 ", "softwareName": "My excellent app", "softwareVersion": "0.0.1" }, @@ -183,7 +185,8 @@ For example, a shipyard message, version 2, might look like: "stationName": "Samson", "marketId": 128023552, "horizons": true, - "timestamp": "2019-01-08T06:39:43Z", + "odyssey": true, + "timestamp": "2022-09-27T06:39:43Z", "ships": [ "anaconda", "dolphin", @@ -200,6 +203,72 @@ For example, a shipyard message, version 2, might look like: } ``` +--- + +### Contents of `header` +You **MUST** send the `header` component of the message. + +#### uploaderID +The EDDN Relay will obfuscate the `uploaderID` value to prevent long-term +tracking of individual players. Please **DO** send a sensible +`uploaderID` value, preferably simply the relevant in-game Commander name. + +#### softwareName +You **MUST** set a unique, and self-consistent, value of `softwareName` so +that you can be easily identified should any issues be found with the messages +you send. + +#### softwareVersion +You **MUST** set a pertinent value for `softwareVersion`. We would recommend +using [Semantic Versionining](https://semver.org/#semantic-versioning-specification-semver) +in your project. + +Listeners MAY make decisions on whether to accept data, or to treat it +differently, based on this. As such you **MUST** increment your version +number if you make any changes to the content of messages your software sends +to EDDN. + +#### `gameversions` and `gamebuild` +To ensure that Listeners can make decisions on how to handle data based on +the client and feature set it came from there are two mandatory fields in +the headers of EDDN messages. NB: Initially the *schemas* do not actually +make these mandatory, **but all Senders should make every effort to include +them ASAP**. + +Where present in the data source the `gameversion` value **MUST** come from +the field of that name in the data source, i.e. from either `Fileheader` or +`LoadGame` as outlined below. + +For `gamebuild` you **MUST** use the value of the `build` field in the data +source. + +1. If you are using Journal files directly then you **MUST** use the value + from the`Fileheader` event. +2. If you are using the CAPI `/journal` endpoint to retrieve and process + Journal events then: + 1. You will not have `Fileheader` available. + 2. If the field is present in the `LoadGame` event, as in 4.0 clients, + use its value. + 3. If `LoadGame` does not have the field, as with 3.8 Horizons + clients (up to at least `3.8.0.407`), you **SHOULD** set the value to + `"CAPI-journal"`. If, for reasons of code architecture, you are unable to + determine that data was CAPI-sourced then you MAY set it to `""` instead. +3. If you are sourcing data from other CAPI endpoints, i.e. for commodity, + shipyard or outfitting messages, then you **SHOULD** set the values + appropriately as per the CAPI endpoint the data came from: + 1. If it's a commodity message, then use `"CAPI-market"`. + 2. If it's a shipyard message, then use `"CAPI-shipyard"`. + 3. If it's an oufitting message, then also use `"CAPI-shipyard"`. + + Again, if your code architecture doesn't allow for signalling that the data + source was CAPI, then you MAY set it to `""` instead. + +For emphasis, **if you cannot set a data-source value, or an appropriate +`"CAPI-..."` value then you **MUST** still send the field with an empty string +value. + +--- + ### Contents of `message` Every message MUST comply with the Schema its `$schemaRef` value cites. Each Schema file should have a matching `-README.md` file in the @@ -285,7 +354,7 @@ PC-local files for these events): { "timestamp":"2022-09-27T11:28:53Z", "event":"LoadGame", "FID":"", "Commander":"", "Horizons":true, ... ``` -- PC 'base' Client, game version `i3.8.0.407`, no `Odyssey` key was +- PC 'base' Client, game version `3.8.0.407`, no `Odyssey` key was present: ```json { "timestamp":"2022-09-27T11:31:32Z", "event":"LoadGame", "FID":"", "Commander":"", "Horizons":false, ... diff --git a/schemas/approachsettlement-README.md b/schemas/approachsettlement-README.md index 93c8237..7845e21 100644 --- a/schemas/approachsettlement-README.md +++ b/schemas/approachsettlement-README.md @@ -58,6 +58,10 @@ Examples: Please read [horizons and odyssey flags](../docs/Developers.md#horizons-and-odyssey-flags) in the Developers' documentation. +#### gameversion and gamebuild +You **MUST** always set these as per [the relevant section](../docs/Developers.md#gameversions-and-gamebuild) +of the Developers' documentation. + #### StarSystem You MUST add a StarSystem key/value pair representing the name of the system diff --git a/schemas/approachsettlement-v1.0.json b/schemas/approachsettlement-v1.0.json index b6e5ed8..1af5052 100644 --- a/schemas/approachsettlement-v1.0.json +++ b/schemas/approachsettlement-v1.0.json @@ -16,6 +16,14 @@ "uploaderID": { "type" : "string" }, + "gameversion": { + "type" : "string", + "description" : "From Fileheader event if available, else LoadGame if available there." + }, + "gamebuild": { + "type" : "string", + "description" : "The `build` value from a Fileheader event if available, else LoadGame if available there." + }, "softwareName": { "type" : "string" }, diff --git a/schemas/codexentry-README.md b/schemas/codexentry-README.md index beb6555..3495bed 100644 --- a/schemas/codexentry-README.md +++ b/schemas/codexentry-README.md @@ -23,6 +23,10 @@ The primary data source for this schema is the ED Journal event `CodexEntry`. Please read [horizons and odyssey flags](../docs/Developers.md#horizons-and-odyssey-flags) in the Developers' documentation. +#### gameversion and gamebuild +You **MUST** always set these as per [the relevant section](../docs/Developers.md#gameversions-and-gamebuild) +of the Developers' documentation. + #### StarPos You MUST add a `StarPos` array containing the system co-ordinates from the last `FSDJump`, `CarrierJump`, or `Location` event. diff --git a/schemas/codexentry-v1.0.json b/schemas/codexentry-v1.0.json index d191060..537240f 100644 --- a/schemas/codexentry-v1.0.json +++ b/schemas/codexentry-v1.0.json @@ -17,6 +17,14 @@ "uploaderID": { "type" : "string" }, + "gameversion": { + "type" : "string", + "description" : "From Fileheader event if available, else LoadGame if available there." + }, + "gamebuild": { + "type" : "string", + "description" : "The `build` value from a Fileheader event if available, else LoadGame if available there." + }, "softwareName": { "type" : "string" }, diff --git a/schemas/commodity-README.md b/schemas/commodity-README.md index 3e155b6..220363a 100644 --- a/schemas/commodity-README.md +++ b/schemas/commodity-README.md @@ -60,6 +60,10 @@ Remove not only the `Category_Localised` key:values, but also the Please read [horizons and odyssey flags](../docs/Developers.md#horizons-and-odyssey-flags) in the Developers' documentation. +#### gameversion and gamebuild +You **MUST** always set these as per [the relevant section](../docs/Developers.md#gameversions-and-gamebuild) +of the Developers' documentation. + ### Using CAPI data It is *not* recommended to use CAPI data as the source as it's fraught with additional issues. EDMarketConnector does so in order to facilitate diff --git a/schemas/commodity-v3.0.json b/schemas/commodity-v3.0.json index 60c5c78..4609ace 100644 --- a/schemas/commodity-v3.0.json +++ b/schemas/commodity-v3.0.json @@ -16,6 +16,14 @@ "uploaderID": { "type" : "string" }, + "gameversion": { + "type" : "string", + "description" : "Fileheader->gameversion, else LoadGame->gameversion, else 'CAPI-market', else ''." + }, + "gamebuild": { + "type" : "string", + "description" : "Fileheader->build, else LoadGame->build, else 'CAPI-market', else ''." + }, "softwareName": { "type" : "string" }, diff --git a/schemas/fcmaterials_capi-README.md b/schemas/fcmaterials_capi-README.md index a76f136..da2b040 100644 --- a/schemas/fcmaterials_capi-README.md +++ b/schemas/fcmaterials_capi-README.md @@ -57,6 +57,10 @@ You **MUST NOT** set them otherwise, as e.g. the player could be active in the game on another computer, using a different game mode and the CAPI data will be for that game mode. +#### gameversion and gamebuild +You **MUST** always set these as per [the relevant section](../docs/Developers.md#gameversions-and-gamebuild) +of the Developers' documentation. + ## Listeners The advice above for [Senders](#senders), combined with the actual Schema file *should* provide all the information you need to process these events. diff --git a/schemas/fcmaterials_capi-v1.0.json b/schemas/fcmaterials_capi-v1.0.json index 49edb06..0b3f2be 100644 --- a/schemas/fcmaterials_capi-v1.0.json +++ b/schemas/fcmaterials_capi-v1.0.json @@ -16,6 +16,14 @@ "uploaderID": { "type" : "string" }, + "gameversion": { + "type" : "string", + "description" : "Value of 'CAPI-market' if possible, else empty string." + }, + "gamebuild": { + "type" : "string", + "description" : "Value of 'CAPI-market' if possible, else empty string." + }, "softwareName": { "type" : "string" }, diff --git a/schemas/fcmaterials_journal-README.md b/schemas/fcmaterials_journal-README.md index 357da91..bf14d02 100644 --- a/schemas/fcmaterials_journal-README.md +++ b/schemas/fcmaterials_journal-README.md @@ -33,6 +33,10 @@ of any augmentations, as noted below. Please read [horizons and odyssey flags](../docs/Developers.md#horizons-and-odyssey-flags) in the Developers' documentation. +#### gameversion and gamebuild +You **MUST** always set these as per [the relevant section](../docs/Developers.md#gameversions-and-gamebuild) +of the Developers' documentation. + ## Listeners The advice above for [Senders](#senders), combined with the actual Schema file *should* provide all the information you need to process these events. diff --git a/schemas/fcmaterials_journal-v1.0.json b/schemas/fcmaterials_journal-v1.0.json index 35bb080..26e4b88 100644 --- a/schemas/fcmaterials_journal-v1.0.json +++ b/schemas/fcmaterials_journal-v1.0.json @@ -16,6 +16,14 @@ "uploaderID": { "type" : "string" }, + "gameversion": { + "type" : "string", + "description" : "From Fileheader event if available, else LoadGame if available there." + }, + "gamebuild": { + "type" : "string", + "description" : "The `build` value from a Fileheader event if available, else LoadGame if available there." + }, "softwareName": { "type" : "string" }, diff --git a/schemas/fssallbodiesfound-README.md b/schemas/fssallbodiesfound-README.md index e535b32..8c186c3 100644 --- a/schemas/fssallbodiesfound-README.md +++ b/schemas/fssallbodiesfound-README.md @@ -24,6 +24,10 @@ The primary data source for this schema is the ED Journal event Please read [horizons and odyssey flags](../docs/Developers.md#horizons-and-odyssey-flags) in the Developers' documentation. +#### gameversion and gamebuild +You **MUST** always set these as per [the relevant section](../docs/Developers.md#gameversions-and-gamebuild) +of the Developers' documentation. + #### StarPos You MUST add a `StarPos` array containing the system co-ordinates from the last `FSDJump`, `CarrierJump`, or `Location` event. diff --git a/schemas/fssallbodiesfound-v1.0.json b/schemas/fssallbodiesfound-v1.0.json index 61ec184..ec148a1 100644 --- a/schemas/fssallbodiesfound-v1.0.json +++ b/schemas/fssallbodiesfound-v1.0.json @@ -16,6 +16,14 @@ "uploaderID": { "type" : "string" }, + "gameversion": { + "type" : "string", + "description" : "From Fileheader event if available, else LoadGame if available there." + }, + "gamebuild": { + "type" : "string", + "description" : "The `build` value from a Fileheader event if available, else LoadGame if available there." + }, "softwareName": { "type" : "string" }, diff --git a/schemas/fssbodysignals-README.md b/schemas/fssbodysignals-README.md index 10122a3..7582514 100644 --- a/schemas/fssbodysignals-README.md +++ b/schemas/fssbodysignals-README.md @@ -24,6 +24,10 @@ The primary data source for this schema is the ED Journal event Please read [horizons and odyssey flags](../docs/Developers.md#horizons-and-odyssey-flags) in the Developers' documentation. +#### gameversion and gamebuild +You **MUST** always set these as per [the relevant section](../docs/Developers.md#gameversions-and-gamebuild) +of the Developers' documentation. + #### StarSystem You MUST add a `StarSystem` string containing the name of the system from the last `FSDJump`, `CarrierJump`, or `Location` event. diff --git a/schemas/fssbodysignals-v1.0.json b/schemas/fssbodysignals-v1.0.json index 68ee08e..26a3551 100644 --- a/schemas/fssbodysignals-v1.0.json +++ b/schemas/fssbodysignals-v1.0.json @@ -16,6 +16,14 @@ "uploaderID": { "type" : "string" }, + "gameversion": { + "type" : "string", + "description" : "From Fileheader event if available, else LoadGame if available there." + }, + "gamebuild": { + "type" : "string", + "description" : "The `build` value from a Fileheader event if available, else LoadGame if available there." + }, "softwareName": { "type" : "string" }, diff --git a/schemas/fssdiscoveryscan-README.md b/schemas/fssdiscoveryscan-README.md index f7c8757..8e3e1f9 100644 --- a/schemas/fssdiscoveryscan-README.md +++ b/schemas/fssdiscoveryscan-README.md @@ -24,6 +24,10 @@ The primary data source for this schema is the ED Journal event Please read [horizons and odyssey flags](../docs/Developers.md#horizons-and-odyssey-flags) in the Developers' documentation. +#### gameversion and gamebuild +You **MUST** always set these as per [the relevant section](../docs/Developers.md#gameversions-and-gamebuild) +of the Developers' documentation. + #### StarPos You MUST add a `StarPos` array containing the system co-ordinates from the last `FSDJump`, `CarrierJump`, or `Location` event. diff --git a/schemas/fssdiscoveryscan-v1.0.json b/schemas/fssdiscoveryscan-v1.0.json index 9751db1..618bd48 100644 --- a/schemas/fssdiscoveryscan-v1.0.json +++ b/schemas/fssdiscoveryscan-v1.0.json @@ -16,6 +16,14 @@ "uploaderID": { "type" : "string" }, + "gameversion": { + "type" : "string", + "description" : "From Fileheader event if available, else LoadGame if available there." + }, + "gamebuild": { + "type" : "string", + "description" : "The `build` value from a Fileheader event if available, else LoadGame if available there." + }, "softwareName": { "type" : "string" }, diff --git a/schemas/fsssignaldiscovered-README.md b/schemas/fsssignaldiscovered-README.md index ddbb9aa..6889dbc 100644 --- a/schemas/fsssignaldiscovered-README.md +++ b/schemas/fsssignaldiscovered-README.md @@ -87,6 +87,10 @@ You SHOULD add this key/value pair, using the value from the `LoadGame` event. #### odyssey flag You SHOULD add this key/value pair, using the value from the `LoadGame` event. +#### gameversion and gamebuild +You **MUST** always set these as per [the relevant section](../docs/Developers.md#gameversions-and-gamebuild) +of the Developers' documentation. + #### StarSystem You **MUST** add a `StarSystem` string containing the system name from the last tracked location. You **MUST** cross-check each `FSSSignalDiscovered` diff --git a/schemas/fsssignaldiscovered-v1.0.json b/schemas/fsssignaldiscovered-v1.0.json index 18f8fef..3f7b171 100644 --- a/schemas/fsssignaldiscovered-v1.0.json +++ b/schemas/fsssignaldiscovered-v1.0.json @@ -17,6 +17,14 @@ "uploaderID": { "type" : "string" }, + "gameversion": { + "type" : "string", + "description" : "From Fileheader event if available, else LoadGame if available there." + }, + "gamebuild": { + "type" : "string", + "description" : "The `build` value from a Fileheader event if available, else LoadGame if available there." + }, "softwareName": { "type" : "string" }, diff --git a/schemas/journal-README.md b/schemas/journal-README.md index c2aa572..a59865b 100644 --- a/schemas/journal-README.md +++ b/schemas/journal-README.md @@ -65,11 +65,19 @@ The following keys+values should be removed from `Location` event data: - `SquadronFaction` from within the list of `Factions`. ### Augmentations +#### gameversion and gamebuild +You **MUST** always set these as per [the relevant section](../docs/Developers.md#gameversions-and-gamebuild) +of the Developers' documentation. + #### horizons flag -You SHOULD add this key/value pair, using the value from the `LoadGame` event. +You **MUST** add this key/value pair, using the value from the `LoadGame` event. + +Note caveats in [docs/Developers.md](../docs/Developers.md). #### odyssey flag -You SHOULD add this key/value pair, using the value from the `LoadGame` event. +You **MUST** add this key/value pair, using the value from the `LoadGame` event. + +Note caveats in [docs/Developers.md](../docs/Developers.md). #### StarSystem If not already present, you MUST add a `StarSystem` string containing the diff --git a/schemas/journal-v1.0.json b/schemas/journal-v1.0.json index 341c6b5..eb7737b 100644 --- a/schemas/journal-v1.0.json +++ b/schemas/journal-v1.0.json @@ -16,6 +16,14 @@ "uploaderID": { "type" : "string" }, + "gameversion": { + "type" : "string", + "description" : "From Fileheader event if available, else LoadGame if available there." + }, + "gamebuild": { + "type" : "string", + "description" : "The `build` value from a Fileheader event if available, else LoadGame if available there." + }, "softwareName": { "type" : "string" }, diff --git a/schemas/navbeaconscan-README.md b/schemas/navbeaconscan-README.md index 09ecdef..de14f12 100644 --- a/schemas/navbeaconscan-README.md +++ b/schemas/navbeaconscan-README.md @@ -24,6 +24,10 @@ The primary data source for this schema is the ED Journal event Please read [horizons and odyssey flags](../docs/Developers.md#horizons-and-odyssey-flags) in the Developers' documentation. +#### gameversion and gamebuild +You **MUST** always set these as per [the relevant section](../docs/Developers.md#gameversions-and-gamebuild) +of the Developers' documentation. + #### StarSystem You MUST add a `StarSystem` key/value pair representing the name of the system this event occurred in. Source this from either `Location`, diff --git a/schemas/navbeaconscan-v1.0.json b/schemas/navbeaconscan-v1.0.json index b3fdc94..5fcab2c 100644 --- a/schemas/navbeaconscan-v1.0.json +++ b/schemas/navbeaconscan-v1.0.json @@ -16,6 +16,14 @@ "uploaderID": { "type" : "string" }, + "gameversion": { + "type" : "string", + "description" : "From Fileheader event if available, else LoadGame if available there." + }, + "gamebuild": { + "type" : "string", + "description" : "The `build` value from a Fileheader event if available, else LoadGame if available there." + }, "softwareName": { "type" : "string" }, diff --git a/schemas/navroute-README.md b/schemas/navroute-README.md index 703c794..5358df8 100644 --- a/schemas/navroute-README.md +++ b/schemas/navroute-README.md @@ -31,3 +31,7 @@ separate file. Please read [horizons and odyssey flags](../docs/Developers.md#horizons-and-odyssey-flags) in the Developers' documentation. +#### gameversion and gamebuild +You **MUST** always set these as per [the relevant section](../docs/Developers.md#gameversions-and-gamebuild) +of the Developers' documentation. + diff --git a/schemas/navroute-v1.0.json b/schemas/navroute-v1.0.json index 4a5a83c..b0ef8d2 100644 --- a/schemas/navroute-v1.0.json +++ b/schemas/navroute-v1.0.json @@ -16,6 +16,14 @@ "uploaderID": { "type" : "string" }, + "gameversion": { + "type" : "string", + "description" : "From Fileheader event if available, else LoadGame if available there." + }, + "gamebuild": { + "type" : "string", + "description" : "The `build` value from a Fileheader event if available, else LoadGame if available there." + }, "softwareName": { "type" : "string" }, diff --git a/schemas/outfitting-README.md b/schemas/outfitting-README.md index e3e18bf..f9a405c 100644 --- a/schemas/outfitting-README.md +++ b/schemas/outfitting-README.md @@ -53,3 +53,8 @@ station. Namely: #### horizons and odyssey flags Please read [horizons and odyssey flags](../docs/Developers.md#horizons-and-odyssey-flags) in the Developers' documentation. + +#### gameversion and gamebuild +You **MUST** always set these as per [the relevant section](../docs/Developers.md#gameversions-and-gamebuild) +of the Developers' documentation. + diff --git a/schemas/outfitting-v2.0.json b/schemas/outfitting-v2.0.json index a8959e0..b3a0ad2 100644 --- a/schemas/outfitting-v2.0.json +++ b/schemas/outfitting-v2.0.json @@ -16,6 +16,14 @@ "uploaderID": { "type" : "string" }, + "gameversion": { + "type" : "string", + "description" : "Fileheader->gameversion, else LoadGame->gameversion, else 'CAPI-shipyard', else ''." + }, + "gamebuild": { + "type" : "string", + "description" : "Fileheader->build, else LoadGame->build, else 'CAPI-shipyard', else ''." + }, "softwareName": { "type" : "string" }, diff --git a/schemas/scanbarycentre-README.md b/schemas/scanbarycentre-README.md index 89c1ce6..11353bb 100644 --- a/schemas/scanbarycentre-README.md +++ b/schemas/scanbarycentre-README.md @@ -27,6 +27,10 @@ senders SHOULD include any defined in the schema if it's in the source data. Please read [horizons and odyssey flags](../docs/Developers.md#horizons-and-odyssey-flags) in the Developers' documentation. +#### gameversion and gamebuild +You **MUST** always set these as per [the relevant section](../docs/Developers.md#gameversions-and-gamebuild) +of the Developers' documentation. + #### StarPos You MUST add a `StarPos` array containing the system co-ordinates from the last `FSDJump`, `CarrierJump`, or `Location` event. diff --git a/schemas/scanbarycentre-v1.0.json b/schemas/scanbarycentre-v1.0.json index e019326..ccf263a 100644 --- a/schemas/scanbarycentre-v1.0.json +++ b/schemas/scanbarycentre-v1.0.json @@ -16,6 +16,14 @@ "uploaderID": { "type" : "string" }, + "gameversion": { + "type" : "string", + "description" : "From Fileheader event if available, else LoadGame if available there." + }, + "gamebuild": { + "type" : "string", + "description" : "The `build` value from a Fileheader event if available, else LoadGame if available there." + }, "softwareName": { "type" : "string" }, diff --git a/schemas/shipyard-README.md b/schemas/shipyard-README.md index b1f32d9..0b3ac58 100644 --- a/schemas/shipyard-README.md +++ b/schemas/shipyard-README.md @@ -40,3 +40,8 @@ value is what the name would have been in the source Journal data. #### horizons and odyssey flags Please read [horizons and odyssey flags](../docs/Developers.md#horizons-and-odyssey-flags) in the Developers' documentation. + +#### gameversion and gamebuild +You **MUST** always set these as per [the relevant section](../docs/Developers.md#gameversions-and-gamebuild) +of the Developers' documentation. + diff --git a/schemas/shipyard-v2.0.json b/schemas/shipyard-v2.0.json index bb4fabd..a300271 100644 --- a/schemas/shipyard-v2.0.json +++ b/schemas/shipyard-v2.0.json @@ -16,6 +16,14 @@ "uploaderID": { "type" : "string" }, + "gameversion": { + "type" : "string", + "description" : "Fileheader->gameversion, else LoadGame->gameversion, else 'CAPI-shipyard', else ''." + }, + "gamebuild": { + "type" : "string", + "description" : "Fileheader->build, else LoadGame->build, else 'CAPI-shipyard', else ''." + }, "softwareName": { "type" : "string" }, diff --git a/scripts/eddn-report-log-errors b/scripts/eddn-report-log-errors index 2406a1f..20a6fd7 100755 --- a/scripts/eddn-report-log-errors +++ b/scripts/eddn-report-log-errors @@ -75,24 +75,24 @@ def process_file(input_file: str) -> None: ################################################################### if matches.group('software_name') == 'EDDiscovery': # https://github.com/EDDiscovery/EDDiscovery/releases/latest - if software_version >= semantic_version.Version.coerce('15.1.2.0'): - # if matches.group('schema_ref') == 'https://eddn.edcd.io/schemas/outfitting/2': - # err_msg = matches.group('err_msg') - # if ( - # err_msg.startswith('Failed Validation "[]') != -1 - # ): - # - # pass + if software_version >= semantic_version.Version.coerce('15.1.4.0'): + if matches.group('schema_ref') == 'https://eddn.edcd.io/schemas/outfitting/2': + err_msg = matches.group('err_msg') + if ( + err_msg.startswith('Failed Validation "[]') != -1 + ): + # + pass - # else: - # print(line) + else: + print(line) - # else: - print(line) + else: + print(line) elif matches.group('software_name') == 'EDDLite': - # https://github.com/EDDiscovery/EDDLite/releases/tag/latest + # https://github.com/EDDiscovery/EDDLite/releases/latest if software_version >= semantic_version.Version.coerce('2.3.0'): print(line) @@ -103,7 +103,7 @@ def process_file(input_file: str) -> None: elif matches.group('software_name').startswith('E:D Market Connector'): # https://github.com/EDCD/EDMarketConnector/releases/latest - if software_version >= semantic_version.Version.coerce('5.4.1'): + if software_version >= semantic_version.Version.coerce('5.5.0'): if matches.group('schema_ref') == 'https://eddn.edcd.io/schemas/journal/1': if matches.group('err_msg').startswith( 'Failed Validation "[