re-add emojis to babycode parser
This commit is contained in:
		@@ -28,6 +28,53 @@ TAGS = {
 | 
			
		||||
    "ol": lambda children, attr: f"<ol>{tag_list(children)}</ol>",
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
def make_emoji(name, code):
 | 
			
		||||
    return f' <img class=emoji src="/static/emoji/{name}.png" alt="{name}" title=":{code}:">'
 | 
			
		||||
 | 
			
		||||
EMOJI = {
 | 
			
		||||
    'angry': make_emoji('angry', 'angry'),
 | 
			
		||||
 | 
			
		||||
    '(': make_emoji('frown', '('),
 | 
			
		||||
 | 
			
		||||
    'D': make_emoji('grin', 'D'),
 | 
			
		||||
 | 
			
		||||
    'imp': make_emoji('imp', 'imp'),
 | 
			
		||||
 | 
			
		||||
    'angryimp': make_emoji('impangry', 'angryimp'),
 | 
			
		||||
    'impangry': make_emoji('impangry', 'impangry'),
 | 
			
		||||
 | 
			
		||||
    'lobster': make_emoji('lobster', 'lobster'),
 | 
			
		||||
 | 
			
		||||
    '|': make_emoji('neutral', '|'),
 | 
			
		||||
 | 
			
		||||
    'pensive': make_emoji('pensive', 'pensive'),
 | 
			
		||||
 | 
			
		||||
    ')': make_emoji('smile', ')'),
 | 
			
		||||
 | 
			
		||||
    'smiletear': make_emoji('smiletear', 'smiletear'),
 | 
			
		||||
    'crytear': make_emoji('smiletear', 'crytear'),
 | 
			
		||||
 | 
			
		||||
    ',': make_emoji('sob', ','),
 | 
			
		||||
    'T': make_emoji('sob', 'T'),
 | 
			
		||||
    'cry': make_emoji('sob', 'cry'),
 | 
			
		||||
    'sob': make_emoji('sob', 'sob'),
 | 
			
		||||
 | 
			
		||||
    'o': make_emoji('surprised', 'o'),
 | 
			
		||||
    'O': make_emoji('surprised', 'O'),
 | 
			
		||||
 | 
			
		||||
    'hmm': make_emoji('think', 'hmm'),
 | 
			
		||||
    'think': make_emoji('think', 'think'),
 | 
			
		||||
    'thinking': make_emoji('think', 'thinking'),
 | 
			
		||||
 | 
			
		||||
    'P': make_emoji('tongue', 'P'),
 | 
			
		||||
    'p': make_emoji('tongue', 'p'),
 | 
			
		||||
 | 
			
		||||
    'weary': make_emoji('weary', 'weary'),
 | 
			
		||||
 | 
			
		||||
    ';': make_emoji('wink', ';'),
 | 
			
		||||
    'wink': make_emoji('wink', 'wink'),
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
TEXT_ONLY = ["code"]
 | 
			
		||||
 | 
			
		||||
def break_lines(text):
 | 
			
		||||
@@ -40,8 +87,10 @@ def babycode_to_html(s):
 | 
			
		||||
    parser = Parser(subj)
 | 
			
		||||
    parser.valid_bbcode_tags = TAGS.keys()
 | 
			
		||||
    parser.bbcode_tags_only_text_children = TEXT_ONLY
 | 
			
		||||
    parser.valid_emotes = EMOJI.keys()
 | 
			
		||||
 | 
			
		||||
    elements = parser.parse()
 | 
			
		||||
    print(elements)
 | 
			
		||||
    out = ""
 | 
			
		||||
    def fold(element, nobr):
 | 
			
		||||
        if isinstance(element, str):
 | 
			
		||||
@@ -59,6 +108,8 @@ def babycode_to_html(s):
 | 
			
		||||
                return res
 | 
			
		||||
            case "link":
 | 
			
		||||
                return f"<a href=\"{element['url']}\">{element['url']}</a>"
 | 
			
		||||
            case 'emote':
 | 
			
		||||
                return EMOJI[element['name']]
 | 
			
		||||
            case "rule":
 | 
			
		||||
                return "<hr>"
 | 
			
		||||
    for e in elements:
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user