def finalize_pipelines_directory(self, pipe_path="<STR_LIT>"):
<EOL>if not pipe_path:<EOL><INDENT>try:<EOL><INDENT>pipe_path = self.metadata[NEW_PIPES_KEY]<EOL><DEDENT>except KeyError:<EOL><INDENT>pipe_path = []<EOL><DEDENT><DEDENT>if isinstance(pipe_path, str):<EOL><INDENT>pipe_path = [pipe_path]<EOL><DEDENT>elif isinstance(pipe_path, Iterable) andnot isinstance(pipe_path, Mapping):<EOL><INDENT>pipe_path = list(pipe_path)<EOL><DEDENT>else:<EOL><INDENT>_LOGGER.debug("<STR_LIT>".<EOL>format(pipe_path, type(pipe_path)))<EOL>pipe_path = []<EOL><DEDENT>self[METADATA_KEY][NEW_PIPES_KEY] = pipe_path<EOL>
Finalize the establishment of a path to this project's pipelines.

With the passed argument, override anything already set.
Otherwise, prefer path provided in this project's config, then
local pipelines folder, then a location set in project environment.

:param str pipe_path: (absolute) path to pipelines
:raises PipelinesException: if (prioritized) search in attempt to
    confirm or set pipelines directory failed
:raises TypeError: if pipeline(s) path(s) argument is provided and
    can't be interpreted as a single path or as a flat collection
    of path(s)