summaryrefslogtreecommitdiff
path: root/wrappers/wrapper.py
diff options
context:
space:
mode:
Diffstat (limited to 'wrappers/wrapper.py')
-rwxr-xr-xwrappers/wrapper.py22
1 files changed, 18 insertions, 4 deletions
diff --git a/wrappers/wrapper.py b/wrappers/wrapper.py
index 52cbfc7..44d982c 100755
--- a/wrappers/wrapper.py
+++ b/wrappers/wrapper.py
@@ -1,6 +1,8 @@
#!/usr/bin/env python
# Example for using the shared library from python
+# Will work with either python 2 or python 3
+# Requires cmark library to be installed
from ctypes import CDLL, c_char_p, c_long
import sys
@@ -9,15 +11,27 @@ import platform
sysname = platform.system()
if sysname == 'Darwin':
- cmark = CDLL("build/src/libcmark.dylib")
+ libname = "libcmark.dylib"
+elif sysname == 'Windows':
+ libname = "cmark.dll"
else:
- cmark = CDLL("build/src/libcmark.so")
+ libname = "libcmark.so"
+cmark = CDLL(libname)
markdown = cmark.cmark_markdown_to_html
markdown.restype = c_char_p
-markdown.argtypes = [c_char_p, c_long]
+markdown.argtypes = [c_char_p, c_long, c_long]
+
+opts = 8 # CMARK_OPT_PRETTY
def md2html(text):
- return markdown(text, len(text))
+ if sys.version_info >= (3,0):
+ textbytes = text.encode('utf-8')
+ textlen = len(textbytes)
+ return markdown(textbytes, textlen, opts).decode('utf-8')
+ else:
+ textbytes = text
+ textlen = len(text)
+ return markdown(textbytes, textlen, opts)
sys.stdout.write(md2html(sys.stdin.read()))