I will have a tool to share shortly that parses your IZZ files and returns a report of all the filepaths found.
It is VERY experimental but provides very useful information already.
It is broken into three parts:
-1 Collect data from IZZ file (find all linked files)
-2 Make Local copies of all link files.
-3 Update a copy of your IZZ binary with new local filepaths
The JSON report from step 1 is for all Scenes in your project, and includes things like read/include() calls inside any javascript you have.
The report provides a few settings you can adjust before running step two.
{
"source_path": "C:\\pyFile2.py",
"target_name": "pyFile2.py",
"action": "localize",
"localized_relpath": "pyFile2.py",
"occurrences": 2,
"exists": false,
"scenes_found": [
"scene1",
"scene3"
]
},
"notes": {
"summary": "Structural scene detection + Deterministic Value Header extraction (Index 0).",
"action_codes": {
"localize": "Standard project dependency. Should be moved/collected for portability.",
"ignore": "eg: Internal Isadora/Pythoner resource. Should remain in place.",
"[custom-path]": "User-defined destination path (e.g. '/data'). Localizes the file into this subfolder relative to the project root." },
"exists_codes": {
"true": "Absolute path found on this system.",
"false": "Absolute path NOT found on this system.",
"null": "Relative path. Existence depends on project root location." } }
The above JSON outlines what is collected for each filepath. In this case, the filepath was found in two scenes, and so both are listed for reference. The filepath entry is unique so it is listed once.
The Notes provide details on what options are available. Mostly the action_code is what you might change. This can allow you to create a custom path. Custom Paths MUST be equal or shorter than the source_path if you want to use step three.
Part 1 and 2 will be available for testing soon.
Part 3 is more delicate, and will need more testing before I can release anything.