aws_lambda_builders/workflows/custom_make/utils.py (25 lines of code) (raw):
"""
Commonly used utilities
"""
import os
import platform
import subprocess
from aws_lambda_builders.utils import which
class OSUtils(object):
"""
Wrapper around file system functions, to make it easy to
unit test actions in memory
"""
def exists(self, p):
return os.path.exists(p)
def makedirs(self, path):
return os.makedirs(path)
def popen(self, command, stdout=None, stderr=None, env=None, cwd=None):
p = subprocess.Popen(command, stdout=stdout, stderr=stderr, env=env, cwd=cwd)
return p
def environ(self):
return os.environ.copy()
def normpath(self, path):
return os.path.normpath(path)
def abspath(self, path):
return os.path.abspath(path)
@property
def pipe(self):
return subprocess.PIPE
def is_windows(self):
return platform.system().lower() == "windows"
def which(self, executable, executable_search_paths=None):
return which(executable, executable_search_paths=executable_search_paths)