scripted/customNodeFileTranslator.py
63 import maya.OpenMaya
as OpenMaya
64 import maya.OpenMayaMPx
as OpenMayaMPx
66 kPluginTranslatorTypeName =
"spCustomNodeTranslator"
69 class customNodeTranslator(OpenMayaMPx.MPxFileTranslator):
71 OpenMayaMPx.MPxFileTranslator.__init__(self)
72 def haveWriteMethod(self):
74 def haveReadMethod(self):
78 def defaultExtension(self):
80 def writer( self, fileObject, optionString, accessMode ):
83 fullName = fileObject.resolvedFullName()
84 fileHandle = open(fullName,
"w")
85 fileHandle.write(
"# Simple text file of custom node information\n")
88 while not iterator.isDone():
89 object = iterator.thisNode()
93 userNode = dnFn.userNode()
94 if ( not( userNode ==
None ) ):
95 line =
"# custom node: " + dnFn.name() +
"\n"
96 fileHandle.write(line)
102 sys.stderr.write(
"Failed to write file information\n")
104 def processLine( self, lineStr ):
107 print "read <%s>" % lineStr
108 def reader( self, fileObject, optionString, accessMode ):
111 fullName = fileObject.resolvedFullName()
112 fileHandle = open(fullName,
"r")
113 for line
in fileHandle:
115 self.processLine( line )
119 sys.stderr.write(
"Failed to read file information\n")
124 def translatorCreator():
125 return OpenMayaMPx.asMPxPtr( customNodeTranslator() )
128 def initializePlugin(mobject):
129 mplugin = OpenMayaMPx.MFnPlugin(mobject)
131 mplugin.registerFileTranslator( kPluginTranslatorTypeName,
None, translatorCreator )
133 sys.stderr.write(
"Failed to register translator: %s" % kPluginTranslatorTypeName )
137 def uninitializePlugin(mobject):
138 mplugin = OpenMayaMPx.MFnPlugin(mobject)
140 mplugin.deregisterFileTranslator( kPluginTranslatorTypeName )
142 sys.stderr.write(
"Failed to deregister translator: %s" % kPluginTranslatorTypeName )