pylibrlp

Python3 wrapper for librlp
git clone git://git.defalsify.org/pylibrlp.git
Log | Files | Refs | LICENSE

__init__.py (665B)


      1 # standard imports
      2 import sys
      3 import re
      4 import os
      5 import ctypes
      6 import ctypes.util
      7 
      8 
      9 LIBRLP_RLP_MAX_LIST_DEPTH = 1024
     10 
     11 
     12 __path_librlp = ctypes.util.find_library('rlp')
     13 
     14 
     15 if __path_librlp == None:
     16     v = sys.version_info
     17     re_so = r'^rlp.cpython-' + str(v[0]) + str(v[1]) + '.*\.so$'
     18     script_dir = os.path.dirname(__file__)
     19     root_dir = os.path.join(script_dir, '..')
     20     for f in os.listdir(root_dir):
     21         if re.match(re_so, f):
     22             __path_librlp = os.path.join(root_dir, f)
     23             break
     24 
     25 if __path_librlp == None:
     26     raise ImportError('missing librlp shared library')
     27 
     28 librlp = ctypes.CDLL(__path_librlp)
     29 
     30 from .encoder import RLPEncoder