From bcdbc626818012f66300b4dc42a7f3256a630d42 Mon Sep 17 00:00:00 2001 From: LaoWang <257199637@qq.com> Date: Tue, 2 Jun 2026 11:27:30 +0000 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=B7=BB=E5=8A=A0=E8=AF=91=E6=96=87?= =?UTF-8?q?=E5=8A=9F=E8=83=BD=20+=20Attention=20Is=20All=20You=20Need=20?= =?UTF-8?q?=E4=B8=AD=E6=96=87=E8=AF=91=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- api/server.py | 18 ++++++++++++++++++ .../Attention_Is_All_You_Need_CN.pdf | Bin 0 -> 67013 bytes requirements.txt | 2 +- static/app.js | 1 + static/index.html | 1 + 5 files changed, 21 insertions(+), 1 deletion(-) create mode 100644 papers/translated/Attention_Is_All_You_Need_CN.pdf diff --git a/api/server.py b/api/server.py index 4ba1b0a..3455571 100644 --- a/api/server.py +++ b/api/server.py @@ -464,6 +464,24 @@ def download_single_pdf(arxiv_id: str): except subprocess.TimeoutExpired: return {"ok": False, "arxiv_id": arxiv_id, "status": "timeout"} +# ─── Routes: Translated PDFs ──────────────────────────── +TRANSLATED_DIR = PAPERS_DIR / "translated" + +@app.get("/api/translated/{arxiv_id}") +def check_translation(arxiv_id: str): + """Check if translation exists for a paper""" + fn = f"{arxiv_id}.pdf" + return {"arxiv_id": arxiv_id, "exists": (TRANSLATED_DIR / fn).exists()} + +@app.get("/papers/translated/{arxiv_id}.pdf") +def serve_translated(arxiv_id: str): + """Serve translated PDF from cache""" + fp = TRANSLATED_DIR / f"{arxiv_id}.pdf" + if not fp.exists(): + raise HTTPException(status_code=404, detail="Translation not found") + return FileResponse(fp, media_type="application/pdf", + headers={"Content-Disposition": "inline"}) + # ─── Health ───────────────────────────────────────────── @app.get("/api/health") def health(): diff --git a/papers/translated/Attention_Is_All_You_Need_CN.pdf b/papers/translated/Attention_Is_All_You_Need_CN.pdf new file mode 100644 index 0000000000000000000000000000000000000000..9ca9a65a8852fcd60b1b7b2294782396661e4cfc GIT binary patch literal 67013 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%0A-Xe*N$;Ge$5Mo9R?Z@U%vFyuwPA+Jhz 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 Yxw)IWy8kP}VK7WU5U{byYbX%>7aom$=Kufz literal 0 HcmV?d00001 diff --git a/requirements.txt b/requirements.txt index d71dac4..a4ff6e3 100644 --- a/requirements.txt +++ b/requirements.txt @@ -5,4 +5,4 @@ pydantic>=2.10 python-multipart>=0.0.19 aiofiles>=24.0 tqdm>=4.66 -PyMuPDF>=1.24 +fpdf2>=2.7 diff --git a/static/app.js b/static/app.js index 94f0592..bff1666 100644 --- a/static/app.js +++ b/static/app.js @@ -151,6 +151,7 @@ function renderPaper(p) { const links = []; if (pdfUrl) links.push(``); else if (p.arxiv) links.push(`📋 arXiv`); + if (p.arxiv) links.push(`📖 译文`); return `
${p.year||'—'}
${p.title}
${p.authors||''}${p.venue?`${p.venue}`:''}${tags}
diff --git a/static/index.html b/static/index.html index 90ee027..b687345 100644 --- a/static/index.html +++ b/static/index.html @@ -183,6 +183,7 @@ function renderPaper(p) { const links = []; if (pdfUrl) links.push(``); else if (p.arxiv) links.push(`📋 arXiv`); + if (p.arxiv) links.push(`📖 译文`); return `
${p.year||'—'}
${p.title}
${p.authors||''}${p.venue?`${p.venue}`:''}${tags}