( self, path, name, title="", description="", categories=(), version=1, classLoadable=True )
| 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 |
no test coverage detected