opentranslink项目旨在为translink.co.uk上的公共数据(如时间表)提供一个简单的pythonic接口。
opentranslink的Python项目详细描述
opentranslink项目旨在为translink.co.uk上的公共数据提供一个简单的pythonic接口,例如时间表
- 自由软件:麻省理工学院许可证
- 文档:http://github.com/paddycarey/opentranslink。
功能
- 路线/服务列表
- 公共汽车时刻表
未来功能
- 更好/更好的api。
- 列车时刻表
- 列车状态
- 行程计划
- 路线图
使用量
开始
一旦库稍微成熟一点,就可以从pypi安装它,但现在,只需克隆repo repo并运行python setup.py install
。
opentranslink中的顶级对象(目前)是Service
,您应该在导入模块后初始化所需的服务:
import opentranslink # initialise a client for each available service goldline = opentranslink.Service('goldline') metro = opentranslink.Service('metro') ulsterbus = opentranslink.Service('ulsterbus')
检索路线列表
您可以使用其route()
方法检索给定服务的完整路由列表:
>>> print metro.routes() [<opentranslink.Route-1A>, <opentranslink.Route-1B>, <opentranslink.Route-1C>, ...]
您还可以使用其代码检索特定的路线:
>>> print metro.route('1A') <opentranslink.Route-1A>
使用时间表
路由对象包含一个timetable
属性,该属性用于与路由的任何可用时间表交互:
>>> route = goldline.route('273') >>> print route.timetable [ (u'Mondays to Fridays', <dataset object>), (u'Saturdays', <dataset object>), (u'Sundays', <dataset object>), (u'Mondays to Fridays', <dataset object>), (u'Saturdays', <dataset object>), (u'Sundays', <dataset object>) ]
timetable
返回元组列表。返回的每个元组都包含对应数据集的标签(很快将添加更好的标签,包括入站/出站方向)。显示的数据集对象是tablib.dataset对象,您可以在tablib documentation
与数据集对象的交互很简单:
>>> dataset = route.timetable[0][1] >>> # show list of stops on this route >>> print dataset.headers [u'Belfast City Centre, Europa Buscentre', u'Lurgan, Loughview Park and Ride Lough Road', ...] >>> # show the timetable for the fifth bus of the day >>> print zip(dataset.headers, dataset[4]) [(u'Belfast City Centre, Europa Buscentre', u'0835'), (u'Lurgan, Loughview Park and Ride Lough Road', u'0900'), ...]
您可以使用tablib的导出功能将时间表转储为一整套格式:
>>> print dataset.json >>> print dataset.csv >>> print dataset.yaml >>> print dataset.xls
报告错误
在https://github.com/paddycarey/opentranslink/issues报告错误(我知道有很多)。
如果您报告了一个错误,请包括:
- 您的操作系统名称和版本。
- 有关本地设置的任何有助于故障排除的详细信息。
- 重现错误的详细步骤。