urionlinejudge-cli
v5.4.1
Published
The URIOnlineJudge command line utility.
Downloads
8
Readme
URI Online Judge - CLI
The URI Online Judge command line utility makes it easy to submit problems, wait for the solution and fetch new problems via command line!
What is a command line utility?
A command line utility is one to be used from a shell (or commonly known as a Terminal). It receives input from this shell, and reports its output in the same shell.
Installing
$ npm install -g urionlinejudge-cli
Note: For a global install of -g urionlinejudge-cli
, OSX/Linux users may need to prefix the command with sudo
or can setup proper file permissions on OSX for npm to install without sudo
.
Commands
submit <filepath> [number]
You can submit a problem solution to the URI Online Judge.
Options
| Option | Default | Description |
|--------|---------|-------------|
| --language [language]
| python
| Language used for submitting. Options: [c
, c++
, c#
, java
, python
, python3
, ruby
, scala
, js
, java8
, go
, c99
, kotlin
, c++17
]. |
Example
$ urionlinejudge submit ./1001.py
# or
$ urionlinejudge submit ./file.py 1001
# or
$ urionlinejudge submit ./file.cpp 1001 --language c++
fetch <number>
[Working in Progress]
You can fetch a problem description from the URI Online Judge and populate a template file with that description.
You have to add urionlinejudge::description
to your template.
Options
| Option | Default | Description |
|--------|---------|-------------|
| -t, --template [path]
| Use config.template
value | Template filepath. |
| -o, --output [path]
| Current folder | File output path. |
| -f, --force
| - | Overwrite existing files. |
Example
You create one template and add // urionlinejudge::description
at any place:
#include <iostream>
using namespace std;
// urionlinejudge::description
int main()
{
// work here
return 0;
}
Then you execute the fetch
command passing your template path:
# get template path from configs
$ urionlinejudge fetch -n 1001
# overwrite the template path
$ urionlinejudge fetch -n 1001 -t ../templates/template.cpp
# overwrite existing files
$ urionlinejudge fetch -n 1001 -t ../templates/template.cpp -f
# save file at ../solutions/folder
$ urionlinejudge fetch -n 1001 -t ../templates/template.cpp -o ../solutions/folder
Then the CLI will fetch the problem description and create this file for you:
#include <iostream>
using namespace std;
/*
* Title:
* Extremely Basic
*
* Timelimit: 1
*
* Description:
* Read 2 variables, named A and B and make the sum of these two variables,
* assigning its result to the variable X. Print X as shown below. Print
* endline after the result otherwise you will get “Presentation Error”.
*
* Input:
* The input file will contain 2 integer numbers.
*
* Output:
* Print X according to the following example, with a blank space before and
* after the equal signal.
*
*/
int main()
{
// work here
return 0;
}
reset
You can reset your information.
Example
$ urionlinejudge reset
What is the full path for the template? ../uri/template.cpp
What is your email? [email protected]
What is your password? *******
[*] Success:
[*] Email: [email protected]
[*] Template: /Users/user/git/uri/template.cpp
Developing and Contributing
We'd love to get contributions from you! For a quick guide to getting your system setup for developing take a look at our Quickstart Guide. Once you are up and running, take a look at the Contribution Documents to see how to get your changes merged in.
License
See LICENSE file.