Inheritance |
|
このクラスは、pdg.WorkItemやpdg.Graphといったアトリビュートを格納できるPDG内の他のすべてのクラスの基底クラスです。
メソッド ¶
addAttrib(name, type:
pdg.attribType, overwrite=
pdg.attribOverwrite.Match, error_level=
pdg.attribErrorLevel.Error)
→ pdg.AttributeFile or pdg.AttributeFloat or pdg.AttributeInt or pdg.AttributePyObject or pdg.AttributeString
指定した名前とタイプのアトリビュートを追加します。
オプションのoverwrite
引数にpdg.attribOverwrite列挙の値を設定することで、オブジェクトに既に同じname
のアトリビュートが存在した場合の挙動を制御することができます。
デフォルトでは、同じ名前で同じタイプのアトリビュートが既に存在した場合、既存のアトリビュートが返されます。
同じ名前で異なるタイプのアトリビュートが既に存在した場合、例外が発生します。
overwrite
引数にpdg.attribOverwrite.Alwaysを設定した場合、既存のアトリビュートが削除され、新しいtype
のアトリビュートに置換されます。
オプションのerror_level
引数を使用することで、PDGハンドルが失敗した場合の挙動を制御することができます。
デフォルトでは、失敗の原因を示したメッセージを出して例外が発生します。
代わりにpdg.attribErrorLevel.Warn列挙値を渡して、このオブジェクトがワークアイテムだった場合、そのワークアイテムを所有するノードにエラーメッセージが警告として追加されます。
または、pdg.attribErrorLevel.Quiet列挙値を渡すと、すべてのエラー報告が抑止されます。
error_level
引数にError
以外の値を設定した場合、このメソッドは、アトリビュートを追加できなかった時にNone
を返します。
attrib(name)
→ pdg.AttributeFile or pdg.AttributeFloat or pdg.AttributeInt or pdg.AttributePyObject or pdg.AttributeString
指定した名前のアトリビュートを返します。そのようなアトリビュートが存在しなければNone
を返します。
このアトリビュートは、pdg.attribTypeに載せているアトリビュートタイプのどれかになります。
このアトリビュートをattrib_owner.attrib[name]
として記述することもできます。
attrib(name, type)
→ pdg.AttributeFile or pdg.AttributeFloat or pdg.AttributeInt or pdg.AttributePyObject or pdg.AttributeString
指定した名前とタイプのアトリビュートを返します。そのようなアトリビュートが存在しなければNone
を返します。
attribArray(name)
→ list
of int
, float
, str
or pdg.File
アトリビュートに格納されている配列を返します。
attribHash(include_internal=True, include_unowned=True, only_static=False)
→ int
すべてのアトリビュート値に基づいて計算されたハッシュ値を返します。 これは、クック間でオブジェクトを区別するのに役立ちます。
include_internal
引数は、そのハッシュ処理においてPDG自体(例えば、ワークアイテムの入力/出力ファイル、または、コマンド文字列)で定義されている内部アトリビュートを含めるのかどうかを決めます。
これがワークアイテムで、include_unowned
引数がFalse
の場合、そのハッシュ処理は、そのワークアイテムを所有しているノードによって修正または追加されたアトリビュートのみを考慮します。
それ以外の場合、すべてのアトリビュートが考慮されます。
これがワークアイテムで、only_static
引数がTrue
の場合、そのハッシュ処理は、そのワークアイテムが生成された時に作成されたアトリビュートのみを考慮します。
そのワークアイテムがスケジュールに組まれた時やクックされた時に追加/修正されたアトリビュートは、そのハッシュ処理には考慮されません。
attribHash(filter, include_internal=True, include_unowned=True, only_static=False)
→ int
上記と同じ処理を実行しますが、filter
引数に渡されたアトリビュートのリストを使用して、ハッシュ処理の前にアトリビュートをフィルタリングします。
attribMatch(pattern)
→ list
of str
指定したpdg.AttributePatternインスタンスにマッチしたアトリビュートの名前のリストを返します。
attribNames(type=pdg.attribType.Undefined)
→ list
of str
type
がpdg.attribType.Undefinedに設定されている場合、すべてのアトリビュートの名前のリストを返します。
それ以外の場合、指定したタイプのアトリビュートの名前のリストを返します。
attribValue(name, index=0)
→ int
, float
, str
or pdg.File
指定したインデックスにおけるアトリビュートの値を返します。
このアトリビュートをattrib_owner[name][index]
として記述することもできます。
attribValues(type=pdg.attribType.Undefined)
→ dict
of list
of int
, float
, and str
type
がpdg.attribType.Undefinedに設定されている場合、すべてのアトリビュート名とその値のマップを返します。
それ以外の場合、指定したタイプのすべてのアトリビュート名とその値のマップを返します。
attribType(name)
→ pdg.attribType
指定した名前のアトリビュートのタイプを返します。
その名前のアトリビュートが存在しなかった場合はpdg.attribType.Undefined
を返します。
clearAttribs()
すべてのアトリビュートをクリアして削除します。
clearAttribs(type)
指定したタイプのすべてのアトリビュートをクリアして削除します。
eraseAttrib(name)
指定した名前のアトリビュートを消去します。
fileAttribValue(name, index=0)
→ pdg.File
指定したインデックスにおけるファイルアトリビュート値を返します。
floatAttribArray(name)
→ list
of float
浮動小数点アトリビュート配列を返します。
floatAttribValue(name, index=0)
→ float
指定したインデックスにおける浮動小数点アトリビュート値を返します。
hasAttrib(name)
→ bool
このオブジェクトが指定した名前のアトリビュートを持っていればTrue
を返します。
intAttribArray(name)
→ list
of int
整数アトリビュート配列を返します。
intAttribValue(name, index=0)
→ int
指定したインデックスにおける整数アトリビュート値を返します。
loadAttributes(file_path, collision_strategy)
→ bool
指定したJSONファイルからアトリビュートデータをこのオブジェクトに読み込みます。
collision_strategy
引数には、pdg.attribCollisionStrategyのどれかの列挙値を指定してください。
lockAttributes()
→ pdg.LockAttributesBlock
コンテキストマネージャを使用して、このアトリビュートをロックします。 コンテキストマネージャを使用している間は、他のスレッドがアトリビュートを修正してしまわないか心配することなく、そのアトリビュートを安全に修正することができます。
例:
with attrib_owner.lockAttributes(): attrib_owner.setIntAttrib("example", 10)
Note
onGenerate
やonPartition
などのPDGノードコールバック内でワークアイテムに対してこのメソッドを コールしないでください 。
PDGノードは、コールバックがすべてのワークアイテムに安全にアクセスできることを既に保証しています。
numAttribs(type=pdg.attribType.Undefined)
→ int
type
がpdg.attribType.Undefinedに設定されている場合、マップ内のアトリビュートの数を返します。
それ以外の場合、指定したタイプのアトリビュートの数を返します。
pyObjectAttribValue(name)
→ object
指定したアトリビュートに格納されているPythonオブジェクトを返します。
renameAttrib(src_name, dst_name, overwrite_existing=False)
→ bool
src_name
というアトリビュート名をdst_name
に変更します。
saveAttributes(file_path)
→ bool
このオブジェクトに格納されているアトリビュートデータをJSONとして、指定したファイルパスに保存します。
そのファイルパスが.gz
で終わっている場合、そのファイルはGZipを使用して圧縮されます。
それ以外の場合、そのファイルはプレーンテキストのJSONとして保存されます。
setAttribFlag(name, flag, value=True)
指定したアトリビュートに対してpdg.attribFlagを設定またはクリアします。
setFileAttrib(name, value, index=0, overwrite=
pdg.attribOverwrite.Match)
指定したインデックスにファイルアトリビュート値を設定します。 このアトリビュートが 存在しなかった 場合には作成されます。
オプションのoverwrite
引数は、同じname
で異なるタイプのアトリビュートが既に存在した場合の挙動を決めます。
詳細は、pdg.AttributeOwner.addAttribを参照してください。
setFileAttrib(name, array, overwrite=
pdg.attribOverwrite.Match)
ファイルアトリビュート配列を設定します。 このアトリビュートが 存在しなかった 場合には作成されます。
オプションのoverwrite
引数は、同じname
で異なるタイプのアトリビュートが既に存在した場合の挙動を決めます。
詳細は、pdg.AttributeOwner.addAttribを参照してください。
setFloatAttrib(name, value, index=0, overwrite=
pdg.attribOverwrite.Match)
指定したインデックスに浮動小数点アトリビュート値を設定します。 このアトリビュートが 存在しなかった 場合には作成されます。
オプションのoverwrite
引数は、同じname
で異なるタイプのアトリビュートが既に存在した場合の挙動を決めます。
詳細は、pdg.AttributeOwner.addAttribを参照してください。
setFloatAttrib(name, array, overwrite=
pdg.attribOverwrite.Match)
浮動小数点アトリビュート配列を設定します。 このアトリビュートが 存在しなかった 場合には作成されます。
オプションのoverwrite
引数は、同じname
で異なるタイプのアトリビュートが既に存在した場合の挙動を決めます。
詳細は、pdg.AttributeOwner.addAttribを参照してください。
setIntAttrib(name, value, index=0, overwrite=
pdg.attribOverwrite.Match)
指定したインデックスに整数アトリビュート値を設定します。 このアトリビュートが 存在しなかった 場合には作成されます。
オプションのoverwrite
引数は、同じname
で異なるタイプのアトリビュートが既に存在した場合の挙動を決めます。
詳細は、pdg.AttributeOwner.addAttribを参照してください。
setIntAttrib(name, array, overwrite=
pdg.attribOverwrite.Match)
整数アトリビュート配列を設定します。 このアトリビュートが 存在しなかった 場合には作成されます。
setPyObjectAttrib(name, value, overwrite=
pdg.attribOverwrite.Match)
Pythonオブジェクトアトリビュート値を設定します。 このアトリビュートは、そのオブジェクト上の参照カウントを増やして、そのアトリビュート自体が存在している間はそのオブジェクトが存在することを保証します。
オプションのoverwrite
引数は、同じname
で異なるタイプのアトリビュートが既に存在した場合の挙動を決めます。
詳細は、pdg.AttributeOwner.addAttribを参照してください。
setStringAttrib(name, value, index=0, overwrite=
pdg.attribOverwrite.Match)
指定したインデックスに文字列アトリビュート値を設定します。 このアトリビュートが 存在しなかった 場合には作成されます。
オプションのoverwrite
引数は、同じname
で異なるタイプのアトリビュートが既に存在した場合の挙動を決めます。
詳細は、pdg.AttributeOwner.addAttribを参照してください。
setStringAttrib(name, array, overwrite=
pdg.attribOverwrite.Match)
stringattribute
配列を設定します。
このアトリビュートが 存在しなかった 場合には作成されます。
オプションのoverwrite
引数は、同じname
で異なるタイプのアトリビュートが既に存在した場合の挙動を決めます。
詳細は、pdg.AttributeOwner.addAttribを参照してください。
stringAttribArray(name)
→ list
of str
文字列アトリビュート配列を返します。
stringAttribValue(name, index=0)
→ str
指定したインデックスの文字列アトリビュート値を返します。
timeDependentAttribs()
→ list
of str
時間依存のアトリビュートのリストを返します。 このメソッドは、バッチの親の共有アトリビュートを所有しているバッチ内のワークアイテムに対して主に使用します。