Skip to content

Commit 12cb4b1

Browse files
Translate PDF: Fix name of destination language parameter
Assisted-by: Codex
1 parent ad40437 commit 12cb4b1

4 files changed

Lines changed: 21 additions & 38 deletions

File tree

src/pdfrest/client.py

Lines changed: 8 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -2170,8 +2170,7 @@ def translate_pdf_text(
21702170
self,
21712171
file: PdfRestFile | Sequence[PdfRestFile],
21722172
*,
2173-
target_language: str,
2174-
source_language: str | None = None,
2173+
output_language: str,
21752174
pages: PdfPageSelection | None = None,
21762175
output_format: TranslateOutputFormat = "markdown",
21772176
output: str | None = None,
@@ -2184,12 +2183,10 @@ def translate_pdf_text(
21842183

21852184
payload: dict[str, Any] = {
21862185
"files": file,
2187-
"target_language": target_language,
2186+
"output_language": output_language,
21882187
"output_format": output_format,
21892188
"output_type": "json",
21902189
}
2191-
if source_language is not None:
2192-
payload["source_language"] = source_language
21932190
if pages is not None:
21942191
payload["pages"] = pages
21952192
if output is not None:
@@ -2214,8 +2211,7 @@ def translate_pdf_text_to_file(
22142211
self,
22152212
file: PdfRestFile | Sequence[PdfRestFile],
22162213
*,
2217-
target_language: str,
2218-
source_language: str | None = None,
2214+
output_language: str,
22192215
pages: PdfPageSelection | None = None,
22202216
output_format: TranslateOutputFormat = "markdown",
22212217
output: str | None = None,
@@ -2228,12 +2224,10 @@ def translate_pdf_text_to_file(
22282224

22292225
payload: dict[str, Any] = {
22302226
"files": file,
2231-
"target_language": target_language,
2227+
"output_language": output_language,
22322228
"output_format": output_format,
22332229
"output_type": "file",
22342230
}
2235-
if source_language is not None:
2236-
payload["source_language"] = source_language
22372231
if pages is not None:
22382232
payload["pages"] = pages
22392233
if output is not None:
@@ -3093,8 +3087,7 @@ async def translate_pdf_text(
30933087
self,
30943088
file: PdfRestFile | Sequence[PdfRestFile],
30953089
*,
3096-
target_language: str,
3097-
source_language: str | None = None,
3090+
output_language: str,
30983091
pages: PdfPageSelection | None = None,
30993092
output_format: TranslateOutputFormat = "markdown",
31003093
output: str | None = None,
@@ -3107,12 +3100,10 @@ async def translate_pdf_text(
31073100

31083101
payload: dict[str, Any] = {
31093102
"files": file,
3110-
"target_language": target_language,
3103+
"output_language": output_language,
31113104
"output_format": output_format,
31123105
"output_type": "json",
31133106
}
3114-
if source_language is not None:
3115-
payload["source_language"] = source_language
31163107
if pages is not None:
31173108
payload["pages"] = pages
31183109
if output is not None:
@@ -3137,8 +3128,7 @@ async def translate_pdf_text_to_file(
31373128
self,
31383129
file: PdfRestFile | Sequence[PdfRestFile],
31393130
*,
3140-
target_language: str,
3141-
source_language: str | None = None,
3131+
output_language: str,
31423132
pages: PdfPageSelection | None = None,
31433133
output_format: TranslateOutputFormat = "markdown",
31443134
output: str | None = None,
@@ -3151,12 +3141,10 @@ async def translate_pdf_text_to_file(
31513141

31523142
payload: dict[str, Any] = {
31533143
"files": file,
3154-
"target_language": target_language,
3144+
"output_language": output_language,
31553145
"output_format": output_format,
31563146
"output_type": "file",
31573147
}
3158-
if source_language is not None:
3159-
payload["source_language"] = source_language
31603148
if pages is not None:
31613149
payload["pages"] = pages
31623150
if output is not None:

src/pdfrest/models/_internal.py

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -420,13 +420,10 @@ class TranslatePdfTextPayload(BaseModel):
420420
),
421421
PlainSerializer(_serialize_as_first_file_id),
422422
]
423-
target_language: Annotated[
424-
str, Field(serialization_alias="target_language", min_length=1)
423+
output_language: Annotated[
424+
str,
425+
Field(serialization_alias="output_language", min_length=1),
425426
]
426-
source_language: Annotated[
427-
str | None,
428-
Field(serialization_alias="source_language", min_length=1, default=None),
429-
] = None
430427
pages: Annotated[
431428
list[AscendingPageRange] | None,
432429
Field(serialization_alias="pages", min_length=1, default=None),

tests/live/test_live_translate_pdf_text.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ def test_live_translate_pdf_text_success(
2020
uploaded = client.files.create_from_paths([resource])[0]
2121
response = client.translate_pdf_text(
2222
uploaded,
23-
target_language="fr",
23+
output_language="fr",
2424
output_format="plaintext",
2525
)
2626

@@ -42,7 +42,7 @@ def test_live_translate_pdf_text_invalid_output_format(
4242
with pytest.raises(PdfRestApiError, match="error"):
4343
client.translate_pdf_text(
4444
uploaded,
45-
target_language="es",
45+
output_language="es",
4646
extra_body={"output_format": "invalid-format"},
4747
)
4848

@@ -59,7 +59,7 @@ def test_live_translate_pdf_text_file_success(
5959
uploaded = client.files.create_from_paths([resource])[0]
6060
response = client.translate_pdf_text_to_file(
6161
uploaded,
62-
target_language="fr",
62+
output_language="fr",
6363
output_format="plaintext",
6464
)
6565

tests/test_translate_pdf_text.py

Lines changed: 7 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ def test_translate_payload_rejects_invalid_mime() -> None:
5050
ValidationError, match="Must be a PDF, Markdown, or plain text file"
5151
):
5252
TranslatePdfTextPayload.model_validate(
53-
{"files": [image_file], "target_language": "fr"}
53+
{"files": [image_file], "output_language": "fr"}
5454
)
5555

5656

@@ -66,8 +66,7 @@ def test_translate_pdf_text_json_success(monkeypatch: pytest.MonkeyPatch) -> Non
6666
payload_dump = TranslatePdfTextPayload.model_validate(
6767
{
6868
"files": [input_file],
69-
"target_language": "fr",
70-
"source_language": "en",
69+
"output_language": "fr",
7170
"pages": ["1-2"],
7271
"output_format": "plaintext",
7372
"output_type": "json",
@@ -96,8 +95,7 @@ def handler(request: httpx.Request) -> httpx.Response:
9695
with PdfRestClient(api_key=VALID_API_KEY, transport=transport) as client:
9796
response = client.translate_pdf_text(
9897
input_file,
99-
target_language="fr",
100-
source_language="en",
98+
output_language="fr",
10199
pages=["1-2"],
102100
output_format="plaintext",
103101
output="translation",
@@ -119,7 +117,7 @@ def test_translate_pdf_text_request_customization(
119117
payload_dump = TranslatePdfTextPayload.model_validate(
120118
{
121119
"files": [input_file],
122-
"target_language": "es",
120+
"output_language": "es",
123121
"output_type": "file",
124122
}
125123
).model_dump(mode="json", by_alias=True, exclude_none=True, exclude_unset=True)
@@ -151,7 +149,7 @@ def handler(request: httpx.Request) -> httpx.Response:
151149
with PdfRestClient(api_key=VALID_API_KEY, transport=transport) as client:
152150
response = client.translate_pdf_text_to_file(
153151
input_file,
154-
target_language="es",
152+
output_language="es",
155153
extra_query={"trace": "true"},
156154
extra_headers={"X-Debug": "sync"},
157155
extra_body={"debug": True},
@@ -177,7 +175,7 @@ async def test_async_translate_pdf_text_success(
177175
monkeypatch.delenv("PDFREST_API_KEY", raising=False)
178176
input_file = make_pdf_file(PdfRestFileID.generate(2))
179177
payload_dump = TranslatePdfTextPayload.model_validate(
180-
{"files": [input_file], "target_language": "de", "output_type": "json"}
178+
{"files": [input_file], "output_language": "de", "output_type": "json"}
181179
).model_dump(mode="json", by_alias=True, exclude_none=True, exclude_unset=True)
182180

183181
seen: dict[str, int] = {"post": 0}
@@ -202,7 +200,7 @@ def handler(request: httpx.Request) -> httpx.Response:
202200
async with AsyncPdfRestClient(api_key=ASYNC_API_KEY, transport=transport) as client:
203201
response = await client.translate_pdf_text(
204202
input_file,
205-
target_language="de",
203+
output_language="de",
206204
)
207205

208206
assert seen == {"post": 1}

0 commit comments

Comments
 (0)