Ich versuche, eine Option zu meiner benutzerdefinierten Markdown-Erweiterung in Python3 hinzuzufügen. Leider erhalte ich den folgenden Fehler:Wie erstelle ich Optionen für die benutzerdefinierte Erweiterung Python Markdown?
File "pymodules/docmarkdown.py", line 232, in get_leaflang_markdown
MyFencedCodeExtension(deflang = "leaf"),
File "pymodules/docmarkdown.py", line 61, in __init__
super(MyFencedCodeExtension,self).__init__(**kwargs)
TypeError: __init__() got an unexpected keyword argument 'deflang'
Der Konstruktor-Code der Erweiterung ist unten. Es folgt dem Muster, das von der docs bereitgestellt wird.
class MyFencedCodeExtension(markdown.extensions.Extension):
def __init__(self, **kwargs):
self.config = { 'deflang' : [ None, "language if not specified" ] }
super(MyFencedCodeExtension,self).__init__(**kwargs)
Ich Verweis auf die Erweiterung, wenn die Markdown-Instanz Konstruktion:
return markdown.Markdown(
safe_mode = 'escape',
extensions = [
'meta',
'toc',
MyFencedCodeExtension(deflang = "leaf"),
CenterExtension({}),
]
Ja, ich verstehe speziell, was der Fehler bedeutet. Meine Frage ist, wie man das richtig für eine Erweiterung macht. Dieses Setup kommt direkt aus der Dokumentation - ich ging davon aus, dass es mit 'config' etwas Schwieriges tun würde, aber es könnte tatsächlich nur ein Fehler in der Dokumentation sein. –
Deshalb habe ich vorgeschlagen, dass Sie sich die Konstruktorsignatur anschauen. Wenn Sie ein Rezept genau befolgen und diese Art von Ausnahme ausgelöst wird, liegt das Problem wahrscheinlich beim Rezept. Meine Vermutung ist Rechtschreibung oder Großschreibung. – BoarGules