61 from builtins
import next
64 import maya.OpenMaya
as OpenMaya
65 import maya.OpenMayaMPx
as OpenMayaMPx
67 kPluginTranslatorTypeName =
"spCustomNodeTranslator"
70 class customNodeTranslator(OpenMayaMPx.MPxFileTranslator):
72 OpenMayaMPx.MPxFileTranslator.__init__(self)
73 def haveWriteMethod(self):
75 def haveReadMethod(self):
79 def defaultExtension(self):
81 def writer( self, fileObject, optionString, accessMode ):
84 fullName = fileObject.resolvedFullName()
85 fileHandle = open(fullName,
"w")
86 fileHandle.write(
"# Simple text file of custom node information\n")
89 while not iterator.isDone():
90 object = iterator.thisNode()
94 userNode = dnFn.userNode()
95 if ( not( userNode ==
None ) ):
96 line =
"# custom node: " + dnFn.name() +
"\n"
97 fileHandle.write(line)
103 sys.stderr.write(
"Failed to write file information\n")
105 def processLine( self, lineStr ):
108 print(
"read <%s>" % lineStr)
109 def reader( self, fileObject, optionString, accessMode ):
112 fullName = fileObject.resolvedFullName()
113 fileHandle = open(fullName,
"r")
114 for line
in fileHandle:
116 self.processLine( line )
120 sys.stderr.write(
"Failed to read file information\n")
125 def translatorCreator():
126 return OpenMayaMPx.asMPxPtr( customNodeTranslator() )
129 def initializePlugin(mobject):
130 mplugin = OpenMayaMPx.MFnPlugin(mobject)
132 mplugin.registerFileTranslator( kPluginTranslatorTypeName,
None, translatorCreator )
134 sys.stderr.write(
"Failed to register translator: %s" % kPluginTranslatorTypeName )
138 def uninitializePlugin(mobject):
139 mplugin = OpenMayaMPx.MFnPlugin(mobject)
141 mplugin.deregisterFileTranslator( kPluginTranslatorTypeName )
143 sys.stderr.write(
"Failed to deregister translator: %s" % kPluginTranslatorTypeName )