--- /dev/null
+#!/usr/bin/python
+import re
+
+REPLACE_TEXT=re.compile('\[([^\]]+)\]', re.M)
+
+def to_html(text=""):
+ result = text
+ counter = 1
+ while REPLACE_TEXT.search(result):
+ result = REPLACE_TEXT.sub('<input type="text" name="%s" />' % ("l%d" % counter), result, 1)
+ counter += 1
+ return '<div class="lueckentext">\n%s\n</div>' % (result)
+
+def get_params(text=""):
+ result = {}
+ counter = 1
+ for value in REPLACE_TEXT.findall(text):
+ result["l%d" % counter] = value
+ counter += 1
+ return result
--- /dev/null
+# -*- coding: utf-8 -*-
+>>> import lueckentext
+>>> lueckentext.to_html("")
+'<div class="lueckentext">\n\n</div>'
+>>> print lueckentext.to_html(
+... u"""Dies [ist] ein Lueckentext. Er [enthaelt] mehrere
+... Worte und
+... mehrere Zeilen. Damit [er] ausgefuellt werden kann,
+... sollte man [die] deutsche Sprache kennen.
+... """)
+... # doctest: +ELLIPSIS
+... # doctest: +NORMALIZE_WHITESPACE
+<div class="lueckentext">
+Dies <input type="text" name="l1" /> ein Lueckentext.
+Er <input type="text" name="l2" /> mehrere Worte und
+mehrere Zeilen. Damit <input type="text" name="l3" />
+ausgefuellt werden kann, sollte man <input type="text" name="l4" />
+deutsche Sprache kennen.
+</div>
+
+>>> lueckentext.get_params('')
+{}
+
+>>> lueckentext.get_params('[test]')
+{'l1': 'test'}
+
+>>> lueckentext.get_params('Dies [ist] ein [Lueckentext].') == {'l1': 'ist', 'l2': 'Lueckentext'}
+True
+
+