Source code for rosdistro.common

from __future__ import print_function

from errno import EACCES, EPERM
import os
import shutil
import stat
import sys

_quiet = False


[docs]def quiet(state=True): global _quiet _quiet = state
def _print_func(msg, end, file): global _quiet if not _quiet: print(msg, end=end, file=file)
[docs]def override_print(print_func=_print_func): global _print _print = print_func
_print = _print_func
[docs]def info(msg, end=None, file=None): global _print _print(msg, end=end, file=file)
[docs]def warning(msg, end=None, file=None): global _print _print(msg, end=end, file=file)
[docs]def error(msg, end=None, file=None): global _print file = sys.stderr if file is None else file _print(msg, end=end, file=file)
[docs]def rmtree(path): kwargs = {} if sys.platform == 'win32': kwargs['onerror'] = _onerror_windows return shutil.rmtree(path, **kwargs)
def _onerror_windows(function, path, excinfo): if isinstance(excinfo[1], OSError) and excinfo[1].errno in (EACCES, EPERM): os.chmod(path, stat.S_IWRITE) function(path)