How to Submit
There are two ways of submitting your code: using the submit form or the submit client.
The Submit Form
If you are logged in, you have a link Submit to a submit form that you can use to upload code. The form supports submitting multiple files, to do this you simply select all the files you want to submit in the file chooser dialog.
The Submit Client
Using the submit client requires a bit more setup work, but once this is done it is much more convenient to use than the submit form.
Please note that the submit client is provided as-is and we cannot guarantee that it will work on your system. It is a simple program that automatically (using a configuration file) logs in to the web page and uses the submit page.
Downloading a configuration file and client
Before running the submission client, you need to download a configuration file. This file should be placed in your home directory, or in the same directory as submit.py, and be called .kattisrc. You also need to download the client. To run the client, you need python installed on your machine.
- Download your personal configuration file (must be logged in)
- Download submit client (for Python 2/3)
The submit client depends on Python (either 2 or 3) and the requests library. You have to install both to run the client.
Running the client
The easiest way to run the client is if you have named your source code to problemid.suffix, where suffix is something suitable for the language (e.g., .java for Java, .c for C, .cc or .cpp for C++, .py for Python, .cs for C#, .go for Go). Let's assume you're solving the problem Hello World (with problem id "hello") and that your java solution is in the file Hello.java. Then you can simply run submit.py with Hello.java as command-line argument, and the client will make the correct guesses. You will always be prompted before a submission is sent.
More advanced options
The submit client can handle multiple files in a submission. For such submissions, the filename and suffix of the first file listed on the command line is the basis of the guesses. It is ok to list a file multiple times, e.g. submit.py Hello.java *.java.
In case the client guesses wrong, you can correct it by specifying a command line option. Running submit.py -h will list all options. The options as of writing this page are:
- -p <problem_id> - overrides problem guess
- -m <mainclass> - overrides mainclass guess
- -l <language> - overrides language guess
- -f - forces submission (i.e. no prompt)