- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我一直在努力获取我的文档,以便为我正在从事的一个开源项目工作,该项目涉及一个镜像客户端和服务器 API。为此,我创建了一个装饰器,它在大多数情况下可用于记录一个仅对其输入执行验证的方法。您可以找到一个包含这些方法的类 here和装饰器的实现 here .
如您所见,装饰器使用 functools.wraps
来保留文档字符串,我还认为是签名,但是源代码与生成的文档如下所示:
来源:
对比
文档:
有谁知道如何让 setH
生成的文档显示正确的调用签名? (无需为每个签名添加新的装饰器——我需要镜像数百种方法)
我找到了一种解决方法,它涉及让装饰器不更改未绑定(bind)的方法,而是让类在绑定(bind)时改变方法(对象实例化)——不过这似乎是一个 hack,所以对此有任何评论,或替代这样做的方法,将不胜感激。
最佳答案
在PRAW ,我通过在 sphinx 构建发生时使用返回原始函数(而不是装饰函数)的条件装饰器来处理这个问题。
在 PRAW 的 sphinx conf.py 中,我添加了以下内容来确定 SPHINX 当前是否正在构建:
import os
os.environ['SPHINX_BUILD'] = '1'
然后在 PRAW 中,它的装饰器看起来像:
import os
# Don't decorate functions when building the documentation
IS_SPHINX_BUILD = bool(os.getenv('SPHINX_BUILD'))
def limit_chars(function):
"""Truncate the string returned from a function and return the result."""
@wraps(function)
def wrapped(self, *args, **kwargs):
output_string = function(self, *args, **kwargs)
if len(output_string) > MAX_CHARS:
output_string = output_string[:MAX_CHARS - 3] + '...'
return output_string
return function if IS_SPHINX_BUILD else wrapped
return function if IS_SPHINX_BUILD else wrapped
行允许 SPHINX 获取正确的签名。
关于python - 让狮身人面像识别正确的签名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14383797/
我在使用 Java 的 Sphinx 语音识别库时遇到问题。我正在使用它来获取输入并处理它。我第一次获得输入时,它起作用了。第二次,它在我有机会说话之前立即回答了自己。在那之后,它只是继续回答自己。我
我使用诗歌构建我的 cython 包。我在所有函数和类中都有 NumPy 风格的文档字符串。我现在要做的是添加 Sphinx 自动文档并发布在 Read the Docs。 我已阅读此主题 How d
是否可以使用重组文本将图像放置在标题内? 就像是: Introduction .. image:: path/to/img.png ----------------------------------
我正在尝试自动生成我的 Django 项目的文档。文档树在 html 页面上生成,但我的任何模块中的任何成员都没有文档。我一直遇到这个问题: Running Sphinx v1.1.3 loading
Sphinx 文档工具是否提供不同的 PDF 主题,就像提供不同的 HTML 主题一样? 我用 Google 搜索了这个问题,但找不到答案,这让我相信答案是否定的。不过,我想我应该在这里问。 谢谢。
我正在尝试使用 Sphinx 为我的 Python/Flask 应用程序构建文档,但我无法导入该文件。 我导入views.py文件在 views.rst ,但出现错误消息:No module name
我已经开始将 Sphinx 用于 django 项目,但遇到了障碍: 模块的文档是这样的: :mod:`models` Module -------------------- .. automodul
我们的 Travis CI 测试刚刚开始随机中断: https://travis-ci.org/Gallopsled/pwntools/builds/343962397 错误信息: Could not
我能否拥有 conf 变量的页面本地值(通常在 conf.py 中找到)? 比如我有 hyphenator_language = "en-us" 在 conf.py 中。我可以要吗 hyphenato
我有一些 python 模块,主要包含函数和一些类。每一个都在单独的第一个文件中使用 sphinx-autodoc 进行记录。我想做的是在每个页面的顶部创建一个表或模块内容列表,例如,mymodule
我正在处理我的 RTFM 文档,我想更改 html 标题。目前,我的标题是这样的: [PAGE TITLE] — My Documentation documentation [PAGE TITLE
我有一个用 Python 编写的 Raspberry Pi 项目,它使用 RPi.GPIO 模块。代码上的所有工作都是在 Windows 机器上完成的,其中 RPi.GPIO 不会安装,每次我尝试运行
在 Sphinx 中,是否可以自动定义标题标签?我发现我的文档最终看起来很像这样: .._doing stuff:Doing Stuff-----------You might also want :
我在使用 js:function 指令时收到以下错误。为什么 :param 不能识别::之间的多个值? "选项数据无效:扩展选项字段名称不能包含多个单词。 .. js:function:: f(tes
当我们输入命令sphinx-quickstart时,我们要输入很多次值。 例如: > Root path for the documentation [.]: > Separate source an
浏览 C and C++ domains Sphinx,它似乎没有对记录枚举(更不用说匿名枚举)的原生支持。截至目前,我使用 cpp:type:: 作为枚举类型,然后是所有可能值及其描述的列表,但这似
我收到多个警告,例如: 警告:pyfar.signal.TimeData.times 的重复对象描述,pyfar.classes_audio 中的其他实例,对其中之一使用:noindex: 但想不通为
我希望能够在引用脚注的地方创作脚注,但只在文档末尾显示,其中 .. rubric: Footnotes出现。 像这样: Lorem Ipsum[#lorem]_ dolor sit blah blah
如何交叉引用 reStructuredText 文档中的索引项? 例如,我如何交叉引用 SectionB: .. index:: pair: SectionA; SectionB Sectio
我想要的是在 Sphinx 文档中包含一个 xlsx 表(或者更确切地说是所述文件的数据)。 有什么方法可以将 xlsx 工作表转换为 restructuredText? 最佳答案 您不需要将其转换为
我是一名优秀的程序员,十分优秀!