From 7e0f01ef1e95c02ea7e1a4c41cf604f924493e3d Mon Sep 17 00:00:00 2001 From: Christian Moser Date: Fri, 2 Jan 2026 09:34:16 +0100 Subject: [PATCH] 2026.01.02 09:34:16 (cachyos.cmoser.eu) --- tinywiki/parser/bbcode/__init__.py | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/tinywiki/parser/bbcode/__init__.py b/tinywiki/parser/bbcode/__init__.py index f43ce97..6bddc87 100644 --- a/tinywiki/parser/bbcode/__init__.py +++ b/tinywiki/parser/bbcode/__init__.py @@ -4,6 +4,8 @@ from ... import settings PARSER = bbcode.Parser(newline="\n",escape_html=True,replace_links=False) def _(): + from django.utils.module_loading import import_string + def add_simple_formatters(simple_formatters): for i in simple_formatters: if len(i) == 0: @@ -17,15 +19,26 @@ def _(): def add_formatters(formatters): for i in formatters: + if len(i) == 0: continue + if isinstance(i[0][1], str): + if len(i[0]) < 2: + continue + elif len(i[0]) == 2: + args = (i[0][0], import_string(i[0][1])) + else: + args = (i[0][0], import_string(i[0][1]), *i[2:]) + else: + args = i[0] + if len(i) == 1: kwargs = {} else: kwargs = i[1] - PARSER.add_formatter(*i[0], **kwargs) + PARSER.add_formatter(*args, **kwargs) add_simple_formatters(formatters.SIMPLE_FORMATTERS) add_formatters(formatters.FORMATTERS)