#api #caffeine #codeforces #cli-tool #command #user #accessing

应用 caffeine-cf

用于轻松访问Codeforces API的CLI工具

2个版本

0.1.3 2021年3月22日
0.1.2 2021年3月14日

#485 in 身份验证

MIT许可证

70KB
1.5K SLoC

咖啡因

caffeine logo

咖啡因是一个CLI工具,允许您从终端或自定义脚本中轻松与Codeforces API交互。

用法

caffeine [FLAGS] [OPTIONS] [SUBCOMMAND]

可以使用 caffeine --help 列出选项。

安装

使用 cargo 包管理器

cargo install caffeine-cf

手动编译

要手动编译,首先克隆此仓库。

git clone https://github.com/thud/caffeine

然后,您可以使用 cargo run 来构建和运行。例如

cargo r -- user info thud

描述

此实用程序使用 codeforces-api crate 允许您从命令行或自定义脚本中与 Codeforces API 交互。

功能

  • 完全访问Codeforces平台提供的每个API方法。
  • 下载任何给定问题的测试用例。
  • 将解决方案提交给任何给定问题,可以是文件或 stdin
  • 在配置文件中存储默认设置。
  • 在文件中存储登录详情,以便更容易使用。

身份验证

截至当前版本的 codeforces-api crate,每次请求都需要API密钥和密钥。生成这些信息的说明可以在 此处(在授权部分)找到。要向 caffeine 提供您的密钥/密钥,您需要运行 caffeine login 或通过使用 --key/-k--secret/-s 标志(参见 caffeine help)将它们作为参数提供。建议您使用 cargo login 而不是CLI标志,因为您的密钥和密钥可能会出现在您的shell命令历史中。

提交解决方案

解决方案是通过使用 headless_chrome 包来提交的。这需要您安装一个基于 Chromium 的浏览器才能正常工作。如果您的浏览器没有被 headless_chrome 自动检测到,那么在运行之前,您应该尝试设置 CHROME 环境变量。例如,对于 Brave 浏览器,您可能需要运行 export CHROME=/usr/bin/brave

提交解决方案还需要您提供用户名和密码。您可以使用 caffeine login 或更明确地使用 --handle/-H--password/-p 标志来提供这些信息。

示例

有关 caffeine 的示例用例,请参阅 cpsetup(主要符合 POSIX 规范)shell 脚本。它提供了一个全面的示例,说明如何使用 caffeine 在脚本中提供大量有用的功能。

文档 | | 许可证

依赖关系

~18–34MB
~574K SLoC