Skip to main content

用于竞争性编程的命令行工具

项目描述

酷套件

欢迎投稿 srbcheema1 生产 构建状态 开源之爱 命中计数

CoolKitCoding + ToolKit一个用于自动化您的编程体验的命令行工具。

安装

使用 pip 安装

  • 使用pip安装,用户--userflag
sudo python3 -m pip install coolkit

从源代码构建

  • 克隆存储库并签出到稳定提交
git clone https://github.com/srbcheema1/CoolKit
cd CoolKit
git checkout <latest_version say: v0.0.x>
  • 安装要求
python3 -m pip install --user -r requirements.txt
  • 安装 CoolKit
python3 setup.py install --user

验证安装

  • 检查工作
coolkit --help
  • 如果它显示帮助消息,您就可以开始了。

故障排除

  • 如果coolkit -h不起作用,请确保二进制路径位于 PATH 中。export PATH=$PATH:"~/.local/bin"在您的~/.bashrcor中添加行~/.zshrc

  • bash 用户运行这些命令

echo export PATH="$PATH":"~/.local/bin" >> ~/.bashrc
source ~/.bashrc
  • zsh 用户运行这些命令
echo export PATH="$PATH":"~/.local/bin" >> ~/.zshrc
source ~/.zshrc

让它更聪明

  • 强烈建议使用此功能来充分利用coolkit的潜力
  • 你可以让你的coolkit自动检测你的文件contestproblem目录的命名。
  • 为此,您需要重新定义get_contest_nameget_problem_namein ~/.config/coolkit/global_config.py
  • 您可以通过取消注释这些行来定义自己的函数或使用预构建函数:
# return srb_contest_name(folder)
# return srb_problem_name(file_name)
  • 请随时联系我,根据您的命名法为您srbcheema2@gmail.com制作文件。global_config.py

用法

srb@srb-pc:$ coolkit --help
usage: Coolkit [-h] [-v] {init,set,run,submit,fetch,config,view} ...

positional arguments:
  {init,set,run,submit,fetch,config,view}

optional arguments:
  -h, --help            show this help message and exit
  -v, --version         display version number
suboptions are:
    init        initilize a directory as coolkit directory
    set         set value of coolkit variables.
    config      set config values like username, password.
    fetch       fetch a contest to use it for offline testing.
    run         run a code file against provided testcases
    submit      submit a code to online judge. and output the verdict.
    view        view a user, contest, problem, friends-standings or upcoming contest
For more help regarding suboptions run:

coolkit init -h
coolkit set -h
coolkit config -h
coolkit fetch -h
coolkit run -h
coolkit submit -h
coolkit view -h

支持的网站

  • 代码部队

例子

在里面

初始化一个空的存储库

srb@srb-pc:$ coolkit init

为竞赛、概率、站点、竞赛类型设置coolkit变量的值

srb@srb-pc:$ coolkit set -c 535
srb@srb-pc:$ coolkit set -p A
srb@srb-pc:$ coolkit set -t gym

配置

设置全局配置变量的值,如用户名、密码

srb@srb-pc:$ coolkit config --user srbcheema1
srb@srb-pc:$ coolkit config --pswd I_wont_write_it_here_xD

拿来

获取比赛,如果您站在一个coolkit文件夹中,那么默认情况下它将获取该文件夹中配置的比赛,除非您提供使用-c选项。在coolkit repo之外,有必要使用提供比赛名称-c

srb@srb-pc:$ coolkit fetch
srb@srb-pc:$ coolkit fetch -c 1025

针对示例测试用例运行问题。您可以使用-p选项提供问题名称,如果您不提供问题名称,它将尝试使用指定的规则自动检测问题名称~/.config/coolkit/global_config.py您可以根据需要修改此文件。如果它无法检测到文件名,那么它将尝试记住您运行的最后一个问题并针对它运行测试用例。

srb@srb-pc:$ coolkit run one.cpp
Prob name not provided, trying to detect from filename
running one.cpp file for A prob on 837
srb@srb-pc:$ coolkit run soln.cpp
Prob name not provided, trying to detect from filename
Unable to detect prob name from file name

有一个很酷的新功能:您可以添加自己的自定义输入/输出以在运行命令期间针对二进制文件进行测试。只需将这些文件添加到您当前的工作目录Input.txtOutput.txt分别包含输入和输出。

提交

在在线法官上提交文件,并通过桌面通知向您展示报告。如果在本地示例测试用例上失败,它将不会提交文件。仍然如果你想提交一个文件使用-f标志

srb@srb-pc:$ coolkit submit one.cpp
srb@srb-pc:$ coolkit submit one.cpp -p A
srb@srb-pc:$ coolkit submit one.cpp -p A -f

看法

srb@srb-pc:$ coolkit view user srbcheema1
srb@srb-pc:$ coolkit view prob A
srb@srb-pc:$ coolkit view contest 535
srb@srb-pc:$ coolkit view upcoming
srb@srb-pc:$ coolkit view friends
srb@srb-pc:$ coolkit view standings

比赛演示

竞赛_示例_1

类似工具

  • 值得一提的是我一年左右使用的其他一些工具。我真的很喜欢这些工具,并且还在这个工具中使用了它们的一些模块/功能。这些工具是SpojPiAceditIdne

笔记

  • Coolkit 足够聪明,可以检测目录是否是coolkit repo。如果不是,它会自动将目录初始化为coolkit目录。我仍然提供了init选项。它的主要目的是在另一个coolkit 目录中初始化一个coolkit 目录。默认情况下,它会复制一次父配置,您可以稍后更改。
  • Coolkit 足够聪明,可以从您的文件名中检测您的程序名称。get_problem_nameglobal_config.py文件中查看。您可以建议对该功能的改进。
  • Coolkit 足够聪明,可以从您的目录名称中检测出您的比赛名称。get_contest_nameglobal_config.py文件中查看。您可以建议对该功能的改进。
  • 要建议我改进,您可以打开一个问题、进行 PR、给我发邮件或通过下面提供的链接与我联系。我正在努力为用户提供一种灵活的方式来修改他们自己的检测方式。
  • 如果有任何错误/问题,请向srbcheema2@gmail.com报告。或者,更好的是,提交 PR 来修复它!

联系方式/社交媒体

Github 领英 Facebook

由开发

开发者/作者:Srb Cheema

项目详情


下载文件

下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。

源分布

coolkit-0.0.9.tar.gz (27.2 kB 查看哈希

已上传 source