feat: add admin dashboard, pipeline service, lightbox, and update dependencies
This commit is contained in:
@@ -7,12 +7,12 @@ from xml.sax.saxutils import escape
|
||||
|
||||
from fastapi import APIRouter, Depends, Query, Request
|
||||
from fastapi.responses import Response
|
||||
from sqlalchemy import text
|
||||
from sqlalchemy import select
|
||||
from sqlalchemy.orm import Session, joinedload
|
||||
|
||||
from app.config import settings
|
||||
from app.database import get_db
|
||||
from app.models import Paper, PaperTag, UserReadingStatus
|
||||
from app.models import Paper, PaperTag
|
||||
from app.services.searcher import get_all_tags, search_papers
|
||||
from app.services.user_data import query_reading_list
|
||||
from app.utils import templates, today_str
|
||||
@@ -144,9 +144,9 @@ def rss_feed(
|
||||
"""RSS 2.0 Feed — 最近 7 天论文。"""
|
||||
seven_days_ago = date.today() - timedelta(days=7)
|
||||
|
||||
query = (
|
||||
db.query(Paper)
|
||||
.filter(Paper.paper_date >= seven_days_ago)
|
||||
stmt = (
|
||||
select(Paper)
|
||||
.where(Paper.paper_date >= seven_days_ago)
|
||||
.options(
|
||||
joinedload(Paper.authors),
|
||||
joinedload(Paper.tags),
|
||||
@@ -156,9 +156,9 @@ def rss_feed(
|
||||
)
|
||||
|
||||
if tag:
|
||||
query = query.filter(Paper.tags.any(PaperTag.tag == tag))
|
||||
stmt = stmt.where(Paper.tags.any(PaperTag.tag == tag))
|
||||
|
||||
papers = query.all()
|
||||
papers = db.execute(stmt).unique().scalars().all()
|
||||
xml = _generate_rss_xml(papers, settings.BASE_URL, tag or None)
|
||||
return Response(content=xml, media_type="application/xml")
|
||||
|
||||
|
||||
Reference in New Issue
Block a user