Skip to main content

A command line interface to the Auburn ACM website

Project description

# auacm-cli

A command line interface to the Auburn ACM web app (auacm.com)

## Installation

### From pip

Run pip install auacm

### Build from source

Clone this repository

git clone https://github.com/brandonlmorris/auacm-cli

Then in the top-level directroy, run

python3 setup.py install

This will install all the code and create the auacm shell command.

## Usage

auacm-cli installs itself as a shell script. In the terminal, run $ auacm to display the help.

All of the features of auacm-cli are written as subcommands to the main auacm script. To log in, run

$ auacm login

You will be prompted for your name and password. Your session will be saved, so you don’t need to authenticate with every run of the script. Subcommands logout and whoami exist to destroy the current session and print data about the current user respectively.

### Problems

To view all the problems on the server, run

$ auacm problem

(Protip: pipe the result into less for your reading pleasure: $ auacm problem | less)

To search for a problem, simply add the query after problem (multi-word queries must be enclosed in quotes):

$ auacm problem “cash cow”

Adding a -v flag will increase the verbosity of the results, providing the problem id, shortname, difficult, etc.

To get more detailed information on a specific problem, including the description, input/output, and sample cases, run the subcommand problem-info with the problem name or id.

$ auacm problem-info parity

Note: Searching by problem name is done by case-insensitive substrings. If you search “cow” but another problem contains “cow” and comes first alphabetically, that other problem will be used.

### Submission

You can also submit solutions to problems using auacm*. To do so, simply run the submit subcommand, followed by the problem name and the solution file:

$ auacm submit “cash cow” solution.py

Note that if you’re submitting a Python solution, you can use the -p flag to indicate the version of Python. The default is Python 3.

$ auacm submit parity parity.py -p 2

After you submit, auacm will query your submission to obtain the results.

*At the time of this writing, the production server (auacm.com) does not support querying a submission’s result. Until the server is updated, the submit subcommand will result in an error, even though the solution file properly submits. Complain to @WilliamHester if you find this annoying.

## Bugs? Improvements? Funny jokes?

Send them to me at brandon dot morris95 at gmail dot com, or leave a comment on this repo. Contributions are warmly welcomed.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

auacm-0.2.tar.gz (6.4 kB view hashes)

Uploaded Source

Built Distribution

auacm-0.2-py3-none-any.whl (10.3 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page