diff options
Diffstat (limited to 'challenge-259/zapwai/python/ch-2.py')
| -rw-r--r-- | challenge-259/zapwai/python/ch-2.py | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/challenge-259/zapwai/python/ch-2.py b/challenge-259/zapwai/python/ch-2.py new file mode 100644 index 0000000000..663034efc7 --- /dev/null +++ b/challenge-259/zapwai/python/ch-2.py @@ -0,0 +1,38 @@ +def proc(line): + if line[0] == '{': + line = line[3:-3] + name = line.split("=")[0].split()[0] + if name[0:3] == "end": + return + line = line[len(name)+1:] + field = [] + chunk = line.split("=") + for i in range(len(chunk) - 1): + field.append(chunk[i].split().pop()) + value = [] + for i in range(1, len(chunk) - 1): + s = chunk[i][:-len(field[i])] + value.append(s) + value.append(chunk[len(chunk)-1]) + print("Name =>", name) + print("Fields =>") + for i in range(len(field)): + print("\t",field[i],"->",value[i]) + print() + else: + print("Text =>", line) + + +line1 = '{% id field1="value1" field2="value2" field3=42 %}' +line2 = '{% youtube title="Title \"quoted\" done" foo="bar" baz=31 %}' +line3 = '{% youtube title="Title with escaped backslash \\" %}' +line4 = '{% id field="val1" field2="val2" %}' +line5 = '{% test field1="value1" df=42 %}' +line6 = 'LINES' +line7 = 'More Lines' +line8 = '{% endtest %}' + +lines = [line1, line2, line3, line4, line5, line6, line7, line8] + +for line in lines: + proc(line) |
