From 5758e2f3769d8b39a872ff91a005afad0e7b83a0 Mon Sep 17 00:00:00 2001 From: dece Date: Tue, 12 May 2020 21:33:44 +0200 Subject: [PATCH] python: fix import in development --- bindings/python/example.py | 41 ++++++++++++++++++++++++++++++++++++++ ffi_tests.py | 17 ---------------- pyironring.so | 1 - 3 files changed, 41 insertions(+), 18 deletions(-) create mode 100755 bindings/python/example.py delete mode 100755 ffi_tests.py delete mode 120000 pyironring.so diff --git a/bindings/python/example.py b/bindings/python/example.py new file mode 100755 index 0000000..9ffd4be --- /dev/null +++ b/bindings/python/example.py @@ -0,0 +1,41 @@ +#!/usr/bin/env python3 +"""Import hash from the rir dynamic lib.""" + +LIB_SYMLINK = "pyironring.so" + +import os +import sys + +# Pass the shared object as argument +if len(sys.argv) == 2: + if os.path.lexists(LIB_SYMLINK): + os.remove(LIB_SYMLINK) + os.symlink(sys.argv[1], LIB_SYMLINK) +try: + import pyironring +except ImportError: + exit("PyIronring not found, pass the shared lib as parameter for dev.") + + +def name_hashes(): + path = "/chr/c0000.anibnd.dcx" + hash_u32 = pyironring.name_hashes.hash(path) + print('Hash for path "{}" is {:X}'.format(path, hash_u32)) + + hash_u32_str = pyironring.name_hashes.hash_as_string(hash_u32) + print("Formatted by Rust: {}".format(hash_u32_str)) + + hm = pyironring.name_hashes.load_name_map("../../res/namefile.txt") + print("Hash map for DS1 names: {}".format(hm)[:100] + "...") + try: + pyironring.name_hashes.load_name_map("nonexistent.txt") + except FileNotFoundError: + print("Received FileNotFoundError exception.") + + +if __name__ == "__main__": + name_hashes() + + # Clean dev symlink. + if os.path.lexists(LIB_SYMLINK): + os.remove(LIB_SYMLINK) diff --git a/ffi_tests.py b/ffi_tests.py deleted file mode 100755 index 4f45cb3..0000000 --- a/ffi_tests.py +++ /dev/null @@ -1,17 +0,0 @@ -#!/usr/bin/env python3 -"""Import hash from the rir dynamic lib.""" - -import pyironring - - -path = "/chr/c0000.anibnd.dcx" -hash_u32 = pyironring.name_hashes.hash(path) -print('Hash for path "{}" is {:X}'.format(path, hash_u32)) - -hash_u32_str = pyironring.name_hashes.hash_as_string(hash_u32) -print("Formatted by Rust: {}".format(hash_u32_str)) - -hm = pyironring.name_hashes.load_name_map("res/namefile.txt") -#print("Hash map for DS1 names: {}".format(hm)) -wrong_hm = pyironring.name_hashes.load_name_map("res/nonexistent.txt") -#print("Loading a non-existent names: {}".format(wrong_hm)) diff --git a/pyironring.so b/pyironring.so deleted file mode 120000 index 61af60f..0000000 --- a/pyironring.so +++ /dev/null @@ -1 +0,0 @@ -target/debug/libpyironring.so \ No newline at end of file