mirror of
https://github.com/maubot/rss.git
synced 2025-04-20 07:15:56 -04:00
Add html column to entry
This commit is contained in:
parent
b58202ebfb
commit
9949f6ef51
@ -97,6 +97,7 @@ class Entry:
|
||||
title: str
|
||||
summary: str
|
||||
link: str
|
||||
html: str
|
||||
|
||||
@classmethod
|
||||
def from_row(cls, row: Record | None) -> Entry | None:
|
||||
@ -143,7 +144,7 @@ class DBManager:
|
||||
return [(Feed.from_row(row), row["user_id"]) for row in rows]
|
||||
|
||||
async def get_entries(self, feed_id: int) -> list[Entry]:
|
||||
q = "SELECT feed_id, id, date, title, summary, link FROM entry WHERE feed_id = $1"
|
||||
q = "SELECT feed_id, id, date, title, summary, link, html FROM entry WHERE feed_id = $1"
|
||||
return [Entry.from_row(row) for row in await self.db.fetch(q, feed_id)]
|
||||
|
||||
async def add_entries(self, entries: list[Entry], override_feed_id: int | None = None) -> None:
|
||||
@ -153,13 +154,13 @@ class DBManager:
|
||||
for entry in entries:
|
||||
entry.feed_id = override_feed_id
|
||||
records = [attr.astuple(entry) for entry in entries]
|
||||
columns = ("feed_id", "id", "date", "title", "summary", "link")
|
||||
columns = ("feed_id", "id", "date", "title", "summary", "link", "html")
|
||||
async with self.db.acquire() as conn:
|
||||
if self.db.scheme == Scheme.POSTGRES:
|
||||
await conn.copy_records_to_table("entry", records=records, columns=columns)
|
||||
else:
|
||||
q = (
|
||||
"INSERT INTO entry (feed_id, id, date, title, summary, link) "
|
||||
"INSERT INTO entry (feed_id, id, date, title, summary, link, html) "
|
||||
"VALUES ($1, $2, $3, $4, $5, $6)"
|
||||
)
|
||||
await conn.executemany(q, records)
|
||||
|
@ -17,7 +17,6 @@ from mautrix.util.async_db import Connection, Scheme, UpgradeTable
|
||||
|
||||
upgrade_table = UpgradeTable()
|
||||
|
||||
|
||||
@upgrade_table.register(description="Latest revision", upgrades_to=3)
|
||||
async def upgrade_latest(conn: Connection, scheme: Scheme) -> None:
|
||||
gen = "GENERATED ALWAYS AS IDENTITY" if scheme != Scheme.SQLITE else ""
|
||||
@ -72,3 +71,8 @@ async def upgrade_v2(conn: Connection) -> None:
|
||||
async def upgrade_v3(conn: Connection) -> None:
|
||||
await conn.execute("ALTER TABLE feed ADD COLUMN next_retry BIGINT DEFAULT 0")
|
||||
await conn.execute("ALTER TABLE feed ADD COLUMN error_count BIGINT DEFAULT 0")
|
||||
|
||||
|
||||
@upgrade_table.register(description="Add html field to entry")
|
||||
async def upgrade_v4(conn: Connection) -> None:
|
||||
await conn.execute("ALTER TABLE entry ADD COLUMN html TEXT")
|
||||
|
Loading…
x
Reference in New Issue
Block a user