WrapItUp v2.0
This location is for Registered Users Only.
Perhaps you need to login or register.
14.0, 13.2, 13.1, 13.0, 12.2, 12.1, 12.0, 11.3, 11 or later
Linux, Mac, Windows
WrapItUp
WrapItUp is an easy-to-use tool that can collect and relink almost all files required to make a Nuke script work on another machine.
It has a user interface if you run it in Nuke, it can be executed from a command-line window for batch operations, and it can be called using a Python function.
I made sure to cram the entire thing in just one Python file, so you can simply drag-and-drop the file it into Nuke's script editor if you wish to use it just once.
To quickly collect all files for a nuke file, simply choose an empty folder in the “collection folder” box at the top of the window and hit Start.
Tested on Windows, Mac OS, and Linux (CentOS).
-> If relinking is not working, try changing the Nuke license under 'Misc -> Relink License' to '-ti'!
下载WrapItUp中文版 (GitHub) / Chinese Translations: See github.com/max-van-leeuwen/Nuke-WrapItUp
A big thanks to Skydream VFX for making these!
Features and settings
- Three copies of the Nuke script will be collected: the original, a relinked one, and a relative-relinked one (using a python-embedded TCL expression).
The relative-relinked Nuke script will stay linked to its media, even if you move it to a completely different machine - as long as the media is right next to it. - Media files with the path variables ####..., %**d (printf), %v and %V are supported.
- Gizmos will be collected, and the necessary menu.py and init.py files will be generated. Simply place these files in your .nuke folder to install them.
- A detailed CSV log file is generated to review which files were copied.
Not supported: Shared library plugins, (.dll, .dylib and .so files).
There are simply too many dependencies and licenses involved to keep track of these.
See my website (maxvanleeuwen.com/wrapitup) for more information about all features and settings in this script, and for command-line/Python use!
Installation
Standard Nuke installation
- Place the WrapItUp folder in your .nuke folder (or somewhere else on your computer)
- Go to your .nuke folder, and create a file called 'init.py'. If such a file already exists, open it.
- In the init.py file, add this line of text to the end and save it:
nuke.pluginAddPath('./WrapItUp')
If you want to place the folder somewhere else than in the .nuke folder, make sure to change the path in the init.py file so that it points to that other path instead!
Only run once (in Nuke)
If you are only running it once, you can simply drag-and-drop the WrapItUp/WrapItUp.py file into the script editor panel in Nuke and click 'Run the script'.
Installation using NukeShared
- Place the WrapItUp folder in the '_AutoInstaller' repository.
NukeShared is a way of installing plugins by dragging/dropping them in folders, see this page for more information.
If you encounter any issues (or if you have feedback/ideas), let me know (maxvanleeuwen.com/contact)!
Updates
2.0
Added -d flag in terminal to skip all disabled nodes, and (*) in UI list to show when nodes are disabled
1.9
Fixed Nuke 13 (Python 3) compatibility
1.8
Fixed Nuke 10.5 compatibility
1.7
added support for media in Project Directory (root settings)
added interactive license (nuke_i) support (for internal use, when scripts are relinked)
added more information to log CSV
fixed bug with font folder relinking
fixed bug with 0b files freezing the copying process
1.6
relinking and relative relinking now only modifies knobs of media that is not user-ignored
1.5
fixed 'open folder' keyboard shortcut
code cleanup
1.4
added 'go to node' button
fixed error on empty project font path
1.3
fixed TCL support on font paths
fixed issue with gizmo's and nuke script containing dots in their names
UI labels now evaluate TCL as well
log now stores used nuke version
1.2
File paths with TCL are supported
Folder browser will ask to create new folders if the selected path does not exist
1.1
Added PySide support (for Nuke 10.5 and older)
Fixed Nuke closing on user interruption when 'exit on finish' is checked
Fixed Nuke asking to save your Nuke script when 'exit on finish' is checked and script has not been saved
1.0
Initial release
Comments
nuke 10.5v2 win7
The easiest would be to use Qt.py to make the existing code backwards compatible (just change the import statements):
https://github.com/mottosso/Qt.py
Thanks Frank, that's a really useful link!
By default, the 'ignore' list is empty (except if there are, for instance, Read nodes with missing file paths - they will be appended to that list).
If you have any questions, let me know! You can e-mail me at maxvanleeuwen.c om/contact
A few suggestions/issue:
1. Ask to create directory if I typed up a directory that doesn't exists in the choose folder dialog.
2. Doesn't seem to work with nodes with relative file path. Nodes with [file dirname [value root.name]] or project directory set got ignored and didn't copy.
Great suggestions! I've added them to version 1.2.
The TCL example you mentioned and others I regularly use are all working for me now, let me know if that's the same for you!
https://www.youtube.com/watch?v=j-emlb2_jdI
Thanks Max!
You are absolutely correct, I have fixed this issue (and some others) in 1.3!
line 1029 in Refreshthreaded
line 781 in ReadComotherDat a
coering to Unicode : need string or butter, NoneType found
v1.2 is work complete
tested in 10.5v2 and 11.2v1
Thanks for letting me know :)
Thanks!
Everything seems to work fine BUT the relink and relinked-relati ve new scripts are still showing the original path for each read node. Am I missing something? I use the 1.9 version of your script on nuke 13.0v05.
Thanks!
Everything seems to work fine BUT the relink and relinked-relati ve new scripts are still showing the original path for each read node. Am I missing something? I use the 1.9 version of your script on nuke 13.0v05.
Thanks!
If you can, i would suggest you improve the functionality of the projet_dir - right now it seems it's not working if an expression is used, so maybe you can use evaluate() if it's an expression to get the abs path of the project dir knob.
Secondly, the path when it's copied it keeps the folder structure from when it was copied - this is needlessly long and sometimes deep folder structures make issues in certain OS.
What you can do is simplify the path as you do in the MEDIA folder, just update the project dir in root() to reflect that path without keeping the new+original folder structure.
Actually, this is a bug with the project dir (the project dir root setting gets updated, but the copied stuff in there keeps HAS to keep have the same relative path and the read nodes just don't work in this case)
I modified the code to use window's xcopy instead of shutil copy2. Got really quicker. Could be a nice improvment for futures releases.
(copy2 works well on linux)
Good health and prosperity to it`s creator!
the auto relinking isnt working for me.
the auto relinking isnt working for me.
RSS feed for comments to this post