#advent #helper #tool #cli-tool #code #cli #cookies

aoCF

Advent of Code 的 crate 和 CLI 辅助工具

19 个版本

0.1.21 2022年12月19日
0.1.20 2022年12月19日
0.1.18 2021年12月11日
0.1.15 2021年11月21日
0.1.1 2020年1月12日

#1107命令行工具

每月30 次下载
用于 aocf_cli

ISC 和可能 GPL-3.0+

2MB
448

aoCF - Advent of Code 获取

build test clippy macOS windows coveralls crates.io crates.io

一个用于 Advent of Code 的 CLI 工具(也是 crate)。

demo

使用 Rust 编写,但 CLI 应该对任何语言的开发都有用。

要在 Rust 中直接使用,可以使用 crate,如下所示,获取任务的输入数据作为字符串

use aocf::Aoc;

fn main() {
    let mut aoc = Aoc::new()
        .year(Some(2020))
        .day(Some(1))
        .init()
        .unwrap();

    // Get input data (don't force)
    let input = aoc.get_input(false);

    if let Ok(i) = input {
        println!("{}", i);
    }
}

Aoc 结构的文档可以在 这里 找到。

下载的数据以 JSON 缓存,每次初始化 Aoc 时查询,以避免不必要的请求。

CLI 的工作流程类似于 Git,例如

$ aocf init
$ aocf get-cookie # get cookie from firefox cookie store
$ aocf set-cookie <your-cookie-text>
$ aocf checkout 1 2019
$ aocf checkout --now
$ aocf fetch
$ aocf brief --pretty
$ aocf input
$ aocf status
$ aocf submit <answer>

更多详细信息可以在 CLI 的 readme 中找到。

即使您不打算用 Rust 解决问题,也可以使用 CLI,CLI 和 crate 也可以自由组合使用,因此如果 CLI 创建了根配置,crate 将找到并使用它,否则将缓存数据存储在当前目录中。

如何获取您的会话 cookie。这可以通过使用 Firefox 登录 AoC,然后 CLI 自动提取身份验证令牌来完成。

安装

安装 Rust

安装 aoCF

  • cargo安装 aocf_cli.
  • cargo install --path . 从克隆的仓库内部。
  • cargo deb --install 从克隆的仓库内部。

依赖关系

依赖于 openssl 的开发包,sqlite 依赖项已捆绑。

依赖关系

~7–24MB
~388K SLoC