Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import nuke
- import os
- import socket
- import platform
- import re
- AUCKLAND_SUBNET = "9"
- WELLINGTON_SUBNET = "4"
- def makeWindowsPath(server, share, job, path):
- return "//" + server + "/" + share + "/" + job + "/" + path
- def makeLinuxPath(server, share, job, path):
- return "/" + server + "/" + share + "/" + job + "/" + path
- def pathFixes():
- readNodes = []
- affectedNodes = []
- for n in nuke.allNodes():
- if n.Class() == "Read":
- readNodes.append(n)
- affectedNodes.append(n)
- elif n.Class() == "Write":
- affectedNodes.append(n)
- if len(affectedNodes) < 1:
- return
- # Set server depending on Location by IP
- addr = socket.gethostbyname(socket.gethostname())
- if addr.split(".")[2] == AUCKLAND_SUBNET:
- server = "sam"
- altserver = "flash"
- else:
- server = "flash"
- altserver = "sam"
- for node in affectedNodes:
- filename = nuke.filename(node).replace("\\", "/")
- filenameSplit = filter(lambda x: x != "", filename.split("/"))
- share = str.upper(filenameSplit[1])
- job = str.upper(filenameSplit[2])
- path = "/".join(filenameSplit[3:])
- if platform.system() in ("Windows", "Microsoft"):
- pathFunc = makeWindowsPath
- elif platform.system() in ("Linux", "Ubuntu"):
- pathFunc = makeLinuxPath
- else:
- node['file'].setValue(filename)
- return
- fixedFilename = pathFunc(server, share, job, path)
- if node in readNodes:
- if not os.path.exists(fixedFilename):
- fixedFilename = pathFunc(altserver, share, job, path)
- node['file'].setValue(fixedFilename)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement