diff options
author | Cengiz Kaygusuz <cngkaygusuz@gmail.com> | 2017-11-20 20:46:39 -0500 |
---|---|---|
committer | Cengiz Kaygusuz <cngkaygusuz@gmail.com> | 2017-11-20 20:46:39 -0500 |
commit | 27e183a78c8062ed7c2bbb91655a5e56cd697bba (patch) | |
tree | 88fd355a0cc6da4c130582e092d702836596cbb2 /examples/simpleWiki.py | |
parent | 4ba589cf13588e90992e23deb5a9784340efd2cc (diff) | |
download | pyparsing-git-27e183a78c8062ed7c2bbb91655a5e56cd697bba.tar.gz |
Move src to root
Diffstat (limited to 'examples/simpleWiki.py')
-rw-r--r-- | examples/simpleWiki.py | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/examples/simpleWiki.py b/examples/simpleWiki.py new file mode 100644 index 0000000..7a2a0ce --- /dev/null +++ b/examples/simpleWiki.py @@ -0,0 +1,32 @@ +from pyparsing import *
+
+wikiInput = """
+Here is a simple Wiki input:
+ *This is in italics.*
+ **This is in bold!**
+ ***This is in bold italics!***
+ Here's a URL to {{Pyparsing's Wiki Page->http://pyparsing.wikispaces.com}}
+"""
+
+def convertToHTML(opening,closing):
+ def conversionParseAction(s,l,t):
+ return opening + t[0] + closing
+ return conversionParseAction
+
+italicized = QuotedString("*").setParseAction(convertToHTML("<I>","</I>"))
+bolded = QuotedString("**").setParseAction(convertToHTML("<B>","</B>"))
+boldItalicized = QuotedString("***").setParseAction(convertToHTML("<B><I>","</I></B>"))
+def convertToHTML_A(s,l,t):
+ try:
+ text,url=t[0].split("->")
+ except ValueError:
+ raise ParseFatalException(s,l,"invalid URL link reference: " + t[0])
+ return '<A href="%s">%s</A>' % (url,text)
+
+urlRef = QuotedString("{{",endQuoteChar="}}").setParseAction(convertToHTML_A)
+
+wikiMarkup = urlRef | boldItalicized | bolded | italicized
+
+print(wikiInput)
+print()
+print(wikiMarkup.transformString(wikiInput))
|