12345678910111213141516171819202122232425262728293031323334353637383940 |
- #python imports
- import shutil
- import os
-
- #nuke import
- import nuke
-
- #user defined global variable
- max_autosave_files=3
-
- #global variable to hold the next autosave number
- next_autosave_version=0
-
- def backup_autosave():
- global next_autosave_version
- #get autosave file
- autosave_file = nuke.toNode("preferences")["AutoSaveName"].evaluate()
- #compute next autosave file name
- file = autosave_file + str(next_autosave_version)
- #check if original autosave file exists
- if os.path.exists(autosave_file):
- try:
- shutil.copy(autosave_file, file)
- except:
- nuke.message("Attention! Autosave file could not be copied!")
- nuke.tprint("Copied autosave file to: %s"%file)
- #start from the beginning if max files are reached
- if next_autosave_version==max_autosave_files:
- next_autosave_version=0
- else:
- next_autosave_version+=1
- elif nuke.Root()['name'].value():
- #warn if there is no autosave at all
- has_autosave=False
- for i in range(max_autosave_files):
- if os.path.exists(autosave_file + str(i)):
- has_autosave=True
-
- if not has_autosave and nuke.modified():
- nuke.message("Attention! You do not have an autosave file!")
|