Imported Upstream version 4.7.2
This commit is contained in:
@@ -27,9 +27,8 @@ Example plugins
|
||||
|
||||
# First, let's import some stuff.
|
||||
|
||||
# api is an object containing references to all plugins and useful classes.
|
||||
# errors is a module containing all IPA specific exceptions.
|
||||
from ipalib import api, errors
|
||||
from ipalib import errors
|
||||
# Command is the base class for command plugin.
|
||||
from ipalib import Command
|
||||
# Str is a subclass of Param, it is used to define string parameters for
|
||||
@@ -42,6 +41,12 @@ from ipalib import Str
|
||||
from ipalib import output
|
||||
|
||||
|
||||
# To make the example ready for Python 3, we alias "unicode" to strings.
|
||||
import six
|
||||
if six.PY3:
|
||||
unicode = str
|
||||
|
||||
|
||||
# We're going to create an example command plugin, that takes a name as its
|
||||
# only argument. Commands in IPA support input validation by defining
|
||||
# functions we're going to call 'validators'. This is an example of such
|
||||
@@ -410,7 +415,7 @@ class exuser_find(Method):
|
||||
# patter expects them in one dict. We need to arrange that.
|
||||
for e in entries:
|
||||
e[1]['dn'] = e[0]
|
||||
entries = [e for (dn, e) in entries]
|
||||
entries = [e for (_dn, e) in entries]
|
||||
|
||||
return dict(result=entries, count=len(entries), truncated=truncated)
|
||||
|
||||
@@ -433,5 +438,3 @@ class exuser_find(Method):
|
||||
# authors from doing all the dirty work. Let's take a look at them.
|
||||
|
||||
# COMING SOON: baseldap.py classes, extending existing plugins, etc.
|
||||
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#!/usr/bin/python2
|
||||
#!/usr/bin/python3
|
||||
# Authors:
|
||||
# Jason Gerard DeRose <jderose@redhat.com>
|
||||
#
|
||||
@@ -19,31 +19,36 @@
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
|
||||
from __future__ import print_function
|
||||
from ipalib import api
|
||||
|
||||
# 1. Initialize ipalib
|
||||
#
|
||||
# Run ./python-api.py --help to see the global options. Some useful options:
|
||||
#
|
||||
# -v Produce more verbose output
|
||||
# -d Produce full debugging output
|
||||
# -e in_server=True Force running in server mode
|
||||
# -e xmlrpc_uri=https://foo.com/ipa/xml # Connect to a specific server
|
||||
|
||||
api.bootstrap_with_global_options(context='example')
|
||||
api.finalize()
|
||||
def example():
|
||||
# 1. Initialize ipalib
|
||||
#
|
||||
# Run ./python-api.py --help to see the global options. Some useful
|
||||
# options:
|
||||
#
|
||||
# -v Produce more verbose output
|
||||
# -d Produce full debugging output
|
||||
# -e in_server=True Force running in server mode
|
||||
# -e xmlrpc_uri=https://foo.com/ipa/xml # Connect to a specific server
|
||||
|
||||
# You will need to create a connection. If you're in_server, call
|
||||
# Backend.ldap.connect(), otherwise Backend.rpcclient.connect().
|
||||
api.bootstrap_with_global_options(context='example')
|
||||
api.finalize()
|
||||
|
||||
if api.env.in_server:
|
||||
api.Backend.ldap2.connect(
|
||||
ccache=api.Backend.krb.default_ccname()
|
||||
)
|
||||
else:
|
||||
api.Backend.rpcclient.connect()
|
||||
# You will need to create a connection. If you're in_server, call
|
||||
# Backend.ldap.connect(), otherwise Backend.rpcclient.connect().
|
||||
|
||||
if api.env.in_server:
|
||||
api.Backend.ldap2.connect()
|
||||
else:
|
||||
api.Backend.rpcclient.connect()
|
||||
|
||||
# Now that you're connected, you can make calls to api.Command.whatever():
|
||||
print('The admin user:')
|
||||
print(api.Command.user_show(u'admin'))
|
||||
|
||||
|
||||
# Now that you're connected, you can make calls to api.Command.whatever():
|
||||
print 'The admin user:'
|
||||
print api.Command.user_show(u'admin')
|
||||
if __name__ == '__main__':
|
||||
example()
|
||||
|
||||
Reference in New Issue
Block a user