2023-04-19 23:38:09 +02:00

35 lines
723 B
Python

from peewee import *
from pathlib import Path
db = DatabaseProxy()
class BaseModel(Model):
class Meta:
database = db
db_table = 'journal'
# model for a single journal entry
class JournalEntry(BaseModel):
# the date of the entry
date = DateField()
# the text of the entry
text = TextField()
media_path = TextField()
author = TextField()
@property
def media(self):
return Path(self.media_path).open('rb')
@media.setter
def media(self, media):
self.media_path = Path(media).absolute()
self.save()
def set_db(db_path):
db.initialize(SqliteDatabase(db_path))
db.connect()
db.create_tables([JournalEntry], safe=True)