mirror of https://github.com/zulip/zulip.git
openapi: Automatically add python tab whenever required.
As a part of goal of moving towards a common template, the hardcoded python tabs need to be removed to ensure that endpoints which don't have python examples can be covered by the common template as well. This commit also modifies the markdown extension for python examples to render empty string in case the examples don't exist, which would allow it to be called whether the endpoint has python examples or not.
This commit is contained in:
parent
fab6a5192c
commit
0c4330f926
|
@ -5,7 +5,6 @@
|
|||
## Usage examples
|
||||
|
||||
{start_tabs}
|
||||
{tab|python}
|
||||
|
||||
{generate_code_example(python)|/realm/playgrounds:post|example}
|
||||
|
||||
|
|
|
@ -5,7 +5,6 @@
|
|||
## Usage examples
|
||||
|
||||
{start_tabs}
|
||||
{tab|python}
|
||||
|
||||
{generate_code_example(python)|/realm/filters:post|example}
|
||||
|
||||
|
|
|
@ -5,7 +5,6 @@
|
|||
## Usage examples
|
||||
|
||||
{start_tabs}
|
||||
{tab|python}
|
||||
|
||||
{generate_code_example(python)|/messages/{message_id}/reactions:post|example}
|
||||
|
||||
|
|
|
@ -5,7 +5,6 @@
|
|||
## Usage examples
|
||||
|
||||
{start_tabs}
|
||||
{tab|python}
|
||||
|
||||
{generate_code_example(python)|/streams/{stream_id}:delete|example}
|
||||
|
||||
|
|
|
@ -5,7 +5,6 @@
|
|||
## Usage examples
|
||||
|
||||
{start_tabs}
|
||||
{tab|python}
|
||||
|
||||
{generate_code_example(python)|/messages/matches_narrow:get|example}
|
||||
|
||||
|
|
|
@ -5,7 +5,6 @@
|
|||
## Usage examples
|
||||
|
||||
{start_tabs}
|
||||
{tab|python}
|
||||
|
||||
{generate_code_example(python)|/realm/profile_fields:post|example}
|
||||
|
||||
|
|
|
@ -5,7 +5,6 @@
|
|||
## Usage examples
|
||||
|
||||
{start_tabs}
|
||||
{tab|python}
|
||||
|
||||
{generate_code_example(python)|/user_groups/create:post|example}
|
||||
|
||||
|
|
|
@ -5,7 +5,6 @@
|
|||
## Usage examples
|
||||
|
||||
{start_tabs}
|
||||
{tab|python}
|
||||
|
||||
{generate_code_example(python)|/users:post|example}
|
||||
|
||||
|
|
|
@ -5,7 +5,6 @@
|
|||
## Usage examples
|
||||
|
||||
{start_tabs}
|
||||
{tab|python}
|
||||
|
||||
{generate_code_example(python)|/users/me:delete|example}
|
||||
|
||||
|
|
|
@ -5,7 +5,6 @@
|
|||
## Usage examples
|
||||
|
||||
{start_tabs}
|
||||
{tab|python}
|
||||
|
||||
{generate_code_example(python)|/users/{user_id}:delete|example}
|
||||
|
||||
|
|
|
@ -5,7 +5,6 @@
|
|||
## Usage examples
|
||||
|
||||
{start_tabs}
|
||||
{tab|python}
|
||||
|
||||
{generate_code_example(python)|/messages/{message_id}:delete|example}
|
||||
|
||||
|
|
|
@ -5,7 +5,6 @@
|
|||
## Usage examples
|
||||
|
||||
{start_tabs}
|
||||
{tab|python}
|
||||
|
||||
{generate_code_example(python)|/events:delete|example}
|
||||
|
||||
|
|
|
@ -5,7 +5,6 @@
|
|||
## Usage examples
|
||||
|
||||
{start_tabs}
|
||||
{tab|python}
|
||||
|
||||
{generate_code_example(python)|/attachments:get|example}
|
||||
|
||||
|
|
|
@ -5,7 +5,6 @@
|
|||
## Usage examples
|
||||
|
||||
{start_tabs}
|
||||
{tab|python}
|
||||
|
||||
{generate_code_example(python)|/realm/emoji:get|example}
|
||||
|
||||
|
|
|
@ -5,7 +5,6 @@
|
|||
## Usage examples
|
||||
|
||||
{start_tabs}
|
||||
{tab|python}
|
||||
|
||||
{generate_code_example(python)|/realm/profile_fields:get|example}
|
||||
|
||||
|
|
|
@ -5,7 +5,6 @@
|
|||
## Usage examples
|
||||
|
||||
{start_tabs}
|
||||
{tab|python}
|
||||
|
||||
{generate_code_example(python)|/realm/linkifiers:get|example}
|
||||
|
||||
|
|
|
@ -5,7 +5,6 @@
|
|||
## Usage examples
|
||||
|
||||
{start_tabs}
|
||||
{tab|python}
|
||||
|
||||
{generate_code_example(python)|/messages/{message_id}/history:get|example}
|
||||
|
||||
|
|
|
@ -5,7 +5,6 @@
|
|||
## Usage examples
|
||||
|
||||
{start_tabs}
|
||||
{tab|python}
|
||||
|
||||
{generate_code_example(python)|/messages:get|example}
|
||||
|
||||
|
|
|
@ -5,7 +5,6 @@
|
|||
## Usage examples
|
||||
|
||||
{start_tabs}
|
||||
{tab|python}
|
||||
|
||||
{generate_code_example(python)|/users/me:get|example}
|
||||
|
||||
|
|
|
@ -5,7 +5,6 @@
|
|||
## Usage examples
|
||||
|
||||
{start_tabs}
|
||||
{tab|python}
|
||||
|
||||
{generate_code_example(python)|/messages/{message_id}:get|example}
|
||||
|
||||
|
|
|
@ -5,7 +5,6 @@
|
|||
## Usage examples
|
||||
|
||||
{start_tabs}
|
||||
{tab|python}
|
||||
|
||||
{generate_code_example(python)|/server_settings:get|example}
|
||||
|
||||
|
|
|
@ -5,7 +5,6 @@
|
|||
## Usage examples
|
||||
|
||||
{start_tabs}
|
||||
{tab|python}
|
||||
|
||||
{generate_code_example(python)|/get_stream_id:get|example}
|
||||
|
||||
|
|
|
@ -5,7 +5,6 @@
|
|||
## Usage examples
|
||||
|
||||
{start_tabs}
|
||||
{tab|python}
|
||||
|
||||
{generate_code_example(python)|/users/me/{stream_id}/topics:get|example}
|
||||
|
||||
|
|
|
@ -5,7 +5,6 @@
|
|||
## Usage examples
|
||||
|
||||
{start_tabs}
|
||||
{tab|python}
|
||||
|
||||
{generate_code_example(python)|/streams:get|example}
|
||||
|
||||
|
|
|
@ -5,7 +5,6 @@
|
|||
## Usage examples
|
||||
|
||||
{start_tabs}
|
||||
{tab|python}
|
||||
|
||||
{generate_code_example(python)|/users/{user_id}/subscriptions/{stream_id}:get|example}
|
||||
|
||||
|
|
|
@ -5,7 +5,6 @@
|
|||
## Usage examples
|
||||
|
||||
{start_tabs}
|
||||
{tab|python}
|
||||
|
||||
{generate_code_example(python)|/users/me/subscriptions:get|example}
|
||||
|
||||
|
|
|
@ -5,7 +5,6 @@
|
|||
## Usage examples
|
||||
|
||||
{start_tabs}
|
||||
{tab|python}
|
||||
|
||||
{generate_code_example(python)|/users/{email}:get|example}
|
||||
|
||||
|
|
|
@ -5,7 +5,6 @@
|
|||
## Usage examples
|
||||
|
||||
{start_tabs}
|
||||
{tab|python}
|
||||
|
||||
{generate_code_example(python)|/user_groups:get|example}
|
||||
|
||||
|
|
|
@ -5,7 +5,6 @@
|
|||
## Usage examples
|
||||
|
||||
{start_tabs}
|
||||
{tab|python}
|
||||
|
||||
{generate_code_example(python)|/users/{user_id_or_email}/presence:get|example}
|
||||
|
||||
|
|
|
@ -5,7 +5,6 @@
|
|||
## Usage examples
|
||||
|
||||
{start_tabs}
|
||||
{tab|python}
|
||||
|
||||
{generate_code_example(python)|/users/{user_id}:get|example}
|
||||
|
||||
|
|
|
@ -5,7 +5,6 @@
|
|||
## Usage examples
|
||||
|
||||
{start_tabs}
|
||||
{tab|python}
|
||||
|
||||
{generate_code_example(python)|/users:get|example}
|
||||
|
||||
|
|
|
@ -5,7 +5,6 @@
|
|||
## Usage examples
|
||||
|
||||
{start_tabs}
|
||||
{tab|python}
|
||||
|
||||
{generate_code_example(python)|/mark_all_as_read:post|example}
|
||||
|
||||
|
@ -42,7 +41,6 @@
|
|||
## Usage examples
|
||||
|
||||
{start_tabs}
|
||||
{tab|python}
|
||||
|
||||
{generate_code_example(python)|/mark_stream_as_read:post|example}
|
||||
|
||||
|
@ -80,7 +78,6 @@
|
|||
## Usage examples
|
||||
|
||||
{start_tabs}
|
||||
{tab|python}
|
||||
|
||||
{generate_code_example(python)|/mark_topic_as_read:post|example}
|
||||
|
||||
|
|
|
@ -5,7 +5,6 @@
|
|||
## Usage examples
|
||||
|
||||
{start_tabs}
|
||||
{tab|python}
|
||||
|
||||
{generate_code_example(python)|/users/me/subscriptions/muted_topics:patch|example}
|
||||
|
||||
|
|
|
@ -5,7 +5,6 @@
|
|||
## Usage examples
|
||||
|
||||
{start_tabs}
|
||||
{tab|python}
|
||||
|
||||
{generate_code_example(python)|/users/me/muted_users/{muted_user_id}:post|example}
|
||||
|
||||
|
|
|
@ -5,7 +5,6 @@
|
|||
## Usage examples
|
||||
|
||||
{start_tabs}
|
||||
{tab|python}
|
||||
|
||||
{generate_code_example(python)|/users/{user_id}/reactivate:post|example}
|
||||
|
||||
|
|
|
@ -5,7 +5,6 @@
|
|||
## Usage examples
|
||||
|
||||
{start_tabs}
|
||||
{tab|python}
|
||||
|
||||
{generate_code_example(python)|/register:post|example}
|
||||
|
||||
|
|
|
@ -5,7 +5,6 @@
|
|||
## Usage examples
|
||||
|
||||
{start_tabs}
|
||||
{tab|python}
|
||||
|
||||
{generate_code_example(python)|/realm/playgrounds/{playground_id}:delete|example}
|
||||
|
||||
|
|
|
@ -5,7 +5,6 @@
|
|||
## Usage examples
|
||||
|
||||
{start_tabs}
|
||||
{tab|python}
|
||||
|
||||
{generate_code_example(python)|/realm/filters/{filter_id}:delete|example}
|
||||
|
||||
|
|
|
@ -5,7 +5,6 @@
|
|||
## Usage examples
|
||||
|
||||
{start_tabs}
|
||||
{tab|python}
|
||||
|
||||
{generate_code_example(python)|/messages/{message_id}/reactions:delete|example}
|
||||
|
||||
|
|
|
@ -5,7 +5,6 @@
|
|||
## Usage examples
|
||||
|
||||
{start_tabs}
|
||||
{tab|python}
|
||||
|
||||
{generate_code_example(python)|/user_groups/{user_group_id}:delete|example}
|
||||
|
||||
|
|
|
@ -5,7 +5,6 @@
|
|||
## Usage examples
|
||||
|
||||
{start_tabs}
|
||||
{tab|python}
|
||||
|
||||
{generate_code_example(python)|/messages/render:post|example}
|
||||
|
||||
|
|
|
@ -5,7 +5,6 @@
|
|||
## Usage examples
|
||||
|
||||
{start_tabs}
|
||||
{tab|python}
|
||||
|
||||
{generate_code_example(python)|/realm/profile_fields:patch|example}
|
||||
|
||||
|
|
|
@ -5,7 +5,6 @@
|
|||
## Usage examples
|
||||
|
||||
{start_tabs}
|
||||
{tab|python}
|
||||
|
||||
{generate_code_example(python)|/messages:post|example}
|
||||
|
||||
|
|
|
@ -5,7 +5,6 @@
|
|||
## Usage examples
|
||||
|
||||
{start_tabs}
|
||||
{tab|python}
|
||||
|
||||
{generate_code_example(python)|/typing:post|example}
|
||||
|
||||
|
|
|
@ -5,7 +5,6 @@
|
|||
## Usage examples
|
||||
|
||||
{start_tabs}
|
||||
{tab|python}
|
||||
|
||||
{generate_code_example(python)|/users/me/subscriptions:post|example}
|
||||
|
||||
|
|
|
@ -5,7 +5,6 @@
|
|||
## Usage examples
|
||||
|
||||
{start_tabs}
|
||||
{tab|python}
|
||||
|
||||
{generate_code_example(python)|/users/me/muted_users/{muted_user_id}:delete|example}
|
||||
|
||||
|
|
|
@ -5,7 +5,6 @@
|
|||
## Usage examples
|
||||
|
||||
{start_tabs}
|
||||
{tab|python}
|
||||
|
||||
{generate_code_example(python)|/users/me/subscriptions:delete|example}
|
||||
|
||||
|
|
|
@ -5,7 +5,6 @@
|
|||
## Usage examples
|
||||
|
||||
{start_tabs}
|
||||
{tab|python}
|
||||
|
||||
{generate_code_example(python)|/settings/display:patch|example}
|
||||
|
||||
|
|
|
@ -5,7 +5,6 @@
|
|||
## Usage examples
|
||||
|
||||
{start_tabs}
|
||||
{tab|python}
|
||||
|
||||
{generate_code_example(python)|/realm/filters/{filter_id}:patch|example}
|
||||
|
||||
|
|
|
@ -5,7 +5,6 @@
|
|||
## Usage examples
|
||||
|
||||
{start_tabs}
|
||||
{tab|python}
|
||||
|
||||
{generate_code_example(python)|/messages/flags:post|example}
|
||||
|
||||
|
|
|
@ -5,7 +5,6 @@
|
|||
## Usage examples
|
||||
|
||||
{start_tabs}
|
||||
{tab|python}
|
||||
|
||||
{generate_code_example(python)|/messages/{message_id}:patch|example}
|
||||
|
||||
|
|
|
@ -5,7 +5,6 @@
|
|||
## Usage examples
|
||||
|
||||
{start_tabs}
|
||||
{tab|python}
|
||||
|
||||
{generate_code_example(python)|/settings/notifications:patch|example}
|
||||
|
||||
|
|
|
@ -5,7 +5,6 @@
|
|||
## Usage examples
|
||||
|
||||
{start_tabs}
|
||||
{tab|python}
|
||||
|
||||
{generate_code_example(python)|/streams/{stream_id}:patch|example}
|
||||
|
||||
|
|
|
@ -5,7 +5,6 @@
|
|||
## Usage examples
|
||||
|
||||
{start_tabs}
|
||||
{tab|python}
|
||||
|
||||
{generate_code_example(python)|/users/me/subscriptions/properties:post|example}
|
||||
|
||||
|
|
|
@ -5,7 +5,6 @@
|
|||
## Usage examples
|
||||
|
||||
{start_tabs}
|
||||
{tab|python}
|
||||
|
||||
{generate_code_example(python)|/user_groups/{user_group_id}/members:post|example}
|
||||
|
||||
|
|
|
@ -5,7 +5,6 @@
|
|||
## Usage examples
|
||||
|
||||
{start_tabs}
|
||||
{tab|python}
|
||||
|
||||
{generate_code_example(python)|/user_groups/{user_group_id}:patch|example}
|
||||
|
||||
|
|
|
@ -5,7 +5,6 @@
|
|||
## Usage examples
|
||||
|
||||
{start_tabs}
|
||||
{tab|python}
|
||||
|
||||
{generate_code_example(python)|/users/{user_id}:patch|example}
|
||||
|
||||
|
|
|
@ -6,7 +6,6 @@
|
|||
|
||||
{start_tabs}
|
||||
|
||||
{tab|python}
|
||||
|
||||
{generate_code_example(python)|/realm/emoji/{emoji_name}:post|example}
|
||||
|
||||
|
|
|
@ -6,7 +6,6 @@
|
|||
|
||||
{start_tabs}
|
||||
|
||||
{tab|python}
|
||||
|
||||
{generate_code_example(python)|/user_uploads:post|example}
|
||||
|
||||
|
|
|
@ -129,6 +129,8 @@ def extract_code_example(
|
|||
def render_python_code_example(
|
||||
function: str, admin_config: bool = False, **kwargs: Any
|
||||
) -> List[str]:
|
||||
if function not in zerver.openapi.python_examples.TEST_FUNCTIONS:
|
||||
return []
|
||||
method = zerver.openapi.python_examples.TEST_FUNCTIONS[function]
|
||||
function_source_lines = inspect.getsourcelines(method)[0]
|
||||
|
||||
|
@ -139,7 +141,7 @@ def render_python_code_example(
|
|||
|
||||
snippets = extract_code_example(function_source_lines, [], PYTHON_EXAMPLE_REGEX)
|
||||
|
||||
code_example = []
|
||||
code_example = ["{tab|python}\n"]
|
||||
code_example.append("```python")
|
||||
code_example.extend(config)
|
||||
|
||||
|
|
Loading…
Reference in New Issue