用于竞争性编程的命令行工具
项目描述
酷套件
CoolKit是Coding + 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自动检测你的文件
contest和problem目录的命名。 - 为此,您需要重新定义
get_contest_name和get_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.txt并Output.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
比赛演示
类似工具
笔记
- Coolkit 足够聪明,可以检测目录是否是coolkit repo。如果不是,它会自动将目录初始化为coolkit目录。我仍然提供了
init选项。它的主要目的是在另一个coolkit 目录中初始化一个coolkit 目录。默认情况下,它会复制一次父配置,您可以稍后更改。 - Coolkit 足够聪明,可以从您的文件名中检测您的程序名称。
get_problem_name在global_config.py文件中查看。您可以建议对该功能的改进。 - Coolkit 足够聪明,可以从您的目录名称中检测出您的比赛名称。
get_contest_name在global_config.py文件中查看。您可以建议对该功能的改进。 - 要建议我改进,您可以打开一个问题、进行 PR、给我发邮件或通过下面提供的链接与我联系。我正在努力为用户提供一种灵活的方式来修改他们自己的检测方式。
- 如果有任何错误/问题,请向srbcheema2@gmail.com报告。或者,更好的是,提交 PR 来修复它!
联系方式/社交媒体
由开发
开发者/作者:Srb Cheema