我想创建一个预览GTFS数据的扩展程序 - 虽然我的问题更多的是关于如何创建预览数据的扩展。
查看我found.
的文档和代码现有预览扩展的这些示例:
是否有一个绝对最小扩展的例子来进行预览或提示我将如何为GTFS做这件事(什么是我的工作基础的最好的例子)?
答案 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'