MCPcopy Create free account
hub / github.com/ImageEngine/cortex / save

Method save

python/IECore/BasicPreset.py:189–221  ·  view source on GitHub ↗
( self, path, name, title="", description="", categories=(), version=1, classLoadable=True )

Source from the content-addressed store, hash-verified

187 ## can be loaded by the ClassLoader, otherwise, just a cob file is written containing the
188 ## presets data.
189 def save( self, path, name, title="", description="", categories=(), version=1, classLoadable=True ) :
190
191 if not self._data:
192 raise RuntimeError( "IECore.BasicPreset.save: Unable to save, preset has no data." )
193
194 baseDir = path
195 cobName = "%s.cob" % ( name, )
196 pyFile = None
197
198 if classLoadable :
199 baseDir = "%s/%s" % ( path, name )
200 cobName = "%s-%i.cob" % ( name, version )
201 pyFile = "%s/%s-%i.py" % ( baseDir, name, version )
202
203 cobFile = "%s/%s" % ( baseDir, cobName )
204
205 if not os.path.isdir( baseDir ) :
206 os.makedirs( baseDir )
207
208 if not os.path.isdir( baseDir ) :
209 raise RuntimeError( "IECore.BasicPreset.save: Unable to create the directory '%s'" % baseDir )
210
211 w = IECore.Writer.create( self._data, cobFile )
212
213 w["header"].getValue()["title"] = IECore.StringData( title if title else name )
214 w["header"].getValue()["description"] = IECore.StringData( description )
215 w["header"].getValue()["categories"] = IECore.StringVectorData( categories )
216 w["header"].getValue()["dataVersion"] = IECore.IntData( 1 )
217
218 w.write()
219
220 if pyFile :
221 BasicPreset._writePy( pyFile, cobName, name )
222
223 def _ensureData( self ) :
224

Callers 3

testSaveMethod · 0.95
testClassLoaderMethod · 0.95
__serialiseObjectFunction · 0.45

Calls 4

_writePyMethod · 0.80
createMethod · 0.45
getValueMethod · 0.45
writeMethod · 0.45

Tested by

no test coverage detected