Skip to content

feat: import Goodlift results

Goodlift hosts a lot of the meet data for IPF, EPF and APF competitions and now provide a link to download this in a CSV format. This is relatively close to the OpenPowerlifting format already, so we can write some code to automatically convert from theirs to ours. This will make uploading Goodlift meets easier.

This is somewhat of a starting point for that. It works for most meets (such as European Men's Masters) but fails for some others due to inconsistency in the Goodlift CSVs at the moment. Resulting downloads only have name conflicts, although there may be other issues the code does not handle currently.

The example usage is:

cargo run --bin goodlift-import -- --cid 782

The approach is relatively simple. We use the ureq library to download the CSV file and produce original.csv before stripping the null characters. This can then be parsed using the serde definitions in the goodlift module, which is then mapped to the openpowerlifting version and written to meet.csv and entries.csv.

There is some inconsistency in the handling at the moment, where some types are shared with different serialization and deserialization code and others provide a to_openpowerlifting method and are only defined on the goodlift side.

This change:

  • Adds a crate that can convert Goodlift results into the OpenPowerlifting format

Merge request reports