freeipa/ipapython
Fraser Tweedale c5afee964e cli: simplify parsing of arbitrary types
Add the 'constructor' type to IPAOption to allow parsing arbitrary
types.

When using this type, supply the 'constructor' attribute with the
constructor of the type.  The checker for the 'constructor' type
attempts to construct the data, returning if successful else raising
OptionValueError.

The 'knob' interface remains unchanged but now accepts arbitrary
constructors.

This feature subsumes the '_option_callback' mechanism, which has
been refactored away.

This feature also subsumes the "dn" type in IPAOption, but this
refactor is deferred.

Part of: https://pagure.io/freeipa/issue/6858

Reviewed-By: Florence Blanc-Renaud <frenaud@redhat.com>
2017-10-04 10:09:18 +02:00
..
install cli: simplify parsing of arbitrary types 2017-10-04 10:09:18 +02: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 logging: do not log into the root logger 2017-07-14 15:55:59 +02:00
certdb.py Fix cert file creation during CA-less installation 2017-08-25 09:48:02 +02:00
config.py cli: simplify parsing of arbitrary types 2017-10-04 10:09:18 +02:00
cookie.py logging: remove object-specific loggers 2017-07-14 15:55:59 +02:00
dn.py ca-add: validate Subject DN name attributes 2017-06-01 09:28:36 +02:00
dnsutil.py logging: do not log into the root logger 2017-07-14 15:55:59 +02:00
dogtag.py logging: do not log into the root logger 2017-07-14 15:55:59 +02:00
errors.py Replace StandardError with Exception 2015-09-30 10:51:36 +02:00
graph.py ipapython/graph.py redundant variable fix 2017-07-14 09:16:13 +02:00
ipa_log_manager.py logging: make sure logging level is set to proper value 2017-07-26 15:57:56 +02:00
ipaldap.py pylint: disable __hash__ for some classes 2017-09-08 15:42:07 +02:00
ipautil.py ipautil: port host_port_open() to python 3 2017-08-18 11:48:51 +02:00
ipavalidate.py Change FreeIPA license to GPLv3+ 2010-12-20 17:19:53 -05:00
kerberos.py kerberos: fix sorting Principal objects 2017-08-17 09:56:01 +02:00
kernel_keyring.py Fix session cookies 2016-07-22 16:30:32 +02:00
Makefile.am ipapython: fix DEFAULT_PLUGINS in version.py 2017-03-09 18:39:48 +01:00
nsslib.py Remove ipapython.nsslib as it is not used anymore 2017-03-01 09:43:41 +00:00
README Replace DNS client based on acutil with python-dns 2012-05-24 13:55:56 +02:00
session_storage.py session_storage: Correctly handle string/byte types 2017-06-09 16:59:53 +02:00
setup.cfg Port all setup.py to setuptools 2016-10-20 18:43:37 +02:00
setup.py Correct PyPI package dependencies 2017-04-26 12:31:11 +02:00
ssh.py py3: fingerprint_hex_sha256: fix encoding/decoding 2017-01-31 18:33:27 +01:00
version.py.in ipapython: fix DEFAULT_PLUGINS in version.py 2017-03-09 18:39:48 +01: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