natsukagami / kjudge

A simple system for hosting competitive programming contests.
GNU Affero General Public License v3.0
22 stars 11 forks source link

Import Polygon contest/tasks #106

Open minhnhatnoe opened 1 year ago

minhnhatnoe commented 1 year ago

Is your feature request related to a problem? Please describe. Most problems nowadays are created with the Polygon system (by Codeforces). While we can import it the "traditional" way, it requires all packages to be fully built. If we download an entire contest package, all problems are "standard" built, which means it only comes with scripts to generate tests.

Describe the solution you'd like I'd like to be able to import a polygon contest, complete with generated pdf statements.

To generate statements, we need Kjudge to be packaged with a TeX distribution. This can be packaged in a "full" Docker image.

To generate tests, the polygon scripts use wine32 (the 32-bit version, literally). We can rewrite these scripts or just use wine.

On frontend, this can be in spoiler, and calls a new API.

Additional context

https://github.com/Unknown15082 wishes to assign himself. I'll tell him to comment on this.

natsukagami commented 1 year ago

his can be packaged in a "full" Docker image.

To generate tests, the polygon scripts use wine32 (the 32-bit version, literally). We can rewrite these scripts or just use wine.

Let's create a different binary and package it in a different Docker image. I don't want to package a ~gb worth of TeX distribution into the kjudge image.