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