Erste Version des Lückentext Modules
authorFelix Schumacher <felix@zottel.(none)>
Fri, 3 Oct 2008 14:24:38 +0000 (16:24 +0200)
committerFelix Schumacher <felix@zottel.(none)>
Fri, 3 Oct 2008 14:24:38 +0000 (16:24 +0200)
lueckentext.py [new file with mode: 0644]
lueckentext_test.py [new file with mode: 0644]
text1.txt [new file with mode: 0644]

diff --git a/lueckentext.py b/lueckentext.py
new file mode 100644 (file)
index 0000000..fd9fb30
--- /dev/null
@@ -0,0 +1,20 @@
+#!/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
diff --git a/lueckentext_test.py b/lueckentext_test.py
new file mode 100644 (file)
index 0000000..b352cc6
--- /dev/null
@@ -0,0 +1,2 @@
+import doctest
+doctest.testfile("text1.txt")
diff --git a/text1.txt b/text1.txt
new file mode 100644 (file)
index 0000000..f507b1c
--- /dev/null
+++ b/text1.txt
@@ -0,0 +1,30 @@
+# -*- 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
+
+