freeipa/ipapython
Petr Viktorin 099cf98307 Refactor ipautil.run
The ipautil.run function now returns an object with returncode and
output are accessible as attributes.

The stdout and stderr of all commands are logged (unless skip_output is given).

The stdout/stderr contents must be explicitly requested with a keyword
argument, otherwise they are None.
This is because in Python 3, the output needs to be decoded, and that can
fail if it's not decodable (human-readable) text.

The raw (bytes) output is always available from the result object,
as is "leniently" decoded output suitable for logging.

All calls are changed to reflect this.

A use of Popen in cainstance is changed to ipautil.run.

Reviewed-By: Jan Cholasta <jcholast@redhat.com>
2015-12-14 10:54:23 +01:00
..
dnssec Refactor ipautil.run 2015-12-14 10:54:23 +01:00
install install: Run all validators at once. 2015-12-08 08:12:22 +01:00
ipap11helper ipap11helper: Port to Python 3 2015-10-07 10:27:20 +02:00
py_default_encoding Use /usr/bin/python2 2014-01-03 09:46:05 +01:00
secrets custodia: do not modify memberPrincipal on key update 2015-12-07 08:14:13 +01:00
__init__.py Rename ipa-python directory to ipapython so it is a real python library 2009-02-09 14:35:15 -05:00
admintool.py admintool: Add error message with path to log on failure. 2015-10-15 13:32:13 +02:00
certdb.py Refactor ipautil.run 2015-12-14 10:54:23 +01:00
certmonger.py install: drop support for Dogtag 9 2015-11-25 09:12:25 +01:00
config.py Use six.moves.configparser instead of ConfigParser 2015-10-07 10:27:20 +02:00
cookie.py Use six.moves.xmlrpc.client instead of xmlrpclib 2015-10-07 10:27:20 +02:00
dn.py ipapython.dn: Use rich comparisons 2015-10-07 10:27:20 +02:00
dnsutil.py Fix more bytes/unicode issues 2015-10-22 18:34:46 +02:00
dogtag.py install: drop support for Dogtag 9 2015-11-25 09:12:25 +01:00
errors.py Replace StandardError with Exception 2015-09-30 10:51:36 +02:00
graph.py Use Python3-compatible dict method names 2015-09-01 11:42:01 +02:00
ipa_log_manager.py Use absolute imports 2015-08-12 18:17:23 +02:00
ipa.conf Rename ipa-python directory to ipapython so it is a real python library 2009-02-09 14:35:15 -05:00
ipaldap.py Upgrade: increase time limit for upgrades 2015-12-01 08:51:44 +01:00
ipautil.py Refactor ipautil.run 2015-12-14 10:54:23 +01:00
ipavalidate.py Change FreeIPA license to GPLv3+ 2010-12-20 17:19:53 -05:00
kernel_keyring.py Refactor ipautil.run 2015-12-14 10:54:23 +01:00
log_manager.py Use sys.maxsize instead of sys.maxint 2015-10-07 10:27:20 +02:00
Makefile BUILD: provide check target in custom Makefiles 2015-11-18 12:53:26 +01:00
MANIFEST.in Rename ipa-python directory to ipapython so it is a real python library 2009-02-09 14:35:15 -05:00
nsslib.py TLS and Dogtag HTTPS request logging improvements 2015-11-23 11:05:49 +01:00
p11helper.py Modernize use of range() 2015-09-01 11:42:01 +02:00
README Replace DNS client based on acutil with python-dns 2012-05-24 13:55:56 +02:00
setup.py.in Add ipa-custodia service 2015-10-15 14:24:33 +02:00
ssh.py ipa-client-install: add support for Ed25519 SSH keys (RFC 7479) 2015-12-01 09:41:52 +01:00
sysrestore.py Use six.moves.configparser instead of ConfigParser 2015-10-07 10:27:20 +02:00
version.py.in ipalib.version: Add VENDOR_VERSION 2014-05-27 12:08:54 +02:00

This is a set of libraries common to IPA clients and servers though mostly
geared currently towards command-line tools.

A brief overview:

config.py - identify the IPA server domain and realm. It uses python-dns to
            try to detect this information first and will fall back to
            /etc/ipa/default.conf if that fails.

ipautil.py - helper functions

entity.py - entity is the main data type. User and Group extend this class
            (but don't add anything currently).

ipavalidate.py - basic data validation routines