This tool (a.k.a upt
) helps to fetch sample tests from online judges.
It can be useful to speedup testing codes before final submit.
You can install upt
from pypi using this command:
$ pip install universal-parser-tool
You should be able to run upt
after install.
To login services and use parsers on private webpages, you need to install a supported browser and its driver.
Browser | Driver | Supported | Tested |
---|---|---|---|
Firefox | https://github.com/mozilla/geckodriver/releases | ✅ | ✅ |
Chromium/Chrome | https://sites.google.com/a/chromium.org/chromedriver/downloads | ✅ | ✅ |
Edge | https://developer.microsoft.com/en-us/microsoft-edge/tools/webdriver/ | ✅ | ❌ |
Safari | Built-in | ✅ | ❌ |
Opera | https://github.com/operasoftware/operachromiumdriver/releases | ❌ | ❌ |
IE | https://selenium-release.storage.googleapis.com/index.html | ❌ | ❌ |
All configurations stored at ~/.config/upt
, including upt.conf
(general configs) and cookie.jar
(login cookies).
After installing, You may run upt init
to initialize config options.
You can check current version by running upt -v
. Upgrade to newer version by this command.
$ pip install -U universal-parser-tool
At this time, these judges have built-in support.
NOTE: You need to login a service if you want to use it during contest.
It is possible to develop and publish your own plugins of upt
.
In this context, plugins are python modules, and their name starts with upt-
.
Several built-in parsers are included in upt-builtin
.
The plugin must provide a register
function, returning a list of classes (inherited from BaseParser
).
After installing the module, upt
automatically finds the plugin and calls register
.
There is a documented example of a parser here.
upt-builtin
is another example that's been tested.
If you have written a good plugin for upt
and have published it on PyPI, notify me so I can add it here.