summivox / thucal2

Tsinghua University curriculum -> iCalendar format (.ics) -> Google Calendar, etc.
http://userscripts.org/scripts/show/159785
23 stars 9 forks source link

使用课程号作为.ics文件中的UID #25

Open chenxiaoqino opened 8 years ago

chenxiaoqino commented 8 years ago

当前课程导出后的UID带有随机数,导致导入时同一课程可能会被多次导入;选课不同阶段用户可能会多次更新课表、多次导入(例如补退选结束后一定会重新导入一次),如果能使用课程相关的UID,可避免同一课程重复导入。(至少Google Calendar不会重复…)

使用课程号作为UID的好处:上课地址更新或选了新的课,可以直接重新导出导入,不用担心未改变的课会重复。

另外,课程号后添加“星期-节次”可解决同一课程多个时间的情况;同一课程号改变上课时间的情况应该比较罕见。 课程号后若不添加“星期-节次”后缀,则若同学换了同一课的不同课堂(只更新了课序号),重新导入后可以自动更新旧的日历事件。可以讨论一下…

summivox commented 8 years ago

用"#{课程号}-#{课序号}"呗

另外你不能只测Google Calendar,至少还要测Android和iPhone

chenxiaoqino commented 8 years ago
  1. 想不加课序号是因为同一门课只能选一次,所以同学如果从A老师换到B老师,重新导入便可以直接抹掉原先A老师的日历事件而加上B老师的…
  2. 我找时间测测Android和OSX日历;之前全是往Google Calendar同步的就没注意。另外我也测测从Google Calendar导入后再从客户端导入,能不能自动去重。
summivox commented 8 years ago

然而你加上星期/节次之后替换规则就又变了

chenxiaoqino commented 8 years ago

所以考虑加不加星期啊。不加的话,要怎么放一节课两个时段呢…(必须是两个事件啊)

先假定一门课不会从一节变成两节吧。

Xiaoqi, sent from phone On Feb 27, 2016 11:44 AM, "Yin Zhong" notifications@github.com wrote:

然而你加上星期/节次之后替换规则就又变了

— Reply to this email directly or view it on GitHub https://github.com/summivox/thucal2/issues/25#issuecomment-189571636.

summivox commented 8 years ago

don't assume anything about THU...