From 23e8e2222e4577d346e21003ab2f83ef36bfdb55 Mon Sep 17 00:00:00 2001 From: adamhrv Date: Tue, 23 Apr 2019 12:57:20 +0200 Subject: mod utils --- check/app/utils/file_utils.py | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) (limited to 'check/app/utils/file_utils.py') diff --git a/check/app/utils/file_utils.py b/check/app/utils/file_utils.py index 5c7b39d..1ed1833 100644 --- a/check/app/utils/file_utils.py +++ b/check/app/utils/file_utils.py @@ -310,6 +310,25 @@ def mkdirs(fp): fpp = fpp.parent if fpp.suffix else fpp fpp.mkdir(parents=True, exist_ok=True) +def ensure_posixpath(fp): + """Ensures filepath is pathlib.Path + :param fp: a (str, LazyFile, PosixPath) + :returns: a PosixPath filepath object + """ + if type(fp) == str: + fpp = Path(fp) + elif type(fp) == click.utils.LazyFile: + fpp = Path(fp.name) + elif type(fp) == pathlib.PosixPath: + fpp = fp + else: + raise TypeError('{} is not a valid filepath type'.format(type(fp))) + return fpp + +def ensure_dir(fp): + if not Path(fp).is_dir(): + mkdirs(fp) + def ext_media_format(ext): """Converts file extension into Enum MediaType -- cgit v1.2.3-70-g09d2