Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
pycklets / folder_exists.py
Size: Mime:
# -*- coding: utf-8 -*-

from pyckles import AutoPycklet


class FolderExists(AutoPycklet):
    """Ensure a folder exists on the filesystem

     If the ``owner`` and/or ``group`` variables is/are specified, create those in case they don't exist yet.

     If the ``owner`` variable is specified, this frecklet will use elevated permissions.

       Args:
         force_chown: Whether to force changing of ownership, even if folder already exists.
         group: The group of the folder, will be created if necessary.
         mode: The permissions of the folder.
         owner: The owner of the folder, will be created if necessary.
         path: The path to the folder.
         system_user: Whether the user (and group) should be of system user/group type.

    """

    FRECKLET_ID = "folder-exists"

    def __init__(
        self,
        force_chown=True,
        group=None,
        mode=None,
        owner=None,
        path=None,
        system_user=None,
    ):

        super(FolderExists, self).__init__(
            var_names=["force_chown", "group", "mode", "owner", "path", "system_user"]
        )
        self._force_chown = force_chown
        self._group = group
        self._mode = mode
        self._owner = owner
        self._path = path
        self._system_user = system_user

    @property
    def force_chown(self):
        return self._force_chown

    @force_chown.setter
    def force_chown(self, force_chown):
        self._force_chown = force_chown

    @property
    def group(self):
        return self._group

    @group.setter
    def group(self, group):
        self._group = group

    @property
    def mode(self):
        return self._mode

    @mode.setter
    def mode(self, mode):
        self._mode = mode

    @property
    def owner(self):
        return self._owner

    @owner.setter
    def owner(self, owner):
        self._owner = owner

    @property
    def path(self):
        return self._path

    @path.setter
    def path(self, path):
        self._path = path

    @property
    def system_user(self):
        return self._system_user

    @system_user.setter
    def system_user(self, system_user):
        self._system_user = system_user