显示即将从斯图加特公共交通网络车站出发的时间

vvs的Python项目详细描述


vvs是一组显示即将到来的公共汽车、火车发车时间的工具 还有从斯图加特市的车站来的有轨电车。

刚开始一份新工作,我对电车时刻表不熟悉 回家,想用一种简单的方式,一眼就能看出我还有多少时间 下一辆电车开往家。

我工作的大部分时间都在盯着电脑终端,总是在tmux上 会话,所以这看起来很合适:

screenshot.png

在上面的截图中,你可以看到有两辆电车很快就要开走了, 再过半小时就是下一个了。所以,很容易快速决定 不必浪费,跳起来冲出门外是否值得 是时候打开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_ALLLANG已导出)。 如果不可能,则在调用vvs时临时设置它们,例如:

LC_ALL=en_US.utf-8 LANG=en_US.utf-8 vvs scrape 5007115

联系人

安格斯·沃尔顿ventolin@gmail.com

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
编译器构造为什么在Java中允许初始化对Null的引用?   java手动调用javax的actionPerformed。摆动计时器   使用git分支的java Maven版本控制   Java8句子流   java JPA OneToOne和OneToMany实体实例化/创建   java如何将值添加到列表<Map<String,Object>>?   java如何使用ComboBox在一个框架内更改JPanel。getSelectedIndex()   java在比较XML和xmlunit时忽略文本差异   java无法从其他pc连接到本地主机   Java中分配对象id的优雅方式   Java中静态变量的使用   java试图从Neteller获取OAuth访问令牌时产生错误:“服务器返回HTTP响应代码:401表示URL”   Java:基元类型是否会影响性能?   java可以让hasNext()不区分大小写吗?   基于AutoCompleteTextView建议属性或AutoCompleteTextView值的java Android搜索   java流文件到firefox浏览器有时无法打开应用程序对话框   在没有ArrayList的Java中返回数组中的搜索结果   复制java。木卫一。IOException:数据错误(CRC)   java为什么我在尝试删除Facebook测试用户时会出现“方法未实现”错误   java如何使用JNA调用SetProcessReliationPolicy