def override_dagMenuProc(): ''' Builds `dagMenuProc.<maya version#>.mel` in this folder if it doesn't exist. ''' overrideFilename = os.path.dirname(__file__).replace('\\', '/') + '/dagMenuProc.' + str(version()) + '.mel' if not os.path.exists(overrideFilename): filename = find_dagMenuProcMel() if not filename: warning( 'dagMenuProc.mel not found so unable to create custom override' ) return else: print('Making dagMenuProc.mel override') with open(filename, 'r') as fid: lines = fid.readlines() newline = re.search('[\r\n]+$', lines[0]).group(0) for i, line in enumerate(lines): if '"m_dagMenuProc.kSelect"' in line: lines[i:i] = [''' python("try:pdil.melOverrides.dagMenuProc.customMenu('" + $object + "')\\nexcept:pass");''' + newline] break with open(overrideFilename, 'w') as fid: fid.write( ''.join(lines) ) print('Sourced override ' + overrideFilename) mel.source('dagMenuProc') mel.source(overrideFilename)
def reloadTextures(): """Reload all texture files.""" mel.source("AEfileTemplate") for _file in pm.ls(type="file"): mel.AEfileTextureReloadCmd(_file.fileTextureName) print "# Textures reloaded."
def sourceSliders(): from pymel.core import mel result = False try: if not mel.exists('boSliders'): LOG.debug('Sourcing boSliders...') mel.source('boSliders') result = True except: LOG.error('Could not find/source `boSliders.mel.` This script is needed for boTweaks to function properly') return result
def baseOverride(target, source): ''' Builds `<target>.<maya version#>.mel` if it doesn't exist. Args: target: Simple mel filename, ex "FileMenu.mel" Yields: Tuple of (<source filepath>, <override filepath to make>) ''' folder = getOverrideFolder() overrideFilename = folder + '/' + target if not os.path.exists(overrideFilename): if not os.path.exists(folder): os.makedirs(folder) filename = findMelTarget(target) if not filename: raise Exception( '{} not found so unable to create custom override'.format( target)) else: print('Making {} override'.format(target)) try: yield filename, overrideFilename except Exception: print('Error creating {} override'.format(target)) print(traceback.format_exc()) else: yield None, None print('Sourced override ' + overrideFilename) # Prepend so it supercedes the maya version if folder not in os.environ['maya_script_path']: os.environ[ 'maya_script_path'] = folder + ';' + os.environ['maya_script_path'] mel.rehash() if source: mel.source(overrideFilename)