Toilal / python-chmod-monkey

Add support for `os.chmod('script.sh', 'ug+x')` syntax style.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

python-chmod-monkey

PyPI PyPI - Python Version PyPI - License Build Status Code coverage

Add support for os.chmod('script.sh', 'ug+x') syntax style.

Almost any expression supported by GNU Coreutils chmod should be supported by this module.

[ugoa]*([-+=]([rwx]*|[ugo]))+|[-+=][0-7]+

Xst flags are not supported though.

Install

pip install chmod-monkey

Usage

There are two ways to use chmod-monkey.

Using os.chmod MonkeyPatch

import os

import chmod_monkey
chmod_monkey.install()  # Install monkeypatch because we are evil !

os.chmod('script.sh', 'ug+x')  # Magic :)

Using to_mode converter

import os

from chmod_monkey import to_mode

os.chmod('script.sh', to_mode('script.sh', 'ug+x'))  # For serious people.

Other features

Context manager

You may use the following syntax to temporary change a file mode.

from chmod_monkey import tmp_chmod

with tmp_chmod('script.sh', "+w"):
    pass # File permissions are modified in this block only
# File permissions are restored here

About

Add support for `os.chmod('script.sh', 'ug+x')` syntax style.

License:MIT License


Languages

Language:Python 100.0%