diff --git a/schemas/README-EDDN-schemas.md b/schemas/README-EDDN-schemas.md index 4620dd1..7905cbb 100644 --- a/schemas/README-EDDN-schemas.md +++ b/schemas/README-EDDN-schemas.md @@ -49,11 +49,17 @@ contents all Schemas specify a top-level JSON Object with the data: Each `message` object must have, at bare minimum: -1. `timestamp` - string date and time in ISO8601 format. Whilst this - technically allows for any timezone to be cited you SHOULD provide this in - UTC, aka 'Zulu Time' as in the example above. You MUST ensure that you are - doing this properly. Do not claim 'Z' whilst actually using a local time - that is offset from UTC. +1. `timestamp` - string date and time in ISO8601 format. + 1. Whilst this technically allows for any timezone to be cited you SHOULD + provide this in UTC, aka 'Zulu Time' as in the example above. + You MUST ensure that you are doing this properly. + Do not claim 'Z' whilst actually using a local time that is offset from + UTC. + 2. Historically we had never been explicit about if Senders should include + sub-second resolution in the timestamps, or if Listeners should be + prepared to accept such. As of 2022-06-24 we are explicitly stating that + Senders **MAY** include sub-second resolution, and Listeners **MUST** + be prepared to accept such. If you are only utilising Journal-sourced data then simply using the value from there should be sufficient as the PC game client is meant to diff --git a/scripts/eddn-report-log-errors b/scripts/eddn-report-log-errors index 35e7806..03555c0 100755 --- a/scripts/eddn-report-log-errors +++ b/scripts/eddn-report-log-errors @@ -75,61 +75,13 @@ 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.0.0.0'): - if matches.group('schema_ref') == 'https://eddn.edcd.io/schemas/approachsettlement/1': - if matches.group('err_msg') == 'Failed Validation "[]"': - # - pass - - elif matches.group('err_msg') == 'Failed Validation "[]"': - # - pass - - else: - print(line) - - else: - print(line) - - elif software_version >= semantic_version.Version.coerce('12.1.7.0'): - if matches.group('schema_ref') in ( - 'https://eddn.edcd.io/schemas/shipyard/2', - 'https://eddn.edcd.io/schemas/outfitting/2', - ): - # Reported via Discord PM to Robby 2022-01-07 - if matches.group('err_msg') == 'Failed Validation "[]"': - pass - - else: - print(line) - - else: - print(line) + if software_version >= semantic_version.Version.coerce('15.0.4.0'): + print(line) elif matches.group('software_name') == 'EDDLite': # https://github.com/EDDiscovery/EDDLite/releases/tag/latest - if software_version >= semantic_version.Version.coerce('2.0.0'): - if matches.group('schema_ref') in ( - 'https://eddn.edcd.io/schemas/shipyard/2', - 'https://eddn.edcd.io/schemas/outfitting/2', - ): - # Failed Validation "[]" - if ( - matches.group('err_msg').startswith('Failed Validation "[]"') - ): - # - pass - - elif matches.group('err_msg') == 'Failed Validation "[]"': - # Reported via Discord PM to Robby 2022-01-07 - pass - - else: - print(line) - - else: - print(line) + if software_version >= semantic_version.Version.coerce('2.2.0'): + print(line) elif matches.group('software_name') == 'EDDI': # https://github.com/EDCD/EDDI/releases/latest @@ -138,45 +90,23 @@ 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.3.0'): - if matches.group('schema_ref') == 'https://eddn.edcd.io/schemas/codexentry/1': - # - if matches.group('err_msg') == 'Failed Validation "[]"': - pass - - else: - print(matches.group('err_msg')) - print(line) - - elif matches.group('schema_ref') == 'https://eddn.edcd.io/schemas/journal/1': - # - if matches.group('err_msg') == 'Failed Validation "[]"': - # - pass - - elif matches.group('err_msg').startswith( + if software_version >= semantic_version.Version.coerce('5.4.1'): + if matches.group('schema_ref') == 'https://eddn.edcd.io/schemas/journal/1': + if matches.group('err_msg').startswith( 'Failed Validation "[ pass - else: - print(matches.group('err_msg')) - print(line) - - elif matches.group('schema_ref') == 'https://eddn.edcd.io/schemas/fssdiscoveryscan/1': - if matches.group('err_msg') == 'Failed Validation "[]"': - # + elif matches.group('schema_ref') == 'https://eddn.edcd.io/schemas/fsssignaldiscovered/1': + if matches.group('err_msg') == 'Failed Validation "[]"': + # pass - else: - print(line) - - elif matches.group('schema_ref') == 'https://eddn.edcd.io/schemas/approachsettlement/1': - if matches.group('err_msg') == 'Failed Validation "[]"': - # + elif matches.group('err_msg') == 'Failed Validation "[]"': + # pass - + else: print(line) @@ -227,7 +157,7 @@ def process_file(input_file: str) -> None: elif matches.group('software_name') == 'EDSM - Console': # It's in-browser, no public source/releases - if software_version >= semantic_version.Version.coerce('1.0'): + if software_version >= semantic_version.Version.coerce('1.0.2'): if matches.group('schema_ref') == 'https://eddn.edcd.io/schemas/journal/1': if matches.group('journal_event') == 'Scan': # @@ -300,7 +230,7 @@ def process_file(input_file: str) -> None: # Abandoned/unmaintained project # # - elif matches.group('software_name') in ('EVA [iPhone]', 'EVA [iPad]'): + elif matches.group('software_name') in ('EVA [iPhone]', 'EVA [iPad]', 'EVA [Android]'): pass ###################################################################