From 9a292aed2e06f859521e9530f7110a2f3cb1ae60 Mon Sep 17 00:00:00 2001 From: Mirochill Date: Thu, 21 May 2026 19:29:55 +0200 Subject: [PATCH] Escape backslashes in generated docstrings --- .generator/src/generator/formatter.py | 4 ++-- .generator/tests/test_formatter.py | 7 ++++++- src/datadog_api_client/v1/api/logs_pipelines_api.py | 2 +- 3 files changed, 9 insertions(+), 4 deletions(-) diff --git a/.generator/src/generator/formatter.py b/.generator/src/generator/formatter.py index 81b81a9134..bb06e83d42 100644 --- a/.generator/src/generator/formatter.py +++ b/.generator/src/generator/formatter.py @@ -168,12 +168,12 @@ def header(self, text, level, raw=None): def docstring(text): if not text: return text - return ( + converted = ( m2r2.convert((text or "").replace("\\n", "\\\\n"), renderer=CustomRenderer())[1:-1] .replace("\\ ", " ") - .replace("\\`", "\\\\`") .replace("\n\n\n", "\n\n") ) + return converted.replace("\\", "\\\\") def _merge_imports(a, b): diff --git a/.generator/tests/test_formatter.py b/.generator/tests/test_formatter.py index 8d3520ede9..a48dd41766 100644 --- a/.generator/tests/test_formatter.py +++ b/.generator/tests/test_formatter.py @@ -1,6 +1,11 @@ import pytest from collections import defaultdict -from generator.formatter import _is_valid_identifier, format_data_with_schema +from generator.formatter import _is_valid_identifier, docstring, format_data_with_schema + + +class TestDocstring: + def test_escapes_backslashes_for_python_string_literals(self): + assert "``\\\\s``" in docstring(r"regex pattern like ``\s`` for spaces") class TestIsValidIdentifier: diff --git a/src/datadog_api_client/v1/api/logs_pipelines_api.py b/src/datadog_api_client/v1/api/logs_pipelines_api.py index 8d62c5366d..db6a9d7673 100644 --- a/src/datadog_api_client/v1/api/logs_pipelines_api.py +++ b/src/datadog_api_client/v1/api/logs_pipelines_api.py @@ -35,7 +35,7 @@ class LogsPipelinesApi: returned data to be configured before using in a request.** For example, if you are using the data returned from a request for another request body, and have a parsing rule - that uses a regex pattern like ``\s`` for spaces, you will + that uses a regex pattern like ``\\s`` for spaces, you will need to configure all escaped spaces as ``%{space}`` to use in the body data. """