UVACommandLine
is an interactive command line utility to submit solutions to the UVA online judge, it also allows to check submissions and other statistics.
UVACommandLine
offers the following features:
- Command line submission
- Remembers your account (username, id, password)
- Check history of submissions
- Fastest submission (non-interactive mode)
- Implemented in Python using a virtual env, so it's portable
- Python 2.7 +
- virualenv
pip install virtualenv
- Install Python if you haven't.
- Download this file and run in the downloads folder the following command:
python get-pip.py
- Download the client
git clone https://github.com/teamreactive/UVACommandLine
- Activate the virtualenviroment
source UVACommandLine/UVACommandLine/bin/activate
- Run the client:
cd UVACommandLine/UVACommandLine/src && python uva.py
- Submit your solutions, view your statistics
Soon: Installation via PIP: pip install UVACommandLine
When you run python uva.py
in the current virtuel enviroment, and you are not logged, you get a prompt to enter your account tuple (username, password)
Once you are logged, you can type:
Syntax: help
Prints the menu
Syntax: whoami
Prints the user information
Syntax: msubs [itms]
Prints the list of latest submissions by the user, the list should contains itms files. If itms is omitted, the systems asks for the items that you want to include.
Syntax: submit
Opens a dialog asking for the language, the problem, and the filename. It submit the solution iff UVA is available.
quit
Saves all settings including account info and exits the program.
If you have use the system at least once, you an use it in non-interactive mode:
- Help:
python uva.py -h
- Five last submissions:
python uva.py -sb
- A number of submissions:
python uva.py -sb {number}
- Use a queue of submissions whenever UVA is down
- Get statistics of problem
- Allow to edit a source in the program (Calling an editor, vim, emacs, sublime, atom, ...)
- Autodetect solution's file
- Be able to run it without using
python uva.py
, justuva
- Detect files in the current folder
- Allow to read a problem from the command line
- Allow to open a problem in the web-browser
- Background submission
- Progress bar
- Data encryption
- Improve non-interactive mode
- Improve performance
- Muli-user enviroment (shared resources)
- Switch user account
- Sets a user account as current
- List all users
- Non-interactive mode submission
- Log in only once instead of logging in on every send
- Auto-retry submitting the solution (when UVA is down)
- Connects to UVAtoolkit
- Improve security
- UVA website
- uHunt API
- Python
- Universidad de los Andes
- CCPL (Colombian Collegiate Programming League)
The initial prototype of UVACommandLine
was pair programmed by Sebastian Valencia and [Juan Camilo Bages] (https://github.com/jcbages).
None