fsl.utils.filetree.utils
¶
-
class
fsl.utils.filetree.utils.
Part
[source]¶ Bases:
object
Individual part of a template
3 subclasses are defined:
Literal
: piece of textRequired
: required variable to fill in (between curly brackets)Optional
: part of text containing optional variables (between square brackets)
-
fill_known
(variables) → Sequence[fsl.utils.filetree.utils.Part][source]¶ Fills in the given variables
-
optional_variables
() → Set[fsl.utils.filetree.utils.Part][source]¶ Returns all variables in optional parts
-
required_variables
() → Set[fsl.utils.filetree.utils.Part][source]¶ Returns all required variables
-
class
fsl.utils.filetree.utils.
Optional
(sub_template: fsl.utils.filetree.utils.Template)[source]¶
-
class
fsl.utils.filetree.utils.
Template
(parts: Sequence[fsl.utils.filetree.utils.Part])[source]¶ Bases:
object
Splits a template into its constituent parts
-
classmethod
parse
(text: str) → fsl.utils.filetree.utils.Template[source]¶ Parses a text template into its constituent parts
- Parameters
text – input template as string
- Returns
same template split into its parts
-
ordered_variables
() → Tuple[str][source]¶ Sequence of all variables in order (can contain duplicates)
-
fill_known
(variables) → fsl.utils.filetree.utils.Template[source]¶ Fill in the known variables
Any optional parts, where all variables have been filled will be automatically replaced
-
remove_optionals
(optionals=None) → fsl.utils.filetree.utils.Template[source]¶ Removes any optionals containing the provided variables (default: remove all)
-
resolve
(variables) → str[source]¶ Resolves the template given a set of variables
- Parameters
variables – mapping of variable names to values
- Returns
cleaned string
-
get_all
(variables, glob_vars=()) → Tuple[Dict[str, str]][source]¶ Gets all variables for files on disk matching the templates
- Parameters
variables – (incomplete) mapping of variable names to values
glob_vars – sequence of undefined variables that can take any possible values when looking for matches on the disk
-
optional_subsets
() → Iterator[fsl.utils.filetree.utils.Template][source]¶ Yields template sub-sets with every combination optional variables
-
classmethod
-
fsl.utils.filetree.utils.
resolve
(template, variables)[source]¶ Resolves the template given a set of variables
- Parameters
template – template
variables – mapping of variable names to values
- Returns
cleaned string
-
fsl.utils.filetree.utils.
get_all
(template, variables, glob_vars=())[source]¶ Gets all variables matching the templates given the variables
- Parameters
template – template
variables – (incomplete) mapping of variable names to values
glob_vars – sequence of undefined variables that can take any possible values when looking for matches on the disk If glob_vars contains any defined variables, it will be ignored.
- Returns
sequence of variables
-
fsl.utils.filetree.utils.
find_variables
(template)[source]¶ Finds all the variables in the template
- Parameters
template – full template
- Returns
sequence of variables
-
fsl.utils.filetree.utils.
optional_variables
(template)[source]¶ Finds the variables that can be skipped
- Parameters
template – full template
- Returns
set of variables that are only present in optional parts of the string
-
fsl.utils.filetree.utils.
extract_variables
(template, filename, known_vars=None)[source]¶ Extracts the variable values from the filename
- Parameters
template – template matching the given filename
filename – filename
known_vars – already known variables
- Returns
dictionary from variable names to string representations (unused variables set to None)