Christian Fraß
update_2017-05-02
Christian Fraß commited 45c5304 at 2017-05-02 09:44:33
import json as _json
import os as _os
import re as _re
def dokuwiki_to(data):
content = ""
content += (" * type: %s\n" % (data["type"]))
content += (" * description: %s\n" % ("?" if (data["description"] is None) else data["description"]))
content += (" * tags\n")
for tag in data["tags"]:
content += (" * %s\n" % (tag))
content += (" * translations\n")
for (language , lemmata) in data["translations"].items():
content += (" * %s\n" % (language))
for lemma in lemmata:
content += (" * %s\n" % (lemma))
return content
def dokuwiki_from(content):
data = {}
state = "type"
lines = content.split("\n")
for line in lines:
if (line != ""):
if (state == "type"):
result = _re.match("^ \\* type: (.*)$", line)
if (result is not None):
data["type"] = result.group(1)
state = "description"
else:
raise ValueError("type expected in line '%s' while being in state '%s'" % (line, state))
elif (state == "description"):
result = _re.match("^ \\* description: (.*)$", line)
if (result is not None):
data["description"] = (None if (result.group(1) == "?") else result.group(1))
state = "tags"
else:
raise ValueError("description expected in line '%s' while being in state '%s'" % (line, state))
elif (state == "tags"):
result = _re.match("^ \\* tags$", line)
if (result is not None):
data["tags"] = []
state = "tagentry"
else:
raise ValueError("tags expected in line '%s' while being in state '%s'" % (line, state))
elif (state == "tagentry"):
result = _re.match("^ \\* (.*)$", line)
if (result is not None):
data["tags"].append(result.group(1))
 
 
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX