Skip to main content

Downloads your submissions in bulk from the DMOJ website and any compatible forks.

Project description

submission-downloader

submission-downloader downloads your submissions in bulk from the DMOJ website and compatible forks. There are a variety of options you can use to select what programs you want to download. This complements dmoj-submission-downloader, which downloads all the submissions for a problem. Here is an example of submissions that have been downloaded.

Getting Started

Installing and Running

This program can be installed in two different ways. You can install it directly with pip (recommended), or clone the repository and run the code yourself. Either way, you will need Python 3.8 or higher to run the code.

With Pip

$ pip3 install submission_downloader
$ python3 -m submission_downloader

Manually

$ git clone https://github.com/ComputerGenius152/submission-downloader.git
$ cd submission-downloader
$ pip3 install -r requirements.txt
$ python3 submission_downloader.py

Usage

usage: submission_downloader.py [-h] [--aconly] [--best] [--fast] [--overwrite] apitoken username judge

Downloads online judge submissions from DMOJ.

positional arguments:
  apitoken         Your API token, can be retrived from your DMOJ profile
  username         Your username, can be retrived from your DMOJ profile
  judge            URL for the judge you are trying to download from, must support the DMOJ v2 API (https://dmoj.ca/api/#v2)

optional arguments:
  -h, --help       show this help message and exit
  --aconly, -a     Only download submissions if they earn points, recommended
  --best, -b       Only download the best submission for each problem and programming language, recommended
  --fast, -f       Ignore the DMOJ API ratelimit, not recommended
  --overwrite, -o  Overwrite existing downloaded submissions, recommended

Contributing

PRs and forks are welcome. Please open an issue if you notice any bugs.

Licence

This project is licensed under the GNU General Public License v3.0. For more information, refer to LICENSE.md.

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

submission_downloader-1.2.1.tar.gz (16.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

submission_downloader-1.2.1-py3-none-any.whl (16.9 kB view details)

Uploaded Python 3

File details

Details for the file submission_downloader-1.2.1.tar.gz.

File metadata

  • Download URL: submission_downloader-1.2.1.tar.gz
  • Upload date:
  • Size: 16.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.5.0.1 requests/2.20.0 requests-toolbelt/0.9.1 tqdm/4.50.2 CPython/3.8.5

File hashes

Hashes for submission_downloader-1.2.1.tar.gz
Algorithm Hash digest
SHA256 e7559e03b2cf4d841de1a4e7451d2ec19b208c0c6c890b8b560f6f52db03f998
MD5 f354d3a88b2447aa15d6fe971b525efd
BLAKE2b-256 fc8ec21bffaa0a4ce3f1e87e8e0ed4e10cd5d5a7ecefb362968410fc57501022

See more details on using hashes here.

File details

Details for the file submission_downloader-1.2.1-py3-none-any.whl.

File metadata

  • Download URL: submission_downloader-1.2.1-py3-none-any.whl
  • Upload date:
  • Size: 16.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.5.0.1 requests/2.20.0 requests-toolbelt/0.9.1 tqdm/4.50.2 CPython/3.8.5

File hashes

Hashes for submission_downloader-1.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 07fe27927d8eea3bb4b118a8a9e7753534dbaf909deab338be52963d47081df1
MD5 63a387a3a2f4c5d685b42142884e2902
BLAKE2b-256 4259633a2f3ea13ec3e6c102179072053f4e8e47626eff621ace0ffc898e584a

See more details on using hashes here.

Supported by

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