sbspreset module

Content included in sbspreset module:

Module sbspreset aims to define sbsprs files, with helpers for making them interact with compgraphs

Classes

SBSPRSPresets SBSPRSPreset SBSPRSPresetInput SBSPRSTypes

class sbspreset.sbspreset.SBSPRSPreset(aDescription='', aLabel='', aUsertags=None, aPkgUrl='', aPresetInputs=None)

Bases: SBSObject, Preset

Class representing an SBSPRS preset

Members:
  • mDescription (str): Description of thew preset

  • mLabel (str): Preset label

  • mPkgUrl (str): Reference to which graph in the package the preset belongs to

  • mPresetInputs (list of SBSPRSPresetInput): Values for parameters in presets

addPresetInput(aInput)

Adds a preset input to the preset

Parameters:

aInput (SBSPRSPresetInput) – The preset to add

Returns:

None

addToGraph(aGraph)

Adds this preset to an SBSGraph

Parameters:

aGraph (SBSGraph) – The graph to add it to

Returns:

None

createPresetInput(aIdentifier, aUID, aValue, aType)

Creates and adds a preset input

Parameters:
  • aIdentifier (str) – The identifier for the preset input

  • aUID (int) – The UID for the preset input

  • aValue (str) – The value for the preset input

  • aType (SBSPRSType) – The type for the preset

Returns:

SBSPRSPresetInput representing the new input

createPresetInputFromSBSInput(aInput)

Creates and adds a preset input from an SBSParamInput

Parameters:

aInput (SBSParamInput) – The input to create a preset from

Returns:

SBSPRSPresetInput representing the new input

equals(other)

Check if this SBSObject is equivalent to the other SBSObject. Some members may be excluded from this check, the UIDs or GUILayout for instance.

Parameters:

other (SBSObject) – The SBSObject to compare to

Returns:

True if the two SBSObject are similar according to their definition.

getDescription()

Gets the description of the preset

Returns:

description as str

getInputValue(aInputUID)

Get the value of the given ParamInput in this preset

Parameters:

aInputUID (str) – UID of the input to get

Returns:

the input value in this preset if defined, None otherwise

getLabel()

Gets the label for the preset

Returns:

type as str

getPkgUrl()

Gets the type package url for the preset

Returns:

package url as str

getPresetInput(aInputParam)

Get the preset of the given input parameter

Parameters:

aInputParam (ParamInput or str) – the input parameter as ParamInput or identified by its uid

Returns:

a PresetInput if found, None otherwise

getPresetInputByIndex(aIndex)

Gets the preset at the specified index

Parameters:

aIndex (int) – The index

Returns:

SBSPRSPresetInput

getPresetInputCount()

Gets the number of preset inputs on the preset

Returns:

int

getPresetInputFromIdentifier(aInputParamIdentifier)

Get the preset of the given input parameter

Parameters:

aInputParamIdentifier (str) – the input parameter identified by its identifier

Returns:

a PresetInput if found, None otherwise

getPresetInputs()

Get the list of preset inputs defined in this preset

Returns:

a list of PresetInput

getUidIsUsed(aUID)

Check if the given uid is already used in the context of this SBSObject.

Parameters:

aUID (str) – UID to check

Returns:

True if the uid is already used, False otherwise

Raise:

AttributeError if the function getUidIsUsed in not properly overloaded on this SBSObject

getUsertags()

Gets the usertags for the preset

Returns:

usertags as str

parse(aContext, aDirAbsPath, aSBSParser, aXmlNode)

Parse recursively the given xml node to retrieve the content of the SBSObject.

Parameters:
  • aContext (Context) – execution context

  • aDirAbsPath (str) – the absolute directory containing the current parsed package (.sbs file)

  • aSBSParser (SBSParser) – the substance parser

  • aXmlNode (xml.etree.ElementTree) – the xml node to parse

removePresetInput(aPresetInput)

Removes an input preset

Parameters:

aPresetInput (SBSPRSPresetInput) – The preset to remove

Returns:

None

setDescription(aDescription)

Sets the description for the preset

Parameters:

aDescription (str) – The new description

Returns:

None

setLabel(aLabel)

Sets the label for the preset

Parameters:

aLabel (str) – The new label

Returns:

None

setPkgUrl(aPkgUrl)

Sets the pkgurl the preset

Parameters:

aPkgUrl (str) – The pkgurl. Should contain pkg://

Returns:

None

setUsertags(aUsertags)

setLabel(aUsertags) Sets the usertags for the preset

Parameters:

aUsertags (str) – The new label

Returns:

None

write(aSBSWriter, aXmlNode)

Write recursively the content of the SBSObject into the given xml node.

Parameters:
  • aSBSWriter (SBSWriter) – the substance writer

  • aXmlNode (xml.etree.ElementTree) – the xml node to fill

class sbspreset.sbspreset.SBSPRSPresetInput(aIdentifier='', aUID='', aValue='', aType='')

Bases: SBSObject, PresetInput

Class representing an SBSPRS preset

Members:
  • mIdentifier (str): Identifier for the value

  • mUID (str): Uid for the value

  • mValue (str): The value to set

  • mType (str): The type of the value

equals(other)

Check if this SBSObject is equivalent to the other SBSObject. Some members may be excluded from this check, the UIDs or GUILayout for instance.

Parameters:

other (SBSObject) – The SBSObject to compare to

Returns:

True if the two SBSObject are similar according to their definition.

getIdentifier()

Gets the identifier of the preset input

Returns:

identifier as string

getType()

Gets the type of the preset input

Returns:

