| 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!")
 
 
  |