在运行时从输出获取epydoc输出?

时间:2011-12-29 22:04:17

标签: python web-services documentation-generation

我正在尝试创建一个自我记录的python Web服务。

我的情况:

我有一个可通过RESTful python web服务访问的对象。

http://foo.com/api/monkey

而且,我想做的是 如果

  1. 在调用http://foo.com/api/monkey时出现错误,例如http://foo.com/api/monkey/get在没有“& monkey_id = {some number}”的情况下被调用

    *或*

  2. 网络服务电话专门针对http://foo.com/api/monkey/help

然后 我希望它返回该对象的格式化html epydoc输出(动态)。

我已经回顾了cornice,但它很痛苦,因为我不想使用金字塔。我真的不想加入任何特定的Web框架才能做到这一点。

我的问题是:我想用epydoc做什么,可能吗?

1 个答案:

答案 0 :(得分:1)

第一个用例(“呼叫期间出现错误”)定义不明确。例如,404错误不会产生帮助页面,它们非常普通。

http://foo.com/api/bad/path/get请求无法找出要发送的帮助页面,因为它没有发出monkey请求。

另外,将/get放在路径上并不是非常非常RESTful。执行/monkey/get/monkey_id={some number}被视为不良形式。你应该考虑做/monkey/{some mnumber}/。这被认为是RESTful。

在极少数情况下,您需要提供帮助。

但是,在您希望显示帮助的地方可能存在某些类型的错误处理。 对于这些,您应该提供301重定向到http://foo.com/api/monkey/help而不是其他一些错误页面。

您的普通http://foo.com/api/monkey/help网址应由Apache(或nginx或lighttpd或您的网络服务器)处理,以重定向到静态Epydoc生成的HTML文件。