Source code for infrahouse_core.fs

"""
InfraHouse Toolkit file system module.
"""

from logging import getLogger
from os import chmod, stat

LOG = getLogger(__name__)


[docs] def ensure_permissions(path: str, permissions: int): """ For a path on the file system check permissions and set if they differ. :param path: Filesystem path to a file or directory. :type path: str :param permissions: Permissions the file or directory must have. Can be an integer like 0o755 or 0o644. :type permissions: int """ result = stat(path) set_permissions = result.st_mode & 0o777 LOG.debug("%s permissions: 0o%o", path, set_permissions) if set_permissions != permissions: LOG.debug("Setting %s permissions to 0o%o", path, permissions) chmod(path, permissions)