Trees | Indices | Help |
|
---|
|
1 import nuke 2 import glob 3 import time 4 import os 5 6 ### Example that implements a rolling autosave using the autoSaveFilter callbacks 7 ### 8 ## autosaves roll from 0-9 eg myfile.autosave, myfile.autosave1, myfile.autosave2... 9 # 10 ## To use just add 'import nukescripts.autosave' in your init.py 11 1214 15 ## ignore untiled autosave 16 if nuke.root().name() == 'Root': 17 return filename 18 19 fileNo = 0 20 files = getAutoSaveFiles(filename) 21 22 if len(files) > 0 : 23 lastFile = files[-1] 24 # get the last file number 25 26 if len(lastFile) > 0: 27 try: 28 fileNo = int(lastFile[-1:]) 29 except: 30 pass 31 32 fileNo = fileNo + 1 33 34 if ( fileNo > 9 ): 35 fileNo = 0 36 37 if ( fileNo != 0 ): 38 filename = filename + str(fileNo) 39 40 return filename41 4244 45 files = getAutoSaveFiles(filename) 46 47 if len(files) > 0: 48 filename = files[-1] 49 50 return filename5153 54 ## only delete untiled autosave 55 if nuke.root().name() == 'Root': 56 return filename 57 58 # return None here to not delete auto save file 59 return None60 6163 date_file_list = [] 64 files = glob.glob(filename + '[1-9]') 65 files.extend( glob.glob(filename) ) 66 67 for file in files: 68 # retrieves the stats for the current file as a tuple 69 # (mode, ino, dev, nlink, uid, gid, size, atime, mtime, ctime) 70 # the tuple element mtime at index 8 is the last-modified-date 71 stats = os.stat(file) 72 # create tuple (year yyyy, month(1-12), day(1-31), hour(0-23), minute(0-59), second(0-59), 73 # weekday(0-6, 0 is monday), Julian day(1-366), daylight flag(-1,0 or 1)) from seconds since epoch 74 # note: this tuple can be sorted properly by date and time 75 lastmod_date = time.localtime(stats[8]) 76 #print image_file, lastmod_date # test 77 # create list of tuples ready for sorting by date 78 date_file_tuple = lastmod_date, file 79 date_file_list.append(date_file_tuple) 80 81 date_file_list.sort() 82 return [ filename for _, filename in date_file_list ]83 84 85 nuke.addAutoSaveFilter( onAutoSave ) 86 nuke.addAutoSaveRestoreFilter( onAutoSaveRestore ) 87 nuke.addAutoSaveDeleteFilter( onAutoSaveDelete ) 88 89 ### As an example to remove the callbacks use this code 90 #nuke.removeAutoSaveFilter( onAutoSave ) 91 #nuke.removeAutoSaveRestoreFilter( onAutoSaveRestore ) 92 #nuke.removeAutoSaveDeleteFilter( onAutoSaveDelete ) 93
Trees | Indices | Help |
|
---|
Generated by Epydoc 3.0.1 on Fri Nov 23 08:52:29 2012 | http://epydoc.sourceforge.net |