我如何创建扩展以在CKAN中预览GTFS数据?

时间:2013-07-19 09:37:53

标签: plugins preview gtfs ckan

我想创建一个预览GTFS数据的扩展程序 - 虽然我的问题更多的是关于如何创建预览数据的扩展。

查看我found.

的文档和代码

现有预览扩展的这些示例:

是否有一个绝对最小扩展的例子来进行预览或提示我将如何为GTFS做这件事(什么是我的工作基础的最好的例子)?

1 个答案:

答案 0 :(得分:1)

我建议您查看文本预览扩展程序。它相当小,涵盖了所有重要的部分,比如如何让CKAN知道扩展可以预览文件,如何加载模板,如何加载javascript和css以及如何使用资源代理(这是为了解决这个问题)同源政策)。

CKAN中的current version of the plugin使用一种功能,该功能允许定义扩展可以预览旧版CKAN中不可用的文件的合理程度。

CKAN的稳定版本2.0中有一个json preview extension,它比文本预览略小,也支持较旧的CKAN。

最小预览插件看起来像(没有模板):

import ckan.plugins as p

class Preview(p.SingletonPlugin):
    p.implements(p.IResourcePreview, inherit=True)

    def can_preview(self, data_dict):
        format = data_dict['resource']['format']
        return format.lower() == 'gtfs'

    def preview_template(self, context, data_dict):
        return 'preview.html'