2017-04-30 | Paul Boddie | file changeset files shortlog | Added support for other list node types, breaking the pattern for list items up into specific patterns. |
paul@0 | 1 | #!/usr/bin/env python |
paul@0 | 2 | |
paul@11 | 3 | from moinformat import parse |
paul@11 | 4 | from moinformat.serialisers import serialise, HTMLSerialiser |
paul@0 | 5 | |
paul@12 | 6 | sl = [] |
paul@12 | 7 | |
paul@12 | 8 | sl.append("""\ |
paul@1 | 9 | Hello |
paul@1 | 10 | {{{{#!wiki |
paul@1 | 11 | A region |
paul@10 | 12 | {{{ |
paul@1 | 13 | Another |
paul@1 | 14 | }}} |
paul@1 | 15 | End |
paul@1 | 16 | }}}} |
paul@1 | 17 | XXX |
paul@14 | 18 | """) |
paul@9 | 19 | |
paul@14 | 20 | sl.append("""\ |
paul@14 | 21 | XXX |
paul@9 | 22 | * Item 1 |
paul@14 | 23 | * Item 1.1 |
paul@9 | 24 | * Item 2 |
paul@14 | 25 | . Item 3 |
paul@14 | 26 | . Item 3.1 |
paul@9 | 27 | XXX |
paul@14 | 28 | a. Appendix |
paul@14 | 29 | |
paul@14 | 30 | i. Romanus eunt domus! |
paul@14 | 31 | I. What did they do for us? |
paul@12 | 32 | """) |
paul@1 | 33 | |
paul@12 | 34 | sl.append("""\ |
paul@0 | 35 | Hello |
paul@0 | 36 | {{{{#!xxx |
paul@0 | 37 | A region |
paul@0 | 38 | {{{ |
paul@0 | 39 | Another |
paul@0 | 40 | }}} |
paul@0 | 41 | End |
paul@0 | 42 | }}}} |
paul@0 | 43 | XXX |
paul@12 | 44 | """) |
paul@0 | 45 | |
paul@12 | 46 | sl.append("""\ |
paul@0 | 47 | Hello |
paul@0 | 48 | {{{{ |
paul@0 | 49 | Start |
paul@0 | 50 | }}} |
paul@0 | 51 | Still in region |
paul@0 | 52 | }}}} |
paul@0 | 53 | End |
paul@12 | 54 | """) |
paul@12 | 55 | |
paul@12 | 56 | sl.append("""\ |
paul@12 | 57 | Hello {{{world}}} again""") |
paul@0 | 58 | |
paul@12 | 59 | sl.append("""\ |
paul@12 | 60 | XXX |
paul@12 | 61 | |
paul@12 | 62 | YYY""") |
paul@0 | 63 | |
paul@12 | 64 | sl.append("""\ |
paul@12 | 65 | XXX |
paul@12 | 66 | ---- |
paul@12 | 67 | YYY |
paul@12 | 68 | ----still a rule |
paul@12 | 69 | also still a rule---- |
paul@12 | 70 | EOF""") |
paul@0 | 71 | |
paul@13 | 72 | sl.append("""\ |
paul@13 | 73 | = Level 1 = |
paul@13 | 74 | Text |
paul@13 | 75 | == Level 2 Heading == |
paul@13 | 76 | Text |
paul@13 | 77 | Not == a heading == |
paul@13 | 78 | == Not a heading == either |
paul@13 | 79 | = Mismatched heading == |
paul@13 | 80 | == Another mismatched heading = |
paul@13 | 81 | """) |
paul@13 | 82 | |
paul@12 | 83 | dl = map(parse, sl) |
paul@12 | 84 | nl = map(serialise, dl) |
paul@0 | 85 | |
paul@12 | 86 | for s, n in zip(sl, nl): |
paul@1 | 87 | print n == s |
paul@2 | 88 | print "----" |
paul@1 | 89 | print n |
paul@1 | 90 | print "----" |
paul@0 | 91 | |
paul@12 | 92 | for d in dl: |
paul@2 | 93 | print |
paul@2 | 94 | print "----" |
paul@1 | 95 | print serialise(d, HTMLSerialiser) |
paul@1 | 96 | print "----" |
paul@0 | 97 | |
paul@12 | 98 | for d in dl: |
paul@3 | 99 | print |
paul@3 | 100 | print "----" |
paul@3 | 101 | print d.prettyprint() |
paul@3 | 102 | print "----" |
paul@3 | 103 | |
paul@0 | 104 | # vim: tabstop=4 expandtab shiftwidth=4 |