type as :class:.SBSPRSType`

getTypedValue()

Gets the value of the preset as a value

Returns:

value as float, string, int array of int or float depending on type

getUID()

Gets the uid of the preset input

Returns:

uid as int

getUidIsUsed(aUID)

Check if the given uid is already used in the context of this SBSObject.

Parameters:

aUID (str) – UID to check

Returns:

True if the uid is already used, False otherwise

Raise:

AttributeError if the function getUidIsUsed in not properly overloaded on this SBSObject

getValue()

Gets the value of the preset as string

Returns:

value as string

parse(aContext, aDirAbsPath, aSBSParser, aXmlNode)

Parse recursively the given xml node to retrieve the content of the SBSObject.

Parameters:
  • aContext (Context) – execution context

  • aDirAbsPath (str) – the absolute directory containing the current parsed package (.sbs file)

  • aSBSParser (SBSParser) – the substance parser

  • aXmlNode (xml.etree.ElementTree) – the xml node to parse

setIdentifier(aIdentifier)

Sets the identifier

Parameters:

aIdentifier (string) – The new identifier

Returns:

None

setType(aType)

Sets the type for the input parameter

Parameters:

aType (:class:.SBSPRSType`) – The new type

Returns:

None

setUID(aUID)

Sets the UID for the input parameter

Parameters:

aUID (int) – The new UID

Returns:

None

setValue(aValue)

Sets the value for the input parameter

Parameters:

aValue (string) – The new value

Returns:

None

write(aSBSWriter, aXmlNode)

Write recursively the content of the SBSObject into the given xml node.

Parameters:
  • aSBSWriter (SBSWriter) – the substance writer

  • aXmlNode (xml.etree.ElementTree) – the xml node to fill

class sbspreset.sbspreset.SBSPRSPresets(aContext, aFileAbsPath, aFormatVersion='', aPresets=None)

Bases: SBSObject

Class representing the preset datastructure.

Members:
  • mContext (Context): Execution context, with alias definition

  • mFileAbsPath (str): Absolute path of the package

  • mFormatVersion (str): version of the format

  • mPresets (list of SBSPRSPreset): Presets to add

addPreset(preset)

Add preset

Parameters:

aPreset (SBSPreset) – The label to look for

Returns:

None

addSBSPresetFromGraph(aPreset, aGraph)

Adds a preset from a graph

Parameters:
  • aPreset (SBSPreset) – The preset to add

  • aGraph (SBSGraph) – The graph to add from

Returns:

SBSPRSPreset

createPreset(aLabel, aDescription='', aGraph=None, aPkgUrl=None)

Creates a new preset and returns it

Parameters:
  • aLabel (str) – The label for new preset

  • aDescription (str) – The description for the new preset

  • aUsertags (str) – Semi-colon separated tags for the preset

  • aGraph (SBSGraph) – The graph to make the preset apply to. Can’t be used if specifying aPkgUrl

  • aPkgUrl (str) – The pkgurl to apply the the preset to. Can’t be used if specifying aGraph

Returns:

SBSPRSPreset

equals(other)

Check if this SBSObject is equivalent to the other SBSObject. Some members may be excluded from this check, the UIDs or GUILayout for instance.

Parameters:

other (SBSObject) – The SBSObject to compare to

Returns:

True if the two SBSObject are similar according to their definition.

getPresetByIndex(aIndex)

Gets a preset at the specified index

Parameters:

aIndex (int) – The index to look for

Returns:

SBSPreset

getPresetByLabel(aLabel)

Gets a preset with the specified label

Parameters:

aLabel (str) – The label to look for

Returns:

SBSPreset or None if not found

getPresetCount()

Gets the total number of presets

Returns:

int

getUidIsUsed(aUID)

Check if the given uid is already used in the context of this SBSObject.

Parameters:

aUID (str) – UID to check

Returns:

True if the uid is already used, False otherwise

Raise:

AttributeError if the function getUidIsUsed in not properly overloaded on this SBSObject

importAllPresetsFromGraph(aGraph)

Adds a all presets from a graph

Parameters:

aGraph (SBSGraph) – The graph to add from

Returns:

list of SBSPRSPreset

insertAllPresetsInSBS(aDoc)

Inserts all presets from the preset to an SBS document Ignores presets on graphs not present in the sbsdocument

Parameters:

aDoc (SBSDocument) – the document to add presets to

Returns:

None

parse(aContext, aDirAbsPath, aSBSParser, aXmlNode)

Parse recursively the given xml node to retrieve the content of the SBSObject.

Parameters:
  • aContext (Context) – execution context

  • aDirAbsPath (str) – the absolute directory containing the current parsed package (.sbs file)

  • aSBSParser (SBSParser) – the substance parser

  • aXmlNode (xml.etree.ElementTree) – the xml node to parse

parseDoc()

Parse the SBSPRS File content

Returns:

True if succeed

removePreset(aPreset)

Removes a preset

Parameters:

aPreset (SBSPRSPreset) – The preset to remove

Returns:

None

write(aSBSWriter, aXmlNode)

Write recursively the content of the SBSObject into the given xml node.

Parameters:
  • aSBSWriter (SBSWriter) – the substance writer

  • aXmlNode (xml.etree.ElementTree) – the xml node to fill

writeDoc(aNewFileAbsPath=None)

Write the SBSPRS document in Element Tree structure and write it on the disk. If aNewFileAbsPath is provided, the document is saved at this location, otherwise it is save on the current file location.

Parameters:

aNewFileAbsPath – The final location of the document. By default, the document is saved at the same location that the one provided when creating the document.

Returns:

True if succeed

class sbspreset.sbspreset.SBSPRSTypes

Bases: object

Enumeration for sbsprs preset types