#canvas #cli-tool #assignment #ics #off #copy #format

app calsync

命令行工具,用于将作业从 Canvas 复制到 ICS 格式

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