Q100497: தரவு இழப்பைத் தவிர்க்க Katana ஆட்டோசேவ் ஸ்கிரிப்டை எவ்வாறு அமைப்பது


சுருக்கம்

Katana திட்டங்களை அமைக்கும் போது, தரவு மற்றும் நேரத்தை இழப்பதைத் தவிர்க்க முன்னேறும்போது சேமிப்பது அவசியம். Katana உள்ளமைக்கப்பட்ட ஆட்டோசேவ் அம்சம் உள்ளது, இது ஒரு குறிப்பிட்ட நேரம் அல்லது செயல்களுக்குப் பிறகு காப்புப்பிரதி செயலிழப்பு கோப்பைச் சேமிக்கிறது.

க்ராஷ் சேவ்ஸ் பற்றிய கூடுதல் தகவலுக்கு, Katana பயனர் வழிகாட்டியைப் பார்க்கவும்: ஆட்டோசேவ்ஸ்

இந்தக் கட்டுரை, தானியங்கு சேமிப்பு ஸ்கிரிப்டை எவ்வாறு அமைப்பது என்பதை விளக்குகிறது, இது தானாக உருவாக்கப்பட்ட கோப்பு பெயருடன் Katana தற்காலிக கோப்பகத்தில் சேமிக்கப்படுவதற்குப் பதிலாக, தனிப்பயன் பெயரிடும் மாநாட்டுடன் தனிப்பயன் இடத்திற்குச் சேமிக்கப் பயன்படுகிறது, இது தானியங்கு சேமிப்பு செயல்பாட்டின் இயல்புநிலை நடத்தையாகும்.

மேலும் தகவல்

Katana பைதான் API-க்குள் Katana கோப்பு தொகுதி மூலம் Katana அதன் திட்டக் கோப்புகளைச் சேமிக்கிறது.

Katana File.Save( path/to/location/file.katana ) அழைப்பது , தேர்ந்தெடுக்கப்பட்ட கோப்பு பெயரைப் பயன்படுத்தி தற்போதைய Katana திட்டத்தை தேர்ந்தெடுக்கப்பட்ட இடத்திற்குச் சேமிக்கும்.

Katana File.CrashSave() அழைப்பது, தற்போதைய Katana திட்டத்தின் ஒரு செயலிழப்பு கோப்பை தானாக உருவாக்கப்பட்ட பெயருடன், ஒரு தற்காலிக கோப்பகத்தில் சேமிக்கும், அங்கு Katana Crash File Selector ஐப் பயன்படுத்தி அதை மீட்டெடுக்க முடியும்.

தானியங்கு சேமிப்பு கோப்புகளை மீட்டெடுப்பது பற்றிய கூடுதல் தகவலுக்கு, பின்வரும் கட்டுரையைப் பார்க்கவும்: Q100450: செயலிழந்த பிறகு தானியங்கு சேமிப்பு கோப்பை எவ்வாறு கண்டுபிடித்து மீட்டெடுப்பது

மேலே விவரிக்கப்பட்ட செயல்பாடுகளைப் பயன்படுத்தி, குறிப்பிட்ட நேர இடைவெளியில் Katana திட்டத்தை தானாகவே சேமிக்கும் பைதான் ஸ்கிரிப்டை நீங்கள் உருவாக்கலாம்.

Katana கோப்பு தொகுதி பற்றிய கூடுதல் தகவலுக்கு, Katana டெவலப்பர் வழிகாட்டியைப் பார்க்கவும்: திட்டங்களுடன் பணிபுரிதல்

எடுத்துக்காட்டு ஸ்கிரிப்ட்

இந்தக் கட்டுரையுடன் இணைக்கப்பட்டுள்ள பைதான் உதாரணம், உங்கள் தேவைகளுக்கு ஏற்றவாறு பதிவிறக்கம் செய்து மாற்றியமைக்கலாம்.

உதாரணத்தைப் பதிவிறக்கி, கோப்பை உங்கள் .katana\UIPlugins கோப்புறைக்கு நகர்த்தவும்.

உதாரணத்திற்கு:

விண்டோஸ்: C:\Users\USERNAME\.katana\UIPlugins\autosaveProject.py
லினக்ஸ்: /mnt/nethome/users/USERNAME/.katana/UIPlugins/autosaveProject.py

கோப்பு UIPlugins கோப்புறையில் சேர்க்கப்படும்போது, Katana தொடக்கத்தில் கோப்பை ஏற்றி இயக்கும்.

ஸ்கிரிப்டைப் பயன்படுத்துதல்

இந்த ஸ்கிரிப்ட்டில் saveOption மாறியை அமைப்பதன் மூலம் நீங்கள் தேர்வுசெய்யக்கூடிய 3 விருப்பங்கள் உள்ளன. கூடுதலாக, சேமிப்புகளுக்கு இடையிலான நேரத்திற்கான விருப்பமும் இதில் உள்ளது, எடுத்துக்காட்டு ஸ்கிரிப்ட்டுக்கு, இது தற்போது 60000 மில்லி விநாடிகள் (60 வினாடிகள்) ஆக அமைக்கப்பட்டுள்ளது.

கீழே உள்ள விருப்பங்களை மதிப்பாய்வு செய்யவும்:

விருப்பம் 0: ஆட்டோசேவ் செயலிழப்பு சேமிப்பை கட்டாயப்படுத்துதல்

இந்த விருப்பம் பைதான் வழியாக ஒரு புதிய க்ராஷ்சேவை கட்டாயப்படுத்த உங்களை அனுமதிக்கிறது.

