RagnarGrootKoerkamp / BAPCtools

Tools for developing ICPC-style programming contest problems.
GNU General Public License v3.0
48 stars 18 forks source link

Add --solve-stats-expected for `bt solutions` #375

Open vmcj opened 2 months ago

vmcj commented 2 months ago

I always need to check earlier conversations on how to run the solution for my site. I think the --solve-stats-expected should check that \solvestats is set in the solution.tex and check that the stats are downloaded from the CCS.

Alternative would be to just download those and to the grep.

mpsijm commented 2 months ago

I guess that those two can be combined? For example, we could add a flag bt solutions --with-solve-stats, which would internally do two things on top of the regular bt solutions:

One question remains then: the solution slides are also compiled as part of the bt zip command. I don't think it's worth it to add the --with-solve-stats flag there as well?

vmcj commented 2 months ago

I guess that those two can be combined? For example, we could add a flag bt solutions --with-solve-stats, which would internally do two things on top of the regular bt solutions:

* Also execute `bt solve_stats` to download the solve stats

* Check whether each `solution.<lang>.tex` contains a `\solvestats`

One question remains then: the solution slides are also compiled as part of the bt zip command. I don't think it's worth it to add the --with-solve-stats flag there as well?

Yes, combining is better but assumed there was a specific choice to not bundle those. I don't think the bt zip needs this as running this after your contest would give information not relevant for the archive.

Question is if bt zip can do --order-from-ccs, if it can I would just copy the behaviour there to remove the discussion for consistency.

mpsijm commented 2 months ago

assumed there was a specific choice to not bundle those.

Well, during problem development, we typically don't want to fetch solve stats :stuck_out_tongue: So yes, I think it's good if this is a separate command. We could even let --with-solve-stats imply --order-from-ccs, because that's typically what you want (and if not, it's always possible to set a manual --order).

running this after your contest would give information not relevant for the archive.

I typically do compile the post-contest archive with the solve_stats/ directory present in the contest directory, for completeness. It doesn't matter too much though, because the solutions are typically served separately on the website, after the contest has concluded, so few people will actually open the slides from the archive :stuck_out_tongue:

Question is if bt zip can do --order-from-ccs

No, bt zip does not know about this flag. For consistency, let's not add the --with-solve-stats flag either.