def doPack(self): fl1 = QtGui.QFileDialog.getExistingDirectory(self, 'Select folder with sequences', dir = memory.recall("sourceFolder")) memory.remember("sourceFolder", fl1) if not fl1 : return n = fl1[fl1.rfind("\\", 1)+1:] if not n[0] == '0': persName = memory.recall("persNameFor_" + n, n ) text, ok = QtGui.QInputDialog.getText(self, 'Specify package name', 'Package name:', text = persName) if not ok: return memory.remember("persNameFor_"+n, text) fl2 = QtGui.QFileDialog.getExistingDirectory(self, 'Select destination folder', dir = memory.recall("destinationFolder")) memory.remember("destinationFolder", fl2) if not fl2 : return Packager.repack(fl1, fl2, persName, self) else: fl2 = fl1[:fl1.rfind("\\", 4)] n = fl2[fl2.rfind("\\")+1:] persName = memory.recall("persNameFor_" + n, n ) text, ok = QtGui.QInputDialog.getText(self, 'Specify package name', 'Package name:', text = persName) if not ok: return memory.remember("persNameFor_"+n, text) fl2 = QtGui.QFileDialog.getExistingDirectory(self, 'Select destination folder', dir = memory.recall("destinationFolder")) memory.remember("destinationFolder", fl2) if not fl2 : return Packager.repackOne(fl1, fl2, persName, self) QtCore.QCoreApplication.instance().quit()
def doCheckWithCycles(self): fl1 = QtGui.QFileDialog.getExistingDirectory(self, 'Select folder with pack', dir = memory.recall("checkPackFolder")) if not fl1: return memory.remember("checkPackFolder", fl1) text, ok = QtGui.QFileDialog.getOpenFileName(self, 'Specify sequenct file', 'Package name:', file = memory.recall("sequenceFileName")) if not ok: return checkPack(fl1, text) QtCore.QCoreApplication.instance().quit()
def processSequence(seq, srcFolder, destFolder, packName, qApp = None): print "process sequence " + srcFolder + "\\" + seq + " into " + destFolder wearDir = destFolder + "\\pack_0" + str(getWearNumber(seq)) mkdir(wearDir) app = getAppendum(srcFolder + "\\" + seq) if not isSpecialCase(seq): animationDir = mkdir(wearDir + "\\" + str(getAnimationNumber(seq))) varDir = mkdir(animationDir + "\\" + str(getVariant(seq))) map( lambda ff: convertImage(srcFolder + "\\" + seq + "\\" + ff, varDir + "\\" + ("%03d" % (getNum(ff) + app)) + ".png"), filter(lambda s: s.endswith(".png"), os.listdir(srcFolder + "\\" + seq ))) pass else: anim = getAnimationNumbers(seq) startNumbers = [0] for a in anim[1:]: key = "pers_%s_seq_%s_start" % (packName, a) startNumbers.append(int(memory.recall(key))) startNumbers.append(100000) for i in range(0, len(anim)): print " process subsequence " + str(anim[i]) animationDir = mkdir(wearDir + "\\" + str(anim[i])) varDir = mkdir(animationDir + "\\" + str(1)) start = startNumbers[i] stop = startNumbers[i+1] map( lambda ff: convertImage(srcFolder + "\\" + seq + "\\" + ff, varDir + "\\" + ("%03d" % (getNum(ff) - start + app)) + ".png"), filter(lambda s: s.endswith(".png") and getNum(s) >= start and getNum(s) < stop, os.listdir(srcFolder + "\\" + seq ))) pass
def doCheck(self): fl1 = QtGui.QFileDialog.getExistingDirectory(self, 'Select folder with pack', dir = memory.recall("checkPackFolder")) if not fl1: return memory.remember("checkPackFolder", fl1) checkPack(fl1, None) QtCore.QCoreApplication.instance().quit()
def grabFrameNumbers(seq, packName, qApp = None): if isSpecialCase(seq): anim = getAnimationNumbers(seq) for a in anim[1:]: key = "pers_%s_seq_%s_start" % (packName, a) startDef = memory.recall(key, "0") if qApp : text, ok = QtGui.QInputDialog.getText(qApp, 'Start position', 'Specify start position for sequence %s in %s:' % (a, seq), text = str(startDef)) if not ok: return memory.remember(key, text) else: text = input('Specify start position for sequence %s:' % a) memory.remember(key, text)