diff options
Diffstat (limited to 'wrappers/wrapper.py')
-rwxr-xr-x | wrappers/wrapper.py | 22 |
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())) |