Add html column to entry

This commit is contained in:
A git user 2023-08-07 00:36:34 +02:00
parent b58202ebfb
commit 9949f6ef51
No known key found for this signature in database
GPG Key ID: 7920D03B7AA7CD7B
2 changed files with 9 additions and 4 deletions

View File

@ -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)

View File

@ -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")