Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import time
- import sys
- import maya.OpenMayaMPx as OpenMayaMPx
- kPluginTranslatorTypeName = "theTime"
- kVersionNumber = "1.0"
- class ExportThatTimeTranslator(OpenMayaMPx.MPxFileTranslator):
- def __init__(self):
- OpenMayaMPx.MPxFileTranslator.__init__(self)
- def haveWriteMethod(self):
- return True
- def haveReadMethod(self):
- return False
- def filter(self):
- return " .thetime"
- def defaultExtension(self):
- return "thetime"
- def writer( self, fileObject, optionString, accessMode ):
- formatTime = False
- timeMode = 0
- timeModeFuncs = {0: time.time,
- 1: time.clock}
- try:
- timeMode = 0
- for opt in filter(None, optionString.split(';')):
- optSplit = opt.split('=')
- if optSplit[0] == 'm' and len(optSplit) > 1:
- timeMode = int(optSplit[1])
- elif optSplit[0] == 'strfrmt' and len(optSplit) > 1:
- formatTime = True
- formatStr = optSplit[1]
- filepath = fileObject.fullName()
- with open(filepath, 'w') as fh:
- thetime = timeModeFuncs.get(timeMode, timeModeFuncs[0])()
- fh.write(str(thetime))
- if formatTime:
- fh.write('\n%s' % time.strftime(formatStr))
- except:
- sys.stderr.write( "Failed to write file information\n")
- raise
- timeOptionsScript = 'ExportThatTimeOptions'
- timeDefaultOptions = 'm=0;strfrmt=%M'
- # creator
- def translatorCreator():
- return OpenMayaMPx.asMPxPtr( ExportThatTimeTranslator() )
- # initialize the script plug-in
- def initializePlugin(mobject):
- mplugin = OpenMayaMPx.MFnPlugin(mobject)
- try:
- mplugin.registerFileTranslator(kPluginTranslatorTypeName, None,
- translatorCreator,
- timeOptionsScript,
- timeDefaultOptions)
- except:
- sys.stderr.write( "Failed to register translator: %s" % kPluginTranslatorTypeName )
- raise
- # uninitialize the script plug-in
- def uninitializePlugin(mobject):
- mplugin = OpenMayaMPx.MFnPlugin(mobject)
- try:
- mplugin.deregisterFileTranslator( kPluginTranslatorTypeName )
- except:
- sys.stderr.write( "Failed to deregister translator: %s" % kPluginTranslatorTypeName )
- raise
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement