construct_filename

namefiles.construct_filename(filename_template: Optional[str] = None, filename_validator: Optional[namefiles.JsonschemaValidator] = None, **filename_parts) str

Constructs a filename using a filename convention.

Parameters
  • filename_template – A template providing a format method to be called with the fileparts.

  • filename_validator – The validator to validate the filename parts with its file naming convention.

  • **filename_parts – File name parts as keywords to be used for the filename construction.

Returns

str

Examples

>>> import namefiles
>>> namefiles.construct_filename(identifier="basename")
'basename'
>>> namefiles.construct_filename(identifier="basename", extension=".txt")
'basename.txt'
>>> namefiles.construct_filename(
...     identifier="basename", sub_id="SUB1", extension=".txt"
... )
'basename#SUB1.txt'
>>> namefiles.construct_filename(
...     identifier="basename",
...     sub_id="SUB1",
...     vargroup = ["Alibaba", 40, "thieves"],
...     source_id = "arabia",
...     context = "tale",
...     extension = ".txt"
... )
'basename#SUB1#arabia#_Alibaba_40_thieves.tale.txt'
>>> namefiles.construct_filename(identifier="basename", context="tale")
Traceback (most recent call last):
...
ValueError: Filename cannot be constructed, because , 'extension' is a dependency of 'context'