Compare commits
	
		
			3 Commits
		
	
	
		
			3097594482
			...
			a0e1aaa779
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 
						 | 
					a0e1aaa779 | ||
| c9254a3e88 | |||
| 6b63276dd7 | 
@@ -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))
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user