diff options
| -rwxr-xr-x | wrappers/wrapper.py | 22 | ||||
| -rwxr-xr-x | wrappers/wrapper3.py | 25 | 
2 files changed, 18 insertions, 29 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())) diff --git a/wrappers/wrapper3.py b/wrappers/wrapper3.py deleted file mode 100755 index 7a777fa..0000000 --- a/wrappers/wrapper3.py +++ /dev/null @@ -1,25 +0,0 @@ -#!/usr/bin/env python3 - -# Example for using the shared library from python - -from ctypes import CDLL, c_char_p, c_long -import sys -import platform - -sysname = platform.system() - -if sysname == 'Darwin': -    cmark = CDLL("build/src/libcmark.dylib") -else: -    cmark = CDLL("build/src/libcmark.so") - -markdown = cmark.cmark_markdown_to_html -markdown.restype = c_char_p -markdown.argtypes = [c_char_p, c_long] - -def md2html(text): -    textbytes = text.encode('utf-8') -    textlen = len(textbytes) -    return markdown(textbytes, textlen).decode('utf-8') - -sys.stdout.write(md2html(sys.stdin.read()))  | 
