Classes#

BashComposer#

class dls_utilpack.bash_composer.BashComposer(should_include_prolog=True)[source]#

Class which helps with composing bash scripts consistently and reliably.

Parameters:

should_include_prolog (bool | None) – True if should emit a prolog on this bash script. Defaults to True.

add(element)[source]#

Add element to be included in the bash script.

Possible element classes are: Print, Raw, Command, Prolog and LoadModules.

Parameters:

element (Element) – Element object.

Return type:

None

add_print(message)[source]#

Add print element to bash script.

Parameters:

message (str) – Message to be printed.

Return type:

None

add_load_modules(directories, modules)[source]#

Add shell commands for loading linux environment modules.

Parameters:
  • directories (List[str]) – List of directories for the “module use” command.

  • modules (List[str]) – List of names for the “module load” command.

Return type:

None

compose_lines()[source]#

Return bash script as list of lines.

Returns:

The complete bash script.

Return type:

List[str]

compose_string()[source]#

Return composed bash script as a string.

Returns:

The complete bash script.

Return type:

str

write(filename)[source]#

Write composed bash script lines to file.

Adds execution permission to the file.

Parameters:

filename (str) –

Return type:

None

class dls_utilpack.bash_composer.Element[source]#

Base class for other elements.