Package logilab :: Package common :: Module shellutils

[frames] | no frames]

# Module shellutils

source code

    shell/term utilities, useful to write some python scripts instead of shell
    scripts.

Classes
| tempdir
| pushd
| ProgressBar A simple text progression bar.
| DummyProgressBar
| progress
| RawInput

Functions

chown(path, login=None, group=None) Same as `os.chown` function but accepting user login or group name as argument. | source code

mv(source, destination, _action=shutil.move) A shell-like mv, supporting wildcards. | source code

rm(*files) A shell-like rm, supporting wildcards. | source code

cp(source, destination) A shell-like cp, supporting wildcards. | source code

find(directory, exts, exclude=False, blacklist=STD_BLACKLIST) Recursively find files ending with the given extensions from the directory. | source code

globfind(directory, pattern, blacklist=STD_BLACKLIST) Recursively finds files matching glob `pattern` under `directory`. | source code

unzip(archive, destdir) | source code

getlogin() avoid using os.getlogin() because of strange tty / stdin problems... | source code

generate_password(length=8, vocab=string.ascii_letters+string.digits) dumb password generation function | source code

Variables
| Execute = `deprecated('Use subprocess.Popen instead')(Execute)`
| ASK = `RawInput()`

Function Details

### chown(path, login=None, group=None)

source code

    Same as `os.chown` function but accepting user login or group name as
    argument. If login or group is omitted, it's left unchanged.

    Note: you must own the file to chown it (or be root). Otherwise OSError is raised.

### find(directory, exts, exclude=False, blacklist=STD_BLACKLIST)

source code

    Recursively find files ending with the given extensions from the directory.

    :type directory: str
    :param directory:
      directory where the search should start

    :type exts: basestring or list or tuple
    :param exts:
      extensions or lists or extensions to search

    :type exclude: boolean
    :param exts:
      if this argument is True, returning files NOT ending with the given
      extensions

    :type blacklist: list or tuple
    :param blacklist:
      optional list of files or directory to ignore, default to the value of
      `logilab.common.STD_BLACKLIST`

    :rtype: list
    :return:
      the list of all matching files

### globfind(directory, pattern, blacklist=STD_BLACKLIST)

source code

    Recursively finds files matching glob `pattern` under `directory`.

    This is an alternative to `logilab.common.shellutils.find`.

    :type directory: str
    :param directory:
      directory where the search should start

    :type pattern: basestring
    :param pattern:
      the glob pattern (e.g *.py, foo*.py, etc.)

    :type blacklist: list or tuple
    :param blacklist:
      optional list of files or directory to ignore, default to the value of
      `logilab.common.STD_BLACKLIST`

    :rtype: iterator
    :return:
      iterator over the list of all matching files

### getlogin()

source code

    avoid using os.getlogin() because of strange tty / stdin problems
    (man 3 getlogin)
    Another solution would be to use $LOGNAME, $USER or $USERNAME