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'