Katana உள்ளமைக்கப்பட்ட செயலிழப்பு தானியங்கி சேமிப்பு இருந்தாலும், பைத்தானுடன் செயல்பாடுகளை இயக்குவதற்கு முன்பு அமைப்பதற்கு இந்த செயல்பாடு பயனுள்ளதாக இருக்கும்.

விருப்பம் 1: தற்போதைய திட்டக் கோப்பின் மேல் சேமிக்கவும்.

இந்த விருப்பத்தைப் பயன்படுத்துவது தற்போதைய திட்டத்தை ஒரு புதிய சேமிப்பால் மேலெழுதும்.

திட்டம் மாற்றியமைக்கப்பட்ட பின்னரே Katana கோப்பைச் சேமிக்கும்.

விருப்பம் 2: கோப்பை ஒரு குறிப்பிட்ட இடத்தில் சேமிக்கவும்.

இந்த விருப்பம் விருப்பம் 1 ஐப் போலவே செயல்படுகிறது, ஆனால் ஒரு கோப்பக இருப்பிடத்தையும் பெயரையும் தேர்வு செய்ய உங்களை அனுமதிக்கிறது.

நீங்கள் விரும்பும் சேமிப்பு இடத்தைச் சேர்க்க ஸ்கிரிப்டை மாற்ற வேண்டும்.

கூடுதலாக, தொடக்கத்தில் கோப்புகளைத் தானாகச் சேமிக்கும் வசதியைச் சரிபார்க்க ஒரு கருவியை நீங்கள் உருவாக்க வேண்டும்.

from Katana import QtCore, NodegraphAPI, Katana File
import os

# VARIABLES

# Set your save option
saveOption = 2

# Set delay interval for autosaves
# function argument is the interval in milliseconds (60 seconds in this example)
autosaveDelay = 60000

def saveAndSubmit():
''' Autosaves project with option specified by user '''

# Get path variables
projectPath = NodegraphAPI.NodegraphGlobals.GetProjectFile()
projectFile = os.path.basename(projectPath)
projectDir = os.path.dirname(projectPath)

# OPTION 0
# Q100450: Locating a crash autosave file - https://support.foundry.com/hc/en-us/articles/360000024960
# Save a crash file (standard autosave):
if saveOption == 0:
KatanaFile.CrashSave(True)

# Check if file has been saved atleast once.
if projectPath != '':
# Check if file has been modified since last save
if Katana File.IsFileDirty():

# OPTION 1
# to save file at the current location use:
if saveOption == 1:
KatanaFile.Save(projectPath)

print ("File autosaved to: " + projectPath)

# OPTION 2
# to save at a specified location use:
if saveOption == 2:
customNameFile = 1 # If you want to use a different project name change the customNameFile = 0
customprojectFile = projectFile #Overwrites the active save with any changes (only happens if customNameFile is not 0
# Custom folder directory for Option 2
customFolderDirectory = '/home/userName/Downloads/customFolder/'

if customNameFile == 0:
customprojectFile = 'CustomFileName' # If customNameFile is 0 then you can change CustomFileName for whatever name you want the file to be save as

KatanaFile.Save(customFolderDirectory + customprojectFile)
print ("File autosaved to: " + customFolderDirectory + customprojectFile)

timer = QtCore.QTimer()
timer.timeout.connect(saveAndSubmit)
timer.start(autosaveDelay)

ஸ்கிரிப்ட் விளக்கம்

இந்த ஸ்கிரிப்ட் ஒரு டைமர் லூப்பை வழங்க QtCore.QTimer() அழைப்பைப் பயன்படுத்துகிறது . QTimer ஐப் பயன்படுத்துவது, ஸ்கிரிப்ட்டின் செயல்பாட்டைச் செயல்படுத்துவதற்கு முன்பு ஒரு குறிப்பிட்ட நேரம் காத்திருக்க பின்னணி செயல்பாட்டை அனுமதிக்கிறது.

குறிப்பிட்ட நேரம் கடந்து செல்லும் ஒவ்வொரு முறையும் ( autosaveDelay மாறியால் தீர்மானிக்கப்படுகிறது), டைமர் saveAndSubmit() செயல்பாட்டை இயக்குகிறது.

saveAndSubmit() செயல்பாட்டு வரையறைக்குள் , saveOption மாறியுடன் மாற்றக்கூடிய 3 விருப்பங்கள் உள்ளன .

தேர்ந்தெடுக்கப்பட்ட விருப்பத்தைப் பொறுத்து, ஸ்கிரிப்ட் க்ராஷ் சேமியாகச் சேமிக்கும், தற்போதைய Katana கோப்பில் சேமிக்கும் அல்லது புதிய இடத்தில் சேமிக்கும்.

விருப்பம் 1 மற்றும் 2 முதலில் Katana File.IsFileDirty() என்ற மற்றொரு செயல்பாட்டின் முடிவைச் சரிபார்க்கின்றன . முந்தைய சேமிப்பிலிருந்து திட்டம் மாற்றியமைக்கப்பட்டுள்ளதா என்பதைப் பார்க்க இந்த செயல்பாடு Katana சரிபார்க்கிறது, மேலும் எதுவும் மாற்றியமைக்கப்படவில்லை என்றால், Katana தொடர்ந்து சேமிப்பதைத் தடுக்கிறது.

Katana தானியங்கி சேமிப்பு செயல்பாடுகள் பற்றிய கூடுதல் தகவலுக்கு, Katana டெவலப்பர் வழிகாட்டியைப் பார்க்கவும்.

இணைப்புகள்

We're sorry to hear that

Please tell us why