#cache

aoc-cache

A way of caching your input from the great and popular Advent of Code

5 releases

0.2.2 Dec 5, 2023
0.2.1 Dec 11, 2022
0.1.4 Dec 10, 2022

#134 in Caching

Unlicense

11KB
176 lines

aoc-cache

A way of caching your input from the great and popular Advent of Code.

This is an attempt to reduce server load for the creator.

Downloads using ureq, stores cache in temporary files using scratch.

Since we use scratch, a cargo clean will remove the cache and cause new downloads for new runs.

Example

use aoc_cache::get;
// my.cookie is a file containing the cookie string.
const MY_COOKIE: &str = include_str!("my.cookie");
let input: Result<String, aoc_cache::Error> = // Grabs from web if
    get(              // it's the first run
        "https://adventofcode.com/2022/day/1/input", MY_COOKIE);
let input: Result<String, aoc_cache::Error> = // Grabs from cache
    get(
        "https://adventofcode.com/2022/day/1/input", MY_COOKIE);

Warning If you use source control for your AoC solutions, take care to not check in any files that contain your cookie into source control!

Example .gitignore:

**/target/
my.cookie

Dependencies

~4.5–6MB
~122K SLoC