initial framework
This commit is contained in:
35
bot/models.py
Normal file
35
bot/models.py
Normal file
@@ -0,0 +1,35 @@
|
||||
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)
|
Reference in New Issue
Block a user