openapi-generators / openapi-generators/openapi-python-client
Quotes in Content-Type cause syntax errors
Nadie ha tomado este issue todavía.
- Lenguaje dominante
- Python
- Estrellas
- 2k
- Forks
- 293
- Merge medio
- 34 min
- PR fusionados (30 d)
- 1
Descripción
Describe the bug
Running openapi-python-client generate --path api.yml on the input file below fails with:
Generating /tmp/example-client
Error(s) encountered while generating, client was not created
ruff failed
example_client/api/default/put_object.py:34:62: SyntaxError: Simple statements must be separated by newlines or semicolons
|
33 | _kwargs["json"] = _body
34 | headers["Content-Type"] = "application/ld+json; profile="https://www.w3.org/ns/activitystreams""
| ^
35 |
36 | _kwargs["headers"] = headers
|
[...]
Quotes in the Content-Type should be escaped so that the generated result is legal Python code.
OpenAPI Spec File
openapi: "3.0.0"
info:
version: 0.0.1
title: example
paths:
/object:
put:
requestBody:
content:
"application/ld+json; profile=\"https://www.w3.org/ns/activitystreams\"":
schema:
type: string
responses:
'200':
description: OK
Desktop (please complete the following information):
- OS: Debian 13
- Python Version: 3.12.11
- openapi-python-client version: 0.24.3
Guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Línea de trabajo
Reproduce el fallo con openapi-python-client generate --path api.yml usando el ejemplo de OpenAPI del issue y, a continuación, sigue dónde el valor de Content-Type se convierte en la asignación generada de headers. Se considera terminado cuando los parámetros de Content-Type entre comillas producen Python válido y la generación se completa sin el error de sintaxis de Ruff informado.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- python
- Área
- tooling
- Tipo de issue
- Error
- Dificultad
- 3/5
- Tiempo estimado
- 1-2 días
- Estado de actividad
- Estancado
- Claridad
- Bastante claro
- Aptitud para principiantes
- 45/100