mecatran / gtfsvtor

GTFSVTOR - Fast GTFS validator
GNU General Public License v3.0
28 stars 4 forks source link

Feature request: Appendable violations summary report #49

Closed hbruch closed 4 years ago

hbruch commented 4 years ago

On https://gtfs.mfdz.de/ we list all open German GTFS data feeds with their license and most recent validation results.

For each dataset, I'd like to keep stats of features and violations per category (and probably severity) for every new version, so we could track and display their evolution, e.g. using D3.

I could imagine to use a JSON file, which is read on start and rewritten with the stats of the last run appended.

@laurentg Do you already have plans for a JSON Summary Report or a strategy how to supply and configure multiple ReportFormatters?

laurentg commented 4 years ago

@hbruch Json export capability is indeed projected and in the roadmap, and would be a nice feature to have. But before implementing anything, we need to make sure we align with any format MobilityData Gtfsvalidator is using / planning to use.

laurentg commented 4 years ago

@hbruch I just realized your comment was on a summary report, not a full report. I think there are some requests on MobilityData side for having a full JSON report more or less standardized (with error codes and such), but nothing AFAIK for a summary report. Feel free to work on an implementation. Does the summary JSON format you need is fixed or it can be adapted later on?

Also the current GtfsVtor "library" class design is rather crude, and may lack adaptability on how we configure / handle outputs. I think we may want to remove output generation from the validate() method. Do you need some refactoring if you'd like to work on this?

laurentg commented 4 years ago

@hbruch Also do you have/prefer a good JSON library? I often use Jackson v2, but I did not refreshed myself on this for a rather long period.

laurentg commented 4 years ago

Added two new parameters:

@hbruch Please be aware that the JSON output format is not fixed in stone yet and may change in the future. Do not hesitate to comment regarding the original requirements.