am stupid
Some checks reported errors
continuous-integration/drone/push Build was killed

This commit is contained in:
Remy Moll 2023-04-24 22:19:15 +02:00
parent 9d700a8cfd
commit 24065171f7
3 changed files with 34 additions and 22 deletions

View File

@ -14,10 +14,11 @@ class JournalHandler(BaseHandler):
entry_points=[CommandHandler(entry_string, self.entry_point)], entry_points=[CommandHandler(entry_string, self.entry_point)],
states={ states={
DATE_CHOICE: [ DATE_CHOICE: [
CallbackQueryHandler(self.date_choice), CallbackQueryHandler(self.date_choice, pattern="today|yesterday"),
CallbackQueryHandler(self.date_custom, pattern="custom"),
], ],
DATE_ENTRY: [ DATE_ENTRY: [
MessageHandler(filters.TEXT, self.date_entry), MessageHandler(filters.ALL, self.date_entry),
], ],
CONTENT: [ CONTENT: [
MessageHandler(filters.ALL, self.content_save), MessageHandler(filters.ALL, self.content_save),
@ -49,23 +50,35 @@ class JournalHandler(BaseHandler):
async def date_choice(self, update, context): async def date_choice(self, update, context):
query = update.callback_query query = update.callback_query
await query.answer() await query.answer()
if query.data == "today" or query.data == "yesterday": if query.data == "today":
date = datetime.datetime.now().date() if query.data == "today" else datetime.datetime.now().date() - datetime.timedelta(days=1) date = datetime.datetime.now().date()
elif query.data == "yesterday":
date = datetime.datetime.now().date() - datetime.timedelta(days=1)
else:
raise ValueError("Invalid date choice")
with self.models.db: with self.models.db:
self.current_model, new = self.models.JournalEntry.get_or_create( self.current_model, new = self.models.JournalEntry.get_or_create(
date = date date = date
) )
if not new: if new:
await query.edit_message_text(text="An entry already exists for this date")
return ConversationHandler.END
await query.edit_message_text( await query.edit_message_text(
text="Please enter the content for the entry" text="Please enter the content for the entry"
) )
return CONTENT
else: else:
await query.edit_message_text(text="An entry already exists for this date")
return ConversationHandler.END
return CONTENT
async def date_custom(self, update, context):
query = update.callback_query
await query.answer()
await query.edit_message_text(text="Please enter the date in the format DDMMYYYY") await query.edit_message_text(text="Please enter the date in the format DDMMYYYY")
return DATE_ENTRY return DATE_ENTRY
async def date_entry(self, update, context): async def date_entry(self, update, context):
date = update.message.text date = update.message.text
try: try:
@ -73,7 +86,6 @@ class JournalHandler(BaseHandler):
except ValueError: except ValueError:
await update.message.reply_text("Please enter the date in the format DDMMYYYY") await update.message.reply_text("Please enter the date in the format DDMMYYYY")
return DATE_ENTRY return DATE_ENTRY
self.logger.info(f"Date: {date}")
with self.models.db: with self.models.db:
self.current_model, new = self.models.JournalEntry.get_or_create( self.current_model, new = self.models.JournalEntry.get_or_create(

View File

@ -6,7 +6,7 @@ db = DatabaseProxy()
class BaseModel(Model): class BaseModel(Model):
class Meta: class Meta:
database = db database = db
db_table = 'journal' db_table = 'lists'
class ListModel(BaseModel): class ListModel(BaseModel):
name = CharField(unique=True) name = CharField(unique=True)
@ -25,6 +25,6 @@ class ListModel(BaseModel):
def set_db(db_path): def set_db(db_path):
db.initialize(SqliteDatabase(db_path, pragmas={'journal_mode': 'wal'})) db.initialize(SqliteDatabase(db_path))
db.connect() with db:
db.create_tables([ListModel], safe=True) db.create_tables([ListModel], safe=True)

View File

@ -54,6 +54,6 @@ class JournalEntry(BaseModel):
def set_db(db_path): def set_db(db_path):
db.initialize(SqliteDatabase(db_path, pragmas={'journal_mode': 'wal'})) db.initialize(SqliteDatabase(db_path))
db.connect() with db:
db.create_tables([JournalEntry], safe=True) db.create_tables([JournalEntry], safe=True)