显示即将从斯图加特公共交通网络车站出发的时间
vvs的Python项目详细描述
vvs是一组显示即将到来的公共汽车、火车发车时间的工具 还有从斯图加特市的车站来的有轨电车。
刚开始一份新工作,我对电车时刻表不熟悉 回家,想用一种简单的方式,一眼就能看出我还有多少时间 下一辆电车开往家。
我工作的大部分时间都在盯着电脑终端,总是在tmux上 会话,所以这看起来很合适:
在上面的截图中,你可以看到有两辆电车很快就要开走了, 再过半小时就是下一个了。所以,很容易快速决定 不必浪费,跳起来冲出门外是否值得 是时候打开VVS网站了。
不是什么
vvs不是vvs网站的控制台客户端。它不允许你检查 例如,两个站点之间的路由和连接(尽管这可能是 实施起来难度相对较小)。
开始
安装
使用PIP3安装:
pip3 install vvs
不用说,你应该安装到一个virtualenv。
查找您的站id
看看stations.json 要监视的电台的文件。每个电台都有一个 id,在运行vvs时需要这个。
请注意,此repo中的stations.json文件不会保持更新。 如果找不到站点ID,请按照说明here。
设置刮刀
现在我们有了我们的电台ID,我们要为那个电台搜集数据。这个 可以通过使用vvs scrape命令来实现。然后我们要把这个存起来 本地某处的数据。所以,如果我们的站号是5007115(hulb),我们会设置 每隔几分钟就有一个cronjob这样做:
*/3 * * * * vvs scrape 5007115 > ~/.vvs.json
有了这个命令,我们将追踪所有公共交通工具的离开 从绿巨人-但在两个方向。我们只想出发去城里。
为了过滤我们想要的内容,我们首先使用list_directions子命令:
$ vvs list_directions 5007115 Herrenberg Kirchheim (T) Neckarpark Plochingen $
这是经过的所有公共交通终点站的清单 绿巨人。S-Bahn朝Kirchheim an der Teck方向出发 Plochingen是我们要找的人,所以我们将筛选他们:
*/3 * * * * vvs scrape 5007115 --direction Plochingen --direction 'Kirchheim (T)' > ~/.vvs.json
现在我们应该得到我们要的数据了!
显示数据
vvs display命令用于显示我们保存的数据。风格 其中显示的数据可以自定义:
$ vvs display ~/.vvs.json In 7, 22, 37 min $ $ vvs display --limit 10 ~/.vvs.json In 6, 21, 36, 51, 66, 81, 96, 114, 144, 174 min $ $ vvs display --limit 10 --format %H:%M ~/.vvs.json 19:25, 19:40, 19:55, 20:10, 20:25, 20:40, 20:55, 21:13, 21:43, 22:13 $
python的时间格式化指令(link)用于字符串格式化。
故障排除
区域设置
如果出现如下错误:
RuntimeError: Click will abort further execution because Python 3 was configured to use ASCII as encoding for the environment.
确保正确设置了区域设置(LC_ALL和LANG已导出)。 如果不可能,则在调用vvs时临时设置它们,例如:
LC_ALL=en_US.utf-8 LANG=en_US.utf-8 vvs scrape 5007115
联系人
安格斯·沃尔顿ventolin@gmail.com