Advertisement
Guest User

Untitled

a guest
Nov 4th, 2014
43
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.46 KB | None | 0 0
  1. import time
  2. import sys
  3.  
  4. import maya.OpenMayaMPx as OpenMayaMPx
  5.  
  6. kPluginTranslatorTypeName = "theTime"
  7. kVersionNumber = "1.0"
  8.  
  9. class ExportThatTimeTranslator(OpenMayaMPx.MPxFileTranslator):
  10.     def __init__(self):
  11.         OpenMayaMPx.MPxFileTranslator.__init__(self)
  12.  
  13.     def haveWriteMethod(self):
  14.         return True
  15.  
  16.     def haveReadMethod(self):
  17.         return False
  18.  
  19.     def filter(self):
  20.         return " .thetime"
  21.  
  22.     def defaultExtension(self):
  23.         return "thetime"
  24.  
  25.     def writer( self, fileObject, optionString, accessMode ):
  26.         formatTime = False
  27.         timeMode = 0
  28.         timeModeFuncs = {0: time.time,
  29.                          1: time.clock}
  30.         try:
  31.             timeMode = 0
  32.             for opt in filter(None, optionString.split(';')):
  33.                 optSplit = opt.split('=')
  34.                 if optSplit[0] == 'm' and len(optSplit) > 1:
  35.                     timeMode = int(optSplit[1])
  36.                 elif optSplit[0] == 'strfrmt' and len(optSplit) > 1:
  37.                     formatTime = True
  38.                     formatStr = optSplit[1]
  39.  
  40.             filepath = fileObject.fullName()
  41.             with open(filepath, 'w') as fh:
  42.                 thetime = timeModeFuncs.get(timeMode, timeModeFuncs[0])()
  43.                 fh.write(str(thetime))
  44.                 if formatTime:
  45.                     fh.write('\n%s' % time.strftime(formatStr))
  46.         except:
  47.             sys.stderr.write( "Failed to write file information\n")
  48.             raise
  49.  
  50. timeOptionsScript = 'ExportThatTimeOptions'
  51. timeDefaultOptions = 'm=0;strfrmt=%M'
  52.  
  53. # creator
  54. def translatorCreator():
  55.     return OpenMayaMPx.asMPxPtr( ExportThatTimeTranslator() )
  56.  
  57. # initialize the script plug-in
  58. def initializePlugin(mobject):
  59.     mplugin = OpenMayaMPx.MFnPlugin(mobject)
  60.  
  61.     try:
  62.         mplugin.registerFileTranslator(kPluginTranslatorTypeName, None,
  63.                                        translatorCreator,
  64.                                        timeOptionsScript,
  65.                                        timeDefaultOptions)
  66.     except:
  67.         sys.stderr.write( "Failed to register translator: %s" % kPluginTranslatorTypeName )
  68.         raise
  69.  
  70. # uninitialize the script plug-in
  71. def uninitializePlugin(mobject):
  72.     mplugin = OpenMayaMPx.MFnPlugin(mobject)
  73.     try:
  74.         mplugin.deregisterFileTranslator( kPluginTranslatorTypeName )
  75.     except:
  76.         sys.stderr.write( "Failed to deregister translator: %s" % kPluginTranslatorTypeName )
  77.         raise
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement