Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
def __init__(self, **kwargs):
"""Initializer for ActionPathList instance.
Args:
mode (str): The required type and access permissions among [fdrwxcuFDRWX] as a keyword argument (uppercase means not), e.g. ActionPathList(mode='fr').
skip_check (bool): Whether to skip path checks (def.=False).
rel (str): Whether relative paths are with respect to current working directory 'cwd' or the list's parent directory 'list' (default='cwd').
Raises:
ValueError: If any of the parameters (mode or rel) are invalid.
"""
if 'mode' in kwargs:
_check_unknown_kwargs(kwargs, {'mode', 'skip_check', 'rel'})
Path._check_mode(kwargs['mode'])
self._mode = kwargs['mode']
self._skip_check = kwargs['skip_check'] if 'skip_check' in kwargs else False
self._rel = kwargs['rel'] if 'rel' in kwargs else 'cwd'
if self._rel not in {'cwd', 'list'}:
raise ValueError('rel must be either "cwd" or "list", got '+str(self._rel)+'.')
elif '_mode' not in kwargs:
raise ValueError('Expected mode keyword argument.')
else:
self._mode = kwargs.pop('_mode')
self._skip_check = kwargs.pop('_skip_check')
self._rel = kwargs.pop('_rel')
kwargs['type'] = str
super().__init__(**kwargs)