gpt4 book ai didi

python - 如何为 Google Cloud Endpoints 方法生成 pydoc 文档?

转载 作者:太空狗 更新时间:2023-10-30 01:34:15 25 4
gpt4 key购买 nike

我有一组使用 Google Cloud Endpoints 开发的 API。 API 方法看起来像这样:

@endpoints.method(message_types.VoidMessage, SystemAboutResponse, name="about", http_method="GET")
def about(self, request):
"""
Returns some simple information about the APIs.

Example:
...
"""
return SystemAboutResponse(version=API_VERSION)

我想使用 pydoc 为包含此方法的模块生成文档。但是,当我这样做时,由于使用了 endpoints.method 装饰器,文档字符串没有被保留。

我看到了其他问题的答案,这些问题展示了在编写自己的装饰器时如何使用 functools.wraps(例如 Python decorator handling docstrings),以便它们保留装饰方法的文档字符串。有没有什么方法可以使用 Google Cloud Endpoints 装饰器来做到这一点,因为我无法控制这些装饰器的代码?

最佳答案

我最终对端点库的副本进行了本地修改。更改在 api_config.py 中,特别是 method 装饰器的 apiserving_method_decorator 函数。我将 @wraps 装饰添加到包含在 apiserving_method_decorator 中的 invoke_remote 函数中:

def method(request_message=message_types.VoidMessage,
response_message=message_types.VoidMessage,
name=None,
path=None,
http_method='POST',
cache_control=None,
scopes=None,
audiences=None,
allowed_client_ids=None,
auth_level=None):
# ...

def apiserving_method_decorator(api_method):
# ...

@wraps(api_method)
def invoke_remote(service_instance, request):
# ...

然后,当我运行 pydoc 时,我确保端点库的这个本地修改副本在我的 PYTHONPATH 中。

关于python - 如何为 Google Cloud Endpoints 方法生成 pydoc 文档?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21765597/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com