67 lines
1.8 KiB
Python
67 lines
1.8 KiB
Python
import sys
|
|
|
|
import maya.OpenMayaMPx as OpenMayaMPx
|
|
import pepper.exporter as exporter
|
|
import pepper.importer as importer
|
|
|
|
reload(exporter)
|
|
reload(importer)
|
|
kPluginTranslatorTypeName = "pepperExport"
|
|
|
|
|
|
class PepperTranslater(OpenMayaMPx.MPxFileTranslator):
|
|
def __init__(self):
|
|
OpenMayaMPx.MPxFileTranslator.__init__(self)
|
|
|
|
def haveReadMethod(self):
|
|
return True
|
|
|
|
def haveWriteMethod(self):
|
|
return True
|
|
|
|
def filter(self):
|
|
return "*.xar"
|
|
|
|
def defaultExtension(self):
|
|
return "xar"
|
|
|
|
def writer(self, fileObject, optionString, accessMode):
|
|
try:
|
|
fullName = fileObject.fullName()
|
|
exporter.xar_export(fullName)
|
|
except:
|
|
sys.stderr.write("Failed to write file information\n")
|
|
raise
|
|
|
|
def reader(self, fileObject, optionString, accessMode):
|
|
try:
|
|
fullName = fileObject.fullName()
|
|
importer.xar_import(fullName)
|
|
except:
|
|
sys.stderr.write("Failed to write file information\n")
|
|
raise
|
|
|
|
|
|
def translatorCreator():
|
|
return OpenMayaMPx.asMPxPtr(PepperTranslater())
|
|
|
|
|
|
# initialize the script plug-in
|
|
def initializePlugin(mobject):
|
|
mplugin = OpenMayaMPx.MFnPlugin(mobject, 'Indigo', '1.0', 'Any')
|
|
try:
|
|
mplugin.registerFileTranslator(kPluginTranslatorTypeName, None, translatorCreator)
|
|
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
|