1 个不稳定版本
0.1.0 | 2021年2月3日 |
---|
#15 in #ics
28KB
124 行
calsync
免责声明:如果你给我你的 Canvas 令牌,我可以在你的 Canvas 账户上做一些非常恶劣的事情,请在运行之前自己审查此代码,否则我会很伤心
无论如何,它将使用 Canvas API 捕获作业并输出一个 ical 文件。为了使其工作,您需要在环境变量 CANVAS_TOKEN 中设置 canvas 令牌(可以在您的个人资料下的“已批准的集成”中生成)。如果您不想在环境变量中留下 canvas 访问令牌,它将加载您工作目录中的 .env 文件。
- 事件 UID 是事件名称 + 时间戳的 SHA256 哈希值 -- 这是为了防止在多次导入时出现重复
- 如果没有指定输出文件,它将写入 stdout
calsync 0.1.0
Teddy Heinen <[email protected]>
CLI tool to copy assignments off of canvas and into ICS format
USAGE:
calsync [OPTIONS]
FLAGS:
-h, --help Prints help information
-V, --version Prints version information
OPTIONS:
-c, --canvas-url <canvas-url> [default: https://canvas.instructure.com]
-o, --output <output>
安装此工具
cargo install calsync
我能用它做什么?
当单独使用时,用处不大。您可以定期手动导入 ICS 文件,从而节省一些手动输入作业的时间。但是,让我们来想想更大的事情 -- 如何将其设置为可以放在 cron 作业中并忘记它的东西?当然是通过与现有工具的组合!
calsync --canvas-url https://canvas.tamu.edu | gcalcli --nocache import --calendar="assignments"
注意:我使用的是 gcalcli 的分支,它在导入时保留 UID,因此不会导入重复项。我提交了一个 PR,希望这最终将成为默认行为。
依赖关系
~15–32MB
~461K SLoC