You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

52 lines
1.3 KiB

#!/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():
print_example_name("name_hashes examples")
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 expected FileNotFoundError exception.")
def print_example_name(text):
try:
import termcolor
print(termcolor.colored(text, 'blue', attrs=['bold']))
except ImportError:
print(text)
if __name__ == "__main__":
name_hashes()
# Clean dev symlink.
if os.path.lexists(LIB_SYMLINK):
os.remove(LIB_SYMLINK)