Skip to content

Instantly share code, notes, and snippets.

@fredrikaverpil
fredrikaverpil / storefunc.py
Last active September 15, 2023 13:31
Store function on Nuke NoOp (or on nuke.root()) node and have it made available upon loading of script
"""Store function on node
Usage example:
.. code-block::
# Control node
ctrl_node_name = 'MY_SCRIPT_NODE' # if None, store on nuke.root()
# Define your functions and add them to the dictionary
@fredrikaverpil
fredrikaverpil / get_set_palette_data.py
Last active May 10, 2023 19:40
Get and set QPalette data
from PySide import QtGui
#from PyQt4 import QtGui
import pickle
STYLE = 'plastique'
GROUPS = ['Disabled', 'Active', 'Inactive', 'Normal']
ROLES = [
'AlternateBase',
'Background',
'Base',
@fredrikaverpil
fredrikaverpil / click2dto3d.py
Last active February 27, 2023 21:15
On Maya click: 2d coordinates to 3d world coordinates
import maya.api.OpenMaya as om
import maya.api.OpenMayaUI as omui
import maya.cmds as cmds
# Maya Python API:
# http://help.autodesk.com/view/MAYAUL/2017/ENU/?guid=__py_ref_index_html
def onPress():
"""Take x,y from mouse click, convert into 3d world coordinates"""
@fredrikaverpil
fredrikaverpil / custom_ui_docked.py
Last active December 1, 2022 16:29
Create custom PySide GUI and dock it into Nuke UI
import PySide.QtCore as QtCore
import PySide.QtGui as QtGui
from nukescripts import panels
class PanelTest(QtGui.QWidget):
def __init__(self, parent=None):
QtGui.QWidget.__init__(self, parent)
self.setLayout(QtGui.QVBoxLayout())
self.myTable = QtGui.QTableWidget()
self.myTable.header = ['Date', 'Files', 'Size', 'Path' ]
@fredrikaverpil
fredrikaverpil / get_set_values.py
Last active November 26, 2022 22:27
Get and set knob values #nuke
# Get all nodes of type Read
readnodes = nuke.allNodes('Read')
for readnode in readnodes:
print readnode
# List all knobs for selected node
print( nuke.toNode('Read1') )
# List all knobs for specific node
print( nuke.selectedNode() )
@fredrikaverpil
fredrikaverpil / normalize_timedelta.py
Last active November 6, 2022 09:34
Python timedelta does not take DST into account
from datetime import datetime, timedelta
from pytz import timezone as pytz_timezone
def normalize_timedelta(dt: datetime, delta: timedelta) -> datetime:
"""Normalize timedelta operation, to preserve DST properly."""
if hasattr(dt.tzinfo, "zone"):
timezone_ = dt.tzinfo.zone
return pytz_timezone(timezone_).normalize(dt + delta)
@fredrikaverpil
fredrikaverpil / list.ipynb
Created November 4, 2022 18:13
Pattern matching gotchas
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.