Skip to content
Snippets Groups Projects
Commit 1f300f5a authored by Falk Rehse's avatar Falk Rehse
Browse files

Update DB to allow for thumbnails

parent 4fc513a6
No related branches found
No related tags found
No related merge requests found
Pipeline #76406 passed
......@@ -31,7 +31,7 @@ from mautrix.errors.request import MForbidden
from maubot import Plugin, MessageEvent
from maubot.handlers import command, event
from .db import Database, Feed, Entry, Subscription
from .db import Database, Feed, Entry, Thumbnail, Subscription
class Config(BaseProxyConfig):
......
......@@ -30,8 +30,8 @@ Subscription = NamedTuple("Subscription", feed_id=int, room_id=RoomID, user_id=U
notification_template=Template, send_notice=bool)
Feed = NamedTuple("Feed", id=int, url=str, title=str, subtitle=str, link=str,
subscriptions=List[Subscription])
Entry = NamedTuple("Entry", feed_id=int, id=str, date=datetime, title=str, summary=str, content=str, link=str)
Entry = NamedTuple("Entry", feed_id=int, id=str, date=datetime, title=str, summary=str, content=str, link=str, thumbnail_id=str)
Thumbnail = NamedTuple("Thumbnail", id=str, url=str, mime_type=str, size=int)
class Database:
db: Engine
......@@ -65,7 +65,13 @@ class Database:
Column("title", Text, nullable=False),
Column("summary", Text, nullable=False),
Column("content", Text, nullable=False),
Column("link", Text, nullable=False))
Column("link", Text, nullable=False),
Column("thumbnail_id", Integer, ForeignKey("thumbnail.id"), nullable=True))
self.thumbnail = Table("thumbnail", metadata,
Column("id", String(255), primary_key=True),
Column("url", String(255), nullable=False),
Column("mime_type", String(255), nullable=False),
Column("size", Integer, nullable=False))
self.version = Table("version", metadata,
Column("version", Integer, primary_key=True))
self.upgrade()
......@@ -109,6 +115,16 @@ class Database:
if version == 1:
self.db.execute("ALTER TABLE subscription ADD COLUMN send_notice BOOLEAN DEFAULT true")
version = 2
if version == 2:
self.db.execute("ALTER TABLE entry ADD COLUMN thumbnail_id VARCHAR(255)")
self.db.execute("""CREATE TABLE IF NOT EXISTS thumbnail (
id VARCHAR(255) NOT NULL,
url VARCHAR(255) NOT NULL,
mime_type VARCHAR(255) NOT NULL,
size INTEGER NOT NULL,
PRIMARY KEY (id)
""")
version = 3
self.db.execute(self.version.delete())
self.db.execute(self.version.insert().values(version=version))
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment