Skip to main content

Simple python script converting polygon package to domjudge(kattis) package

Project description

Polygon2DOMjudge

Test GitHub release

中文

What is this

It is a simple python script converting polygon package to domjudge(kattis) package.

Install

pip install p2d

CLI Example

# Unzip your polygon-package to /path/to/polygon-package first
$ p2d --code A --color FF0000 -o /path/to/domjudge-package /path/to/polygon-package

Run this command to make a package from /path/to/polygon-package to /path/to/domjudge-package.zip and set probcode and color.

Config

In config.json, you can change some special checker's validator's flag or add some checker configs manually.

You can use --default to force use the default output validator, and add some flags by command line.

You can use --auto to use the default output validator if the checker is defined in config and can be replaced by the default one.

You can use --memory_limit to override the memory limit for domjudge package, default is using the memory limit defined in polygon package.

You can use --output_limit to override the output limit for domjudge package, default is using the default output limit in domjudge setting.

Environment Variable

Don't change them unless you know what you are doing.

  • CONFIG_PATH
  • TESTLIB_PATH
  • EXTENSION_FOR_DESC

API Example

import tempfile

from p2d import Polygon2DOMjudge

package_dir = '/path/to/polygon-package'
output_file = '/path/to/domjudge-package.zip'

with tempfile.TemporaryDirectory() as temp_dir:
    try:
        Polygon2DOMjudge(package_dir, temp_dir, output_file).process()
    except Exception as e:
        # do something
        pass

Development

# install
poetry install

# build
poetry build

# run unittest
poetry run pytest

# release
./release.sh ${your version}

Polygon2DOMjudge

Test GitHub release

这是什么

这是一个简单的将 polygon 题目包转换成 domjudge (kattis) 题目包的 python 脚本。

安装

pip install p2d -i https://pypi.tuna.tsinghua.edu.cn/simple/

命令行使用示例

# 首先把你的 polygon-package 解压到 /path/to/polygon-package 位置
$ ./bin/p2d --code A --color FF0000 -o /path/to/domjudge-package /path/to/polygon-package

运行此命令可以从 /path/to/polygon-package 处的转换题目包为 /path/to/domjudge-package.zip,并设置 probcodecolor 属性。

配置

config.json 文件中,你可以设置一些特殊的 checker 的输出校验器参数,并手动添加一些。

你可以在命令行中使用 --default 参数,并添加自定义的参数,来强制使用 DOMJudge 默认的输出校验器。

你可以在命令行中使用 --auto 参数来使用 DOMJudge 默认的输出校验器,如果 checker 在配置文件中被定义,则使用默认的输出校验器替代。

你可以在命令行中使用 --memory_limit 参数来覆盖 DOMJudge 题目包的内存限制,如果不设置,则使用 Polygon 题目包中的内存限制。

你可以在命令行中使用 --output_limit 参数来覆盖 DOMJudge 题目包的输出限制,如果不设置,则使用 DOMJudge 设置中默认的输出限制。

环境变量

某些时候可能会有用。但如果你不知道你在干啥,请不要随便修改。

  • CONFIG_PATH
  • TESTLIB_PATH
  • EXTENSION_FOR_DESC

API 使用示例

import tempfile

from p2d import Polygon2DOMjudge

package_dir = '/path/to/polygon-package'
output_file = '/path/to/domjudge-package.zip'

with tempfile.TemporaryDirectory() as temp_dir:
    try:
        Polygon2DOMjudge(package_dir, temp_dir, output_file).process()
    except Exception as e:
        # do something
        pass

开发

# install
poetry install

# build
poetry build

# run unittest
poetry run pytest

# release
./release.sh ${your version}

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

p2d-0.1.0.tar.gz (50.6 kB view details)

Uploaded Source

Built Distribution

p2d-0.1.0-py3-none-any.whl (51.4 kB view details)

Uploaded Python 3

File details

Details for the file p2d-0.1.0.tar.gz.

File metadata

  • Download URL: p2d-0.1.0.tar.gz
  • Upload date:
  • Size: 50.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.7

File hashes

Hashes for p2d-0.1.0.tar.gz
Algorithm Hash digest
SHA256 ac0e8302cdfa5c4c71d085b5b23050d96cb152087d80c189f6056968eb45b02c
MD5 3aa15699bc12d9fd5fafb7f24c99176b
BLAKE2b-256 633bc83c4880b7287889ae6c93140c0026a9186b0f0219f9c3728280d059da95

See more details on using hashes here.

File details

Details for the file p2d-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: p2d-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 51.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.7

File hashes

Hashes for p2d-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 9952832529961aece27d09c3911877441367eee79bfa933d8f9a201da8d337fb
MD5 8f1cbf61d3c8675f0de5b66124c10a75
BLAKE2b-256 6e6e378338e97e4e7d50e8ef446533add63a6bc3413e3d1140f6993558b4b4b1

See more details on using hashes here.

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