Merge branch 'feature/memory-redacted'
All checks were successful
continuous-integration/drone/push Build is passing
All checks were successful
continuous-integration/drone/push Build is passing
This commit is contained in:
commit
a0e1aaa779
@ -2,6 +2,8 @@ import os
|
||||
from telegram.ext import ConversationHandler, CommandHandler, MessageHandler, filters, CallbackQueryHandler, CallbackContext
|
||||
from telegram import InlineKeyboardButton, InlineKeyboardMarkup, Update, InputMediaPhoto
|
||||
import models
|
||||
from telegram.constants import ParseMode
|
||||
# ACTION_CHOICE, DATE_ENTRY, ADD_CONTENT = range(3)
|
||||
MEMORY_CHOICE = range(1)
|
||||
|
||||
|
||||
@ -74,13 +76,15 @@ class MemoryHandler(BaseHandler):
|
||||
caption=
|
||||
f"On {chosen_match.date_pretty}, "
|
||||
f"{chosen_match.author} wrote: \n"
|
||||
f"{chosen_match.text}"
|
||||
f"{chosen_match.spoiler_text}",
|
||||
parse_mode=ParseMode.HTML
|
||||
)
|
||||
else:
|
||||
await query.edit_message_text(
|
||||
f"On {chosen_match.date_pretty}, "
|
||||
f"{chosen_match.author} wrote: \n"
|
||||
f"{chosen_match.text}"
|
||||
f"{chosen_match.spoiler_text}",
|
||||
parse_mode=ParseMode.HTML
|
||||
)
|
||||
|
||||
return ConversationHandler.END
|
||||
|
@ -1,4 +1,5 @@
|
||||
from datetime import time, timedelta, timezone, datetime, date
|
||||
from telegram.constants import ParseMode
|
||||
import os
|
||||
from peewee import fn
|
||||
import logging
|
||||
@ -48,7 +49,8 @@ class RandomMemoryJob():
|
||||
caption =
|
||||
f"On {chosen_entry.date_pretty}, "
|
||||
f"{chosen_entry.author} wrote: \n"
|
||||
f"{chosen_entry.text}"
|
||||
f"{chosen_entry.spoiler_text}",
|
||||
parse_mode=ParseMode.HTML
|
||||
)
|
||||
else:
|
||||
await self.bot.send_message(
|
||||
@ -56,6 +58,7 @@ class RandomMemoryJob():
|
||||
text =
|
||||
f"On {chosen_entry.date_pretty}, "
|
||||
f"{chosen_entry.author} wrote: \n"
|
||||
f"{chosen_entry.text}"
|
||||
f"{chosen_entry.spoiler_text}",
|
||||
parse_mode=ParseMode.HTML
|
||||
)
|
||||
|
||||
|
@ -1,5 +1,6 @@
|
||||
from peewee import *
|
||||
from pathlib import Path
|
||||
import re
|
||||
import os
|
||||
import datetime
|
||||
|
||||
@ -60,6 +61,25 @@ class JournalEntry(BaseModel):
|
||||
except ValueError: #fck windows
|
||||
return self.date.strftime('%a, %d. %b %Y')
|
||||
|
||||
@property
|
||||
def spoiler_text(self) -> str:
|
||||
"""Returns the text with all the frisky details hidden away"""
|
||||
new_text = self.text.replace("<", "<").replace(">", ">").replace("&", "&")
|
||||
pattern = re.compile(
|
||||
"("
|
||||
"(((?<=(\.|\!|\?)\s)[A-Z])|(^[A-Z]))" # beginning of a sentence
|
||||
"([^\.\!\?])+" # any character being part of a sentence
|
||||
"\:\)" # the smiley
|
||||
"([^\.\!\?])*" # continuation of sentence
|
||||
"(\.|\!|\?|\,|$)" # end of the sentence
|
||||
")"
|
||||
)
|
||||
matches = pattern.findall(new_text)
|
||||
for match in matches:
|
||||
group_to_replace = match[0]
|
||||
new_text = new_text.replace(group_to_replace, f"<tg-spoiler>{group_to_replace}</tg-spoiler>")
|
||||
return new_text
|
||||
|
||||
|
||||
def set_db(db_path):
|
||||
db.initialize(SqliteDatabase(db_path))
|
||||
|
Loading…
x
Reference in New Issue
Block a user