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 )