使用n天周期为学校的课程表生成iCal文件
cycle-calendar-generator的Python项目详细描述
循环日历生成器
使用n天周期为学校的课表生成iCal文件
如果你是老师或学生,你可能有一个6或7天的周期。 您想将日程输入日历,但日历软件不支持“每N个工作日重复”。 所以你运气不好,对吧?这就是周期日历生成器的用武之地。 你只需要制作一个包含学校日程安排的excel文件,每个老师/学生日程安排的另一个excel文件,剩下的工作由循环日历生成器完成。
安装
^{tt1}$
使用量
- 制作一个“日程设置”excel文件
- 文件名必须是schedule\u setup.xlsx
- 有三张表,分别命名为“周期计时”、“周期日列表”和“年度计划”
- “时段计时”表给出每个时段的时段名称/编号、开始时间和结束时间
- “周期日列表”工作表列出周期中每一天的名称/编号
- “年度计划”表列出了学年中的所有日期和周期中的匹配日期
- 日期和时间应采用标准的Excel日期/时间格式
- 所有其他数据应采用文本格式,包括数字。
- 请参见下面的示例
- 为每个想要日程表的用户创建一个excel文件
- 文件名应与用户名匹配,并将用于命名输出日历文件。(例如,eric idle的excel文件应命名为“eric idle.xlsx”,并将生成“eric idle.ics”)
- 有一张名为“用户计划”的工作表,其中包含用户一个周期的常规计划
- 此处的所有数据都应为文本格式
- 请参见下面的示例
将所有文件放入任何文件夹
按如下方式运行应用程序:
^{tt2}$
Schedule iCal文件位于输入Excel文件所在文件夹下的/output文件夹中。
示例
周期计时
Period Number | Start Time | End Time |
---|---|---|
1 | 8:00 | 9:00 |
2 | 9:00 | 10:00 |
3 | 10:00 | 11:00 |
4 | 11:00 | 12:00 |
5 | 12:00 | 13:00 |
次可以是24小时或12小时格式。“句号”应为文本格式,而不是数字。
周期日列表
A1 | B2 | C3 | D4 | E5 | F6 |
这里的条目是所有周期日的正式名称。其他工作表中的每个循环日条目都必须与这些值匹配。
年度计划
Date | Cycle Day |
8/31/18 | A1 |
9/3/18 | B2 |
9/4/18 | C3 |
9/5/18 | D4 |
9/6/18 | E5 |
9/7/18 | F6 |
日期可以以任何方式显示,但必须是日期格式。“周期日”列中的条目必须是“周期日”列表中定义的正式周期日。
用户计划
Period Number | A1 | B2 | C3 | D4 | E5 | F6 |
1 | Grade 8 | Grade 11 | Grade 8 | |||
2 | Grade 11 | Grade 8 | ||||
3 | Lunch | Lunch | Lunch | Lunch | Lunch | Lunch |
4 | Grade 11 | Grade 8 | Grade 11 | |||
5 | Grade 8 | Grade 11 |
“句号”应为文本格式,而不是数字。第一行中的“周期日”必须是“周期日”列表中定义的正式周期日
测试
- 对于当前的python版本:
- python3 setup.py test
- 对于版本3.5+
- tox
建议使用pyenv安装tox所需的python版本。 pyenv可以使用Homebrew:
brew update brew install pyenv pyenv install 3.5.6 3.6.6 3.7.0
贡献
我们欢迎您的贡献!有关功能或错误报告的想法,请参阅问题。如果您有兴趣参与此库,请参阅此存储库中contributing.rst文件中有关此操作的详细信息。
学分
这个包是用Cookiecutter和elgertam/cookiecutter-pipenv项目模板创建的,基于audreyr/cookiecutter-pypackage。
许可证
- 自由软件:GNU通用公共许可v3
历史记录
0.1.0(2018-08-09)
- pypi上的第一个版本。
0.1.1-0.1.8(2018-10-18至10-19)
- 尝试修复travis ci的pypi部署问题
0.2.0(2018-10-19)
- 程序现在可以作为unix风格的命令行应用程序安装