nuke中的基础数据持久化库
nukedatastore的Python项目详细描述
nuke中的基本数据持久化库
安装
要安装nukedatastore,请键入:
$ pip install nukedatastore
打开nuke的init.py文件并添加:
nuke.pluginAddPath('/path/to/your/local/python/site-packages')
开始
要开始使用nukedatastore,请键入nuke脚本编辑器:
importnukedatastore
nukedatastore
要初始化NukeDataStore,请键入:
ds=nukedatastore.NukeDataStore('data_store')
要在NukeDataStore中存储数据,请键入:
ds['project_data']={'id':1234,'name':'project name'}
要列出NukeDataStore中的所有可用键,请键入:
ds.list()# ['project_data']
要从NukeDataStore检索存储的数据,请键入:
ds['project_data']# {'id': 1234, 'name': 'project name'}
可以冻结NukeDataStore,若要冻结,请键入:
ds.freeze()
任何在NukeDataStore上设置数据的进一步尝试都将导致 错误:
ds['color_data']={'id':'AB-123','name':'White'}# nukedatastore.NukeDataStoreError: Cannot mutate frozen NukeDataStore
要取消冻结,请键入:
ds.unfreeze()
珠心算
使用NukeAPICache非常类似。要注册API,请键入:
api_cache=nukedatastore.NukeAPICache('api_cache')api.cache.register('project_data','https://project.your.domain.com')
要读取缓存的api数据,请键入:
api_cache['project_data']
要更新api数据,请键入:
api_cache.update('project_data')
用新API数据对现有API数据进行区分,类型:
api_cache.diff('project_data')# {'project_data': {'values_changed': {"root['headers']['X-Request-Id']": {'new_value': u'f5800c5e-4edb-4509-8339-4bcdf0b32732', 'old_value': u'd8ed6737-e5c8-49aa-b42e-58eb2ba472b9'}}}}