summaryrefslogtreecommitdiff
path: root/wrappers
diff options
context:
space:
mode:
Diffstat (limited to 'wrappers')
-rwxr-xr-xwrappers/wrapper.py22
-rwxr-xr-xwrappers/wrapper3.py25
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()))