More tests, refactor PythonNode

This commit is contained in:
2023-03-13 21:02:38 +01:00
parent c40ff88bcf
commit 7ef6a0f886
6 changed files with 148 additions and 72 deletions

View File

@@ -4,6 +4,7 @@ import dyn2py
INPUT_DIR = "tests/input_files"
OUTPUT_DIR = "tests/output_files"
def cleanup_output_dir():
output_dir = pathlib.Path(OUTPUT_DIR)
if output_dir.exists():
@@ -13,9 +14,14 @@ def cleanup_output_dir():
output_dir.mkdir()
def extract_single_node_dyn():
def extract_single_node_dyn(modify_py: bool = False):
"""Extract python from single_node.dyn
File will be here: f"{OUTPUT_DIR}/single_node_1c5d99792882409e97e132b3e9f814b0.py"
Modified file will be here: f"{OUTPUT_DIR}/single_node_mod.py"
Args:
modify_py (bool, optional): Also do some changes on the exported file. Defaults to False.
"""
cleanup_output_dir()
@@ -23,3 +29,12 @@ def extract_single_node_dyn():
options = dyn2py.Options(python_folder=OUTPUT_DIR)
dyn = dyn2py.DynamoFile(f"{INPUT_DIR}/single_node.dyn")
dyn.extract_python(options)
if modify_py:
# Open the extracted file and replace a string:
with open(f"{OUTPUT_DIR}/single_node_1c5d99792882409e97e132b3e9f814b0.py") as orig_py, \
open(f"{OUTPUT_DIR}/single_node_mod.py", "w") as mod_py:
for line in orig_py:
if "asd_string" in line:
line = line.replace("asd_string", "qwe_string")
mod_py.write(line)