From e963be1dda58494a80198a8d8a1cec5f2c898ca2 Mon Sep 17 00:00:00 2001 From: Jason Gerard DeRose Date: Wed, 1 Oct 2008 15:56:04 -0600 Subject: Renamed plugins/example.py to plugins/f_user.py --- ipalib/plugins/example.py | 178 ---------------------------------------------- ipalib/plugins/f_user.py | 178 ++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 178 insertions(+), 178 deletions(-) delete mode 100644 ipalib/plugins/example.py create mode 100644 ipalib/plugins/f_user.py (limited to 'ipalib/plugins') diff --git a/ipalib/plugins/example.py b/ipalib/plugins/example.py deleted file mode 100644 index e4d7dc10..00000000 --- a/ipalib/plugins/example.py +++ /dev/null @@ -1,178 +0,0 @@ -# Authors: -# Jason Gerard DeRose -# -# Copyright (C) 2008 Red Hat -# see file 'COPYING' for use and warranty information -# -# This program is free software; you can redistribute it and/or -# modify it under the terms of the GNU General Public License as -# published by the Free Software Foundation; version 2 only -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - -""" -Some example plugins. -""" - -from ipalib import frontend -from ipalib import crud -from ipalib.frontend import Param -from ipalib import api - -class user(frontend.Object): - 'User object' - takes_params = ( - 'givenname', - 'sn', - Param('uid', - primary_key=True, - default_from=lambda givenname, sn: givenname[0] + sn, - normalize=lambda value: value.lower(), - ), - Param('krbprincipalname', - default_from=lambda uid: '%s@EXAMPLE.COM' % uid, - ), - Param('homedirectory', - default_from=lambda uid: '/home/%s' % uid, - ) - ) -api.register(user) - - -# Hypothetical functional commands (not associated with any object): -class krbtest(frontend.Command): - 'Test your Kerberos ticket.' -api.register(krbtest) - -class discover(frontend.Command): - 'Discover IPA servers on network.' -api.register(discover) - -# Command to get the idea how plugins will interact with api.env -class envtest(frontend.Command): - 'Show current environment.' - def run(*args, **kw): - print "" - print "Environment variables:" - for var in api.env: - val = api.env[var] - if var is 'servers': - print "" - print " Servers:" - for item in api.env.servers: - print " %s" % item - print "" - else: - print " %s: %s" % (var, val) -api.register(envtest) - -# Register some methods for the 'user' object: -class user_add(crud.Add): - 'Add a new user.' - def execute(self, *args, **kw): - return 1 -api.register(user_add) - -class user_del(crud.Del): - 'Delete an existing user.' -api.register(user_del) - -class user_mod(crud.Mod): - 'Edit an existing user.' -api.register(user_mod) - -class user_find(crud.Find): - 'Search the users.' - def execute(self, *args, **kw): - uid=args[0] - result = servercore.get_sub_entry(servercore.basedn, "uid=%s" % uid, ["*"]) - return result -api.register(user_find) - -class user_show(crud.Get): - 'Examine an existing user.' -api.register(user_show) - - -# Register some properties for the 'user' object: -#class user_givenname(frontend.Property): -# 'User first name' -# required = True -#api.register(user_givenname) - -#class user_sn(frontend.Property): -# 'User last name' -# required = True -#api.register(user_sn) - -#class user_login(frontend.Property): -# 'User login' -# required = True -# default_from = frontend.DefaultFrom( -# lambda first, last: (first[0] + last).lower(), -# 'givenname', 'sn' -# ) -#api.register(user_login) - -#class user_initials(frontend.Property): -# 'User initials' -# required = True -# default_from = frontend.DefaultFrom( -# lambda first, last: first[0] + last[0], -# 'givenname', 'sn' -# ) -#api.register(user_initials) - - -# Register some methods for the 'group' object: -class group_add(frontend.Method): - 'Add a new group.' -api.register(group_add) - -class group_del(frontend.Method): - 'Delete an existing group.' -api.register(group_del) - -class group_mod(frontend.Method): - 'Edit an existing group.' -api.register(group_mod) - -class group_find(frontend.Method): - 'Search the groups.' -api.register(group_find) - - -# Register some methods for the 'service' object -class service_add(frontend.Method): - 'Add a new service.' -api.register(service_add) - -class service_del(frontend.Method): - 'Delete an existing service.' -api.register(service_del) - -class service_mod(frontend.Method): - 'Edit an existing service.' -api.register(service_mod) - -class service_find(frontend.Method): - 'Search the services.' -api.register(service_find) - - -# And to emphasis that the registration order doesn't matter, -# we'll register the objects last: -class group(frontend.Object): - 'Group object' -api.register(group) - -class service(frontend.Object): - 'Service object' -api.register(service) diff --git a/ipalib/plugins/f_user.py b/ipalib/plugins/f_user.py new file mode 100644 index 00000000..e4d7dc10 --- /dev/null +++ b/ipalib/plugins/f_user.py @@ -0,0 +1,178 @@ +# Authors: +# Jason Gerard DeRose +# +# Copyright (C) 2008 Red Hat +# see file 'COPYING' for use and warranty information +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation; version 2 only +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + +""" +Some example plugins. +""" + +from ipalib import frontend +from ipalib import crud +from ipalib.frontend import Param +from ipalib import api + +class user(frontend.Object): + 'User object' + takes_params = ( + 'givenname', + 'sn', + Param('uid', + primary_key=True, + default_from=lambda givenname, sn: givenname[0] + sn, + normalize=lambda value: value.lower(), + ), + Param('krbprincipalname', + default_from=lambda uid: '%s@EXAMPLE.COM' % uid, + ), + Param('homedirectory', + default_from=lambda uid: '/home/%s' % uid, + ) + ) +api.register(user) + + +# Hypothetical functional commands (not associated with any object): +class krbtest(frontend.Command): + 'Test your Kerberos ticket.' +api.register(krbtest) + +class discover(frontend.Command): + 'Discover IPA servers on network.' +api.register(discover) + +# Command to get the idea how plugins will interact with api.env +class envtest(frontend.Command): + 'Show current environment.' + def run(*args, **kw): + print "" + print "Environment variables:" + for var in api.env: + val = api.env[var] + if var is 'servers': + print "" + print " Servers:" + for item in api.env.servers: + print " %s" % item + print "" + else: + print " %s: %s" % (var, val) +api.register(envtest) + +# Register some methods for the 'user' object: +class user_add(crud.Add): + 'Add a new user.' + def execute(self, *args, **kw): + return 1 +api.register(user_add) + +class user_del(crud.Del): + 'Delete an existing user.' +api.register(user_del) + +class user_mod(crud.Mod): + 'Edit an existing user.' +api.register(user_mod) + +class user_find(crud.Find): + 'Search the users.' + def execute(self, *args, **kw): + uid=args[0] + result = servercore.get_sub_entry(servercore.basedn, "uid=%s" % uid, ["*"]) + return result +api.register(user_find) + +class user_show(crud.Get): + 'Examine an existing user.' +api.register(user_show) + + +# Register some properties for the 'user' object: +#class user_givenname(frontend.Property): +# 'User first name' +# required = True +#api.register(user_givenname) + +#class user_sn(frontend.Property): +# 'User last name' +# required = True +#api.register(user_sn) + +#class user_login(frontend.Property): +# 'User login' +# required = True +# default_from = frontend.DefaultFrom( +# lambda first, last: (first[0] + last).lower(), +# 'givenname', 'sn' +# ) +#api.register(user_login) + +#class user_initials(frontend.Property): +# 'User initials' +# required = True +# default_from = frontend.DefaultFrom( +# lambda first, last: first[0] + last[0], +# 'givenname', 'sn' +# ) +#api.register(user_initials) + + +# Register some methods for the 'group' object: +class group_add(frontend.Method): + 'Add a new group.' +api.register(group_add) + +class group_del(frontend.Method): + 'Delete an existing group.' +api.register(group_del) + +class group_mod(frontend.Method): + 'Edit an existing group.' +api.register(group_mod) + +class group_find(frontend.Method): + 'Search the groups.' +api.register(group_find) + + +# Register some methods for the 'service' object +class service_add(frontend.Method): + 'Add a new service.' +api.register(service_add) + +class service_del(frontend.Method): + 'Delete an existing service.' +api.register(service_del) + +class service_mod(frontend.Method): + 'Edit an existing service.' +api.register(service_mod) + +class service_find(frontend.Method): + 'Search the services.' +api.register(service_find) + + +# And to emphasis that the registration order doesn't matter, +# we'll register the objects last: +class group(frontend.Object): + 'Group object' +api.register(group) + +class service(frontend.Object): + 'Service object' +api.register(service) -- cgit