为iCalendar文件中的事件发送电子邮件提醒
项目描述
- 源代码:
- 问题跟踪:
- 许可证:
GPLv3
状态 - 2013年2月9日
该项目目前没有在积极开发。如果您有更改,请提交拉取请求(最好附上测试),我会将其合并。
摘要
phil是一个命令行实用程序,用于发送关于由iCalendar文件定义的会议的提醒电子邮件。
它解决了这个用例
Will在一个每周六都有会议的项目上工作。Will想要一种自动化的方式,向每个人发送会议提醒电子邮件,包括会议的时间、如何参加以及会议的笔记。
Will安装并配置phil,在周六会议之前向项目列表发送电子邮件。Will设置cron作业,每天早上启动phil,检查需要发送的提醒并发送它们。
功能
具有config.ini格式的配置文件
解析iCalendar文件,计算下一个有效的会议日期,并在会议前x天发送提醒电子邮件
尽量避免对同一会议重复提醒!
具有允许您在不实际发送电子邮件的情况下测试事物的--debug模式
具有一个 --quiet 模式,该模式只会打印错误
正确地将错误打印到stderr,并将输出打印到stdout;如果失败,则返回错误代码1
使用 next6 命令显示事件的下一个6个日期
历史
我负责多个项目,其中一些项目定期召开会议。有一天我意识到,如果有一种自动化的方式向所有人发送会议提醒,并包含指定会议时间、如何参加会议以及在哪里查找会议详细信息的文本,那将会非常有帮助。
我负责多个项目,为它们想出好名字对我来说是个大问题。我不太记得我使用的库和工具的名称,所以我觉得只要提供足够的文档,允许搜索引擎根据搜索条件找到项目,任意的名称都是可以接受的。鉴于此,我决定以后将所有项目命名为类似phil的名称。
因此phil诞生了。
许可证等
phil 版权(C) 2011, 2012, 2013 Will Kahn-Greene
本程序完全没有任何担保。这是一个免费软件,你可以在某些条件下重新分发它。有关详细信息,请参阅LICENSE中的条款和条件部分。
安装
如果你想要phil的发布版本,请这样做
$ pip install phil
如果你想要phil的最新版本,请这样做
$ git clone git://github.com/willkg/phil.git $ cd phil $ python setup.py install
配置
phil需要配置文件。要生成一个示例配置文件,请以这种方式运行phil
phil-cmd createfile <configfile>
配置文件是自文档化的。查看它来配置phil。
运行
要获取子命令、参数和其他帮助信息,请这样做
phil-cmd --help
要发送会议提醒邮件,请这样做
phil-cmd run <configfile>
这将以给定的配置文件运行phil。
phil有一个静音模式,只打印错误
phil-cmd --quiet ...
phil有一个调试模式,除了实际发送电子邮件外,做所有事情
phil-cmd --debug ...
phil会跟踪它提醒你关于的最后一个会议的日期/时间。如果你运行phil两次,它只会提醒你一次会议。
测试
phil附带单元测试。单元测试使用nose执行,并使用fudge作为模拟框架。如果你还没有安装nose和fudge,请使用以下方式安装它们
pip install nose fudge
我还喜欢使用nose-progressive,因为它很棒。要安装它
pip install nose-progressive
要从git克隆或源tarball运行单元测试,请在项目目录中这样做
nosetests
使用nose-progressive和fail-fast
nosetests -x --with-progressive