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