用Apple Watch不能看课程表?把课程表导入日历里!

来源:互联网 发布:淘宝怎么看卖家的评价 编辑:程序博客网 时间:2024/06/10 00:19

前言

  先上效果图:

watch.png

watch2.png

  一直苦于每次要看课表的时候,先得掏出手机,然后亮屏,手指滑动几下才能看到自己的课程信息,想到了如果可以把课表信息导入Apple Watch的话就可以很方便了,可是又没有可以用的APP,于是想到了日历。

  搜索了一番后发现了这篇博客:又到了每年此刻,教你把课程表导入日历

  遂转载,并附上一点自己操作过程中遇到的问题以及解决。

以下为转载内容

  今天学校公布了我们下学期的课程表。唉,没想到大三的课程表居然比大二还多!好吧,我也只能乖乖地把课程表整理下,一起导入到日历里。

  其实 App Store 里课程表的应用并不少,各个学校也可能有自己的教务系统爬下来做出来的课程助手,所以管理课程这件事并不是难事。但是谁叫我生来(才怪)就是不喜欢这样一些乱七八糟功能堆积的 App,反而享受做出符合自己需求的玩意儿。所以别企图用 XX 课程助手这样的应用来搞定我。

将课程表导入到日历管理的好处十分明显:

  ●统一管理。将课程和其他安排统一管理,方便安排和查看
  ●节省空间。在 Widget 里只需要留一个日历插件,就能一目了然
  ●足够装X。嗯……是的。

效果.jpg

  于是我写了一个将课程导入日历的 Python 脚本,这个脚本是我一年前写的,一直想分享但是一直找不到点拿出来分享,今天心情好(才怪),觉得是时候分享了~下面是使用说明。

脚本概要

【Demo下载】
程序总共由两个脚本完成,最后将 ICS 导入日历即可。步骤概要:
 1. 使用 excelReader.py 将保存的 classInfo Excel 表格导出容易解析的 conf_classInfo.json

 2. 使用 main.py 将配置好的 conf_classTime.json 和生成的 conf_classInfo.json 生成一个 class.ics

 3. 将 class.ics 导入手机或者电脑

 4. 搞定!

环境要求

Python 2.7+

执行详解

1、配置 classInfo Excel 表格

在工作目录下创建一个 classInfo Excel 表格,表格表头有如下参数:

className:课程名称startWeek:起始周endWeek:结束周weekday:星期classTime:第几节。这个参数要配合 conf_classTime.json 文件,下文会讲。classroom:教室

2、配置 conf_classTime.json

来吧,照猫画虎:

{  "classTime": [    {        "name":"第 1、2 节",        "startTime":"0830",        "endTime":"1005"    },    {        "name":"第 3、4 节",        "startTime":"1025",        "endTime":"1200"    },    {        "name":"第 5、6、7 节",        "startTime":"1350",        "endTime":"1615"    },    {        "name":"第 8、9 节",        "startTime":"1630",        "endTime":"1800"    },    {        "name":"第 10、11、12 节",        "startTime":"1830",        "endTime":"2100"    }  ]}

3、运行 excelReader.py 脚本

终端运行:
python excelReader.py

excelReader.png

 如果 classInfo 表格是按照 Demo 的样式保存的,输入 0 继续即可。如果不是……你改回来就可以。(一个小脚本而已,懒得做那么多容错啦~)
  完成后生成一个conf_classInfo.json 配置文件

4、运行 main.py 脚本

终端运行:
python main.py
main.png
  回车后,需要输入两个参数:第一周的星期一日期、提醒时间。

  提醒时间就是在 iOS、Mac 上创建日历时所使用的设置,不知道这样的设置在 Android 和 Windows 是否生效。待测。

  完成后在工作目录下会生成一个 class.ics 文件

5、导入手机或者电脑

  如果你是 Mac + iOS, 恭喜你,直接点开 class.ics 就可以导入 Mac, 然后等待 iCloud 同步就可以。

  如果想单独导入 iOS,可以用邮件将 ics 发送到你的 iOS 可以收到的邮箱里,在邮箱内打开就可以。

  Android 和 Windows 的导入方法我没试过,不过我觉得应该和 iOS、Mac 差不多的。

日历.png

以上为转载内容

遇到的一些问题

  在macOS High Sierra下执行excelReader.py脚本的时候遇到找不到头文件的情况,在Ubuntu虚拟机里试了也出现同样的情况,说明应该不是特例。

error.png

  对Python一窍不通的我谷歌了一下xlrd这个库,查询了一下安装方法。

  因为不想在Mac里装一些其它奇怪的东西,所有下面的操作均在Ubuntu下进行,Mac是一样的。

先安装pip,看一下本地环境的Python版本是多少,Python 3的话就装pip3Python 2的话就直接装pip。执行python查看Python版本,可以看到我的版本是2.7.12,装pip
version.png

安装pip:sudo apt install python-pip
installpip.png

安装xlrd库:pip install xlrd
installxlrd.png

写在最后

  至此就完成了所有的操作,然后再回到教程里执行常规操作就好啦,附上几张我自己的成果图:D

Apple Watch上的效果:

watch.png

watch2.png

电脑上看的效果:

Mac日历

手机上一般用超级课程表的Widget:

phone

稍作修改

  这篇博客里的课程显示方式对于Apple Watch来说不是很友好(太长了显示不下),又因为Apple Watch自带显示时间,所以我把对于第几节课的显示给去掉了。

  原来是:离散数学|第1、2节|南堂317,被我修改为:离散数学@南堂317

附上链接:http://pan.baidu.com/s/1miMfatE 密码:jmyj

原创粉丝点击