gtfs-validator icon indicating copy to clipboard operation
gtfs-validator copied to clipboard

CLI: reconfigure/disable rules

Open derhuerst opened this issue 1 year ago • 1 comments

Describe the problem

When using the GTFS-Validator with the 2023-05-22 DELFI GTFS feed (stable URL to the latest feed), it yields the following result:

SEVERE:  ----------------------------------------- 
|       !!!    PARSING FAILED    !!!      |
|   Most validators were never invoked.   |
|   Please see report.json for details.   |
 ----------------------------------------- 

May 22, 2023 1:59:24 PM org.mobilitydata.gtfsvalidator.runner.ValidationRunner printSummary
INFO: Validation took 59.040 seconds

May 22, 2023 1:59:24 PM org.mobilitydata.gtfsvalidator.runner.ValidationRunner printSummary
INFO: agency.txt	1150
areas.txt	MISSING_FILE
attributions.txt	MISSING_FILE
calendar.txt	22976
calendar_dates.txt	598382
fare_attributes.txt	MISSING_FILE
fare_leg_rules.txt	MISSING_FILE
fare_media.txt	MISSING_FILE
fare_products.txt	MISSING_FILE
fare_rules.txt	MISSING_FILE
fare_transfer_rules.txt	MISSING_FILE
feed_info.txt	MISSING_FILE
frequencies.txt	0
levels.txt	11
pathways.txt	UNPARSABLE_ROWS
routes.txt	27838
shapes.txt	10686198
stop_areas.txt	MISSING_FILE
stop_times.txt	37913295
stops.txt	523838
transfers.txt	1034848
translations.txt	MISSING_FILE
trips.txt	1868246

(Apparently, it did parse pathways.txt and generated lots of warnings, so the UNPARSABLE_ROWS) is very confusing, as it leads me to believe the file has CSV syntax errors.)


Although the GTFS Schedule/Static Best Practices explicitly recommend IDs to be ASCII, this feed contains IDs with e.g. ß (a common character in Germany. Therefore, I would like to (temporarily) disable the non_ascii_or_non_printable_char warnings.

Proposed solution

I propose a CLI option to re-configure the rules' levels and/or turn them off, e.g. similar to how eslint does it (--rule 'foo: error' --rule 'bar: off').

This is also how users would be able to explicitly opt into experimental/buggy rules that are disabled by default.

Alternatives you've considered

No response

Additional context

No response

derhuerst avatar May 22 '23 12:05 derhuerst