summaryrefslogtreecommitdiffstats
path: root/lib/ansiblelint/file_utils.py
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-05-14 20:04:50 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-05-14 20:04:50 +0000
commit782f8df6e41f29dce2db4970a3ad84aaeb7d8c5f (patch)
tree3a88a542cd8074743d251881131510157cfc510b /lib/ansiblelint/file_utils.py
parentInitial commit. (diff)
downloadansible-lint-782f8df6e41f29dce2db4970a3ad84aaeb7d8c5f.tar.xz
ansible-lint-782f8df6e41f29dce2db4970a3ad84aaeb7d8c5f.zip
Adding upstream version 4.3.7.upstream/4.3.7upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'lib/ansiblelint/file_utils.py')
-rw-r--r--lib/ansiblelint/file_utils.py25
1 files changed, 25 insertions, 0 deletions
diff --git a/lib/ansiblelint/file_utils.py b/lib/ansiblelint/file_utils.py
new file mode 100644
index 0000000..f25382f
--- /dev/null
+++ b/lib/ansiblelint/file_utils.py
@@ -0,0 +1,25 @@
+"""Utility functions related to file operations."""
+import os
+from contextlib import contextmanager
+
+
+def normpath(path) -> str:
+ """
+ Normalize a path in order to provide a more consistent output.
+
+ Currently it generates a relative path but in the future we may want to
+ make this user configurable.
+ """
+ # convertion to string in order to allow receiving non string objects
+ return os.path.relpath(str(path))
+
+
+@contextmanager
+def cwd(path):
+ """Context manager for temporary changing current working directory."""
+ old_pwd = os.getcwd()
+ os.chdir(path)
+ try:
+ yield
+ finally:
+ os.chdir(old_pwd)