summaryrefslogtreecommitdiff
path: root/examples/simpleWiki.py
diff options
context:
space:
mode:
authorPaul McGuire <ptmcg@users.noreply.github.com>2018-01-06 23:38:53 -0600
committerGitHub <noreply@github.com>2018-01-06 23:38:53 -0600
commit430c5ad767cc946e9da7cd5f4673a4e3bd135a3c (patch)
tree5a7df11e0fd52ab320b0ef3e670e260f315ca9ae /examples/simpleWiki.py
parentf1d12567a8da4d254e6d62bb0d650c87c7d0bb89 (diff)
parentd953150a6db3ac247a64b047edc2df7156f3e56b (diff)
downloadpyparsing-git-430c5ad767cc946e9da7cd5f4673a4e3bd135a3c.tar.gz
Merge pull request #1 from cngkaygusuz/master
Add Scrutinizer-CI configuration and other niceties
Diffstat (limited to 'examples/simpleWiki.py')
-rw-r--r--examples/simpleWiki.py32
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))