把观影数字化和自动化做到极致。 —— 风古一

先奉上部分效果动图,图片比较大,可能需要点加载时间 😀

效果一览

在解决「电影短评自动化」(请阅读 稍后电影短评 系列三篇)之后,我急需解决自己的另一个自动化需求:一键电影 workflow。一键电影具体指什么?我们先来看看作为一个影迷,你都会遇到哪些痛点。

「复杂」的观影行为

如果把看电影这件事视为一个任务的话,可分为三个阶段:观影前、观影中和观影后。「观影中」是我们无法控制的,你不仅需要肉身出击,还需要定点到场,否则就泡汤,但「观影前」和「观影后」则不一样,它完全在你的掌控之下,但却非常容易失控:

  1. 很容易就错过一场好电影
  2. 没有错过好电影,却错过了好场次和好座位
  3. 票都买好了,却没来得及赶到场
  4. 电影看完就忘,看完就算,啥都不剩
  5. 每天刷大量电影资讯,却做不到电影数字化沉淀

「一键电影 workflow」要解决的就是上面这些问题,通过合理的提醒和数据格式化就可以解决大部分痛点,但不可能做到完美,只能做到更好。

请输入图片标题

「简单」的电影需求

对我来说,我需要「一键」就能自动解决这些痛点的方案,真正友好且强大的电影 workflow 应该满足以下条件:

  1. 优先解析输入数据和粘贴板,在需要的时候才弹窗提示输入电影名
  2. 自动解析输入数据或粘贴板里的文本,提取出所有的电影标题进行循环搜索
  3. 实现 While 循环,在搜索到电影之前动作不会结束
  4. 自动解析主流电影网站链接(豆瓣电影、时光网、IMDb),统一通过豆瓣 API 获取到对应的电影信息
  5. 获取到主流电影网站评分(豆瓣电影、IMDb、烂番茄)
  6. 优先下载高清原版大图,其次才是豆瓣渣图
  7. 如果是已上映电影,则提示是否添加到 Day One 里生成电影日记
  8. 如果是未上映电影,则提示是否添加到 Todoist 里设置买票提醒
  9. 添加到 Day One 和 Todoist 里的电影条目不能重复
  10. 通过 Wallet 里的电影票信息或取票短信自动生成 Todoist 观影提醒
  11. 根据电影上映时间和交通时间计算出观影提醒时间
  12. 以上所有要求,尽量只在一个动作内完成

「一键电影 workflow」做到了,但因为涉及的逻辑比较复杂,本篇不打算深入讲解,只想写成图文并茂的使用说明文。😀
(下图从左到右分别是:观影提醒、Day One 影记、购票提醒)

请输入图片标题

一键电影 workflow

先确保你 iPhone 上已经装有以下 Apps



一点声明

「一键电影 workflow」版权为 @风古一 所有,是我为自己量身打造的,适合有「观影数字化和自动化」需求的人。如有改造和传播需求,请记得标明出处。

两个入口

「一键电影 workflow」目前为 1.1 版本,由 13 个模块组成,共 2 个入口:

  1. One Click Movie 是主入口,一键查询电影和添加购票/影记提醒。没有使用场景和输入方式限制,不管是浏览器、RSS客户端、电影客户端还是文本文字,只要能够「分享」,就可以被解析。下图分别是从 Reeder、Safari 和 IMDb 客户端「分享」激活动作。
    请输入图片标题
  2. Movie to Calendar 是电影票入口,购票后根据票务信息自动计算交通时间并设置观影提醒。限制从 Wallet 电影票或取票短信进入。
    请输入图片标题

三大创新

  1. 大规模使用模块化构建,实现 While 循环
  2. 使用变量覆盖的方式更优地解决「选择菜单」问题
  3. 通过「黑名单」方式保证添加过的电影条目的唯一性

在 Workflow 不支持模块化之前,要实现「一键电影 workflow」,是不敢想象的,光是调试,就足以让人崩溃。

请输入图片标题

模块下载

  1. One Click Movie - 主入口
  2. Movie to Calendar - 电影票入口
  3. Extract Movie Id
  4. Extract Movie Name
  5. Search Douban Movie
  6. Distribute Movie
  7. Movie to Todoist
  8. Other Movie to Todoist
  9. Movie to DayOne
  10. Grab Movie Images
  11. Fetch Douban Movie
  12. Fetch Mtime Movie
  13. Fetch IMDb Movie
  14. 🎨🥚 - 彩蛋(记得运行看看噢,有意外惊喜 😉)

模块下载完后,请认真查看底下的配置说明,不然就算安装好了,动作也不会运行成功。

配置说明

必选列表必须要按自己的情况配置,否则动作不能正常运行;可选列表不影响动作的正常运行。

必选列表

全局配置

请输入图片标题

请在 iCloud Drive/Workflow 文件夹里创建以下 4 个文件。Mac 上可以直接创建,iOS 上需要通过「发送到 iCloud Drive」的方式创建:

  1. Movie Calendar List.md 👉 链接
  2. Movie Diary List.md 👉 链接
  3. Movie Ticket List.md 👉 链接
  4. Movie Unavailable List.md 👉 链接
Movie to Calendar 模块

请输入图片标题

  1. 上海地区的需要更改影院名称前的城市名。
  2. 设置自己的出发地点,默认为当前定位点。

可选列表

Movie to DayOne 模块
  1. Journal(默认不配置)和 Tags(默认 movie,cinema
Movie to Todoist 模块
  1. 买票提醒时间,默认提前 7 天
  2. Project(默认 Inbox)和 Priority(默认 3)
Other Movie to Todoist 模块
  1. Project(默认 Inbox)和 Priority(默认 4)
Grab Movie Images 模块
  1. 如果你不在意运行速度,可以把图片质量从 w1280 改为 original

补充说明

  1. 非常感谢 @JailbreakHum 的建议,用 Todoist 替代 2Do 后整个动作变得更加流畅了~
  2. 「一键电影 workflow」 1.1 版本暂不支持 IMDb 和烂番茄评分是考虑到运行速度,因为会增加额外的请求开销。请期待下一个版本,除了完善评分外,还会在模块组织上有大的优化。😏
  3. Movie to Calendar 目前只支持淘票票、娱票儿和格瓦拉三大购票平台。
  4. 整个 workflow 最耗时的是电影海报下载,针对 tmdb.org 配置 Surge 代理可能会变快。
  5. 由于测试样本的有限性,如果有任何问题,请先关注,再向我提问,谢谢。

写在最后

如果你喜欢「一键电影 workflow」,请记得关注我的 即刻主题微博 哦。🙂

27
17