hpcflow.sdk.core.command_files.FileNameSpec#

class hpcflow.sdk.core.command_files.FileNameSpec(name, args=None, is_regex=False)#

Bases: JSONLike

The name of a file handled by a workflow, or a pattern that matches multiple files.

Parameters:
  • name (str) – The name or pattern.

  • args (list) – Positional arguments to use when formatting the name. Can be omitted if the name does not contain a Python formatting pattern.

  • is_regex (bool) – If true, the name is used as a regex to search for actual files.

Methods

from_json_like

Make an instance of this class from JSON (or YAML) data.

to_dict

Serialize this object as a dictionary.

to_json_like

Serialize this object as an object structure that can be trivially converted to JSON.

value

Get the template-resolved name of the file (or files matched if the name is a regex pattern).

Attributes

ext

The extension of the name or pattern.

stem

The stem of the name or pattern.

name

The name or pattern.

args

Positional arguments to use when formatting the name.

is_regex

Whether the name is used as a regex to search for actual files.

args: Final[tuple[FileNamePart, ...]]#

Positional arguments to use when formatting the name.

property ext: FileNameExt#

The extension of the name or pattern.

classmethod from_json_like(json_like, shared_data=None)#

Make an instance of this class from JSON (or YAML) data.

Parameters:
  • json_like (str | Mapping[str, JSONed] | Sequence[Mapping[str, JSONed]] | None) – The data to deserialise.

  • shared_data (Mapping[str, ObjectList[JSONable]] | None) – Shared context data.

Return type:

The deserialised object.

is_regex: Final[bool]#

Whether the name is used as a regex to search for actual files.

name: Final[str]#

The name or pattern.

property stem: FileNameStem#

The stem of the name or pattern.

to_dict()#

Serialize this object as a dictionary.

Return type:

dict[str, Any]

to_json_like(dct=None, shared_data=None, exclude=(), path=None)#

Serialize this object as an object structure that can be trivially converted to JSON. Note that YAML can also be produced from the result of this method; it just requires a different final serialization step.

Parameters:
  • dct (dict[str, JSONable] | None) –

  • shared_data (_JSONDeserState) –

  • exclude (Container[str | None]) –

  • path (list | None) –

Return type:

tuple[JSONDocument, _JSONDeserState]

value(directory='.')#

Get the template-resolved name of the file (or files matched if the name is a regex pattern).

Parameters:

directory (str) – Where to resolve values with respect to.

Return type:

list[str] | str