import maya import sys import os from functools import partial import maya.cmds as cmds def customVer(FileName, version): #create a file path with the file you have and version you want version = 9000+int(FileName[(location-3):location]) newFileName = str((myFileName[0:(location-3)])) version = str(version-1) version = version[1:] newFileName = newFileName+str(version) return newFileName def newFile(myFileName): #find what the file path would be for the next version #find version number (with 9 at front) of file currently being referenced to version = 9000+int(myFileName[(location-3):location]) #find what the file path would be with no number at end newFileName = str((myFileName[0:(location-3)])) #find next version number version = str(version+1) #take out 9 (start from second term) version = version[1:] newFileName = newFileName+str(version) return newFileName def refUpdate(inst = None, new = '', old = '', window = ''): #replace old reference with updated reference (with new version) window = unicode(window) cmds.file( new, r=True) cmds.file( old, rr = True) cmds.deleteUI(window, window=True) def main(myFileName): #find what new filepath name would be. if it's not updated, give an option to update...if it is updated...give option to close newFileName = newFile(myFileName) fileList = myFileName #if path exists if os.path.isdir(newFileName): print "THERE IS A NEWER VERSION!" while os.path.isdir(newFileName) != False: newFileName = newFile(newFileName) highest_version = int(newFileName[(len(newFileName)-3):len(newFileName)])-1 #pathname for highest version newFileName = customVer(newFileName, highest_version) fileList = fileList[(location):len(fileList)] fullName = str(newFileName+fileList) window = cmds.window( title="Check for Updates", iconName='UpdateChecker', width=400, height=100 ) cmds.columnLayout( ) cmds.button( label='Latest version of ' + name + ' is Version '+ str(highest_version)+". Click to update reference.", command = partial(refUpdate, new = fullName, old = myFileName, window = str(window))) cmds.setParent( '..' ) cmds.showWindow( window ) else: window = cmds.window( title="Check for Updates", iconName='UpdateChecker', width=300, height=30 ) cmds.columnLayout( ) cmds.button( label='You currently have the latest version of ' + name + '. Click to close', align = 'center', command=('cmds.deleteUI(\"' + window + '\", window=True)') ) cmds.setParent( '..' ) cmds.showWindow( window ) print "NO NEWER VERSION!" refsList = cmds.file(q = True, list = True) references =  for i in refsList: if i.find('.ma') != -1: references.append(str(i)) for elements in references: location = elements.rfind("/") name = elements[(location+1):len(elements)] myFileName = elements main(elements)
So what I'm wanting to do here is have it so that a button is added for each loop into a main general window (this would be done at the bottom)..so at the end of it I would have one window with as many buttons as necessary. What I have now is a bunch of seperate popup windows coming up each time. Any help?