//# //#

2018/04/15

【Maya】versionUP保存

MayaにはAEやNukeのように現在のファイル名の数字をあげて保存という機能が用意されていません。
(test_v01_01→test_v01_02みたいな)
前に作ったはずなのですがどこかに消えてしまい、
良さそうなサンプルもあったのでPythonで作ってみました。

import os,re
from maya import cmds,OpenMaya

def iterativeSave(filename):
 sPN = os.path.split(filename)
 oldnum = re.findall(r'[0-9]+', sPN[1]).pop()
 pad = len(oldnum)
 num = str(int(oldnum)+1).zfill(pad)
 name,ext = os.path.splitext(sPN[1])
 name = name.rsplit('_',1)
 newNum = name[-1].replace(oldnum,num)
 NewFullPath = sPN[0] + '/' + name[0] + '_' +newNum + ext

 return NewFullPath

def main():
 filename = cmds.file(query=True,sceneName=True)
 if not filename:
  OpenMaya.MGlobal.displayError('ファイルが保存されていません')
  return
 newfilename = iterativeSave(filename)
 cmds.file(rename=newfilename)
 cmds.file(f=True, save=True)
 OpenMaya.MGlobal.displayInfo('//Result: '+newfilename)

main()

上記のコードをホットキーエディタにアサインすれば完了です。
ファイル名を _ で区切り、一番最後の数字のみ一つ上がる仕組みです。
その際「v01」など文字が含まれていても数字のみ変更されます。
最後にイニシャル付ける方などはちょっと書き換えが必要です。

ではではバグ、要望等ありましたら、ご連絡よろしくお願いします。m(_ _)m

-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
参考サイト
https://sdm.scad.edu/faculty/mkesson/vsfx705/wip/best/spring12/nestor_prado/scripts_iterativesave.html