1

我想创建一个扩展来预览 GTFS 数据——尽管我的问题更多是关于如何创建一个扩展来预览数据。

查看我找到的文档和代码。

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

是否有一个绝对最小扩展的示例来进行预览或关于我将如何为 GTFS 进行此操作的提示(什么是我工作的最佳示例)?

4

1 回答 1

1

我建议你看看文本预览扩展。它相当小,涵盖了所有重要部分,例如如何让 CKAN 知道扩展可以预览文件、如何加载模板、如何加载 javascript 和 css 以及如何使用资源代理(这是为了绕过同源政策)。

CKAN 中插件的当前版本使用了一项功能,该功能允许定义扩展可以预览文件的合理程度,这在旧 CKAN 中不可用。

在 CKAN 的稳定版本 2.0 中有一个json 预览扩展,它比 text-preview 略小,并且也支持旧的 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'
于 2013-07-19T09:49:45.467 回答