mirror of
https://salsa.debian.org/freeipa-team/freeipa.git
synced 2024-12-24 08:00:02 -06:00
11: Added submodules needed to triger the plugin loading, etc., so I can start work on the cli demo
This commit is contained in:
parent
7acf12e988
commit
700d58ac1e
@ -212,6 +212,7 @@ class API(object):
|
|||||||
|
|
||||||
def finalize(self):
|
def finalize(self):
|
||||||
cmd_d = {}
|
cmd_d = {}
|
||||||
|
cmd_l = {}
|
||||||
for obj in self.__obj_d.values():
|
for obj in self.__obj_d.values():
|
||||||
for cmd in obj.commands():
|
for cmd in obj.commands():
|
||||||
assert cmd.full_name not in cmd_d
|
assert cmd.full_name not in cmd_d
|
||||||
|
@ -26,29 +26,23 @@ import base
|
|||||||
class add(base.Command):
|
class add(base.Command):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
class find(base.Command):
|
||||||
class get(base.Command):
|
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
|
||||||
class edit(base.Command):
|
class edit(base.Command):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
|
||||||
class delete(base.Command):
|
class delete(base.Command):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
|
||||||
class find(base.Command):
|
|
||||||
pass
|
|
||||||
|
|
||||||
|
|
||||||
class CrudLike(base.Object):
|
class CrudLike(base.Object):
|
||||||
def get_commands(self):
|
def get_commands(self):
|
||||||
return [
|
return [
|
||||||
add,
|
add,
|
||||||
get,
|
find,
|
||||||
edit,
|
edit,
|
||||||
delete,
|
delete,
|
||||||
find,
|
|
||||||
]
|
]
|
||||||
|
39
ipalib/plugins.py
Normal file
39
ipalib/plugins.py
Normal file
@ -0,0 +1,39 @@
|
|||||||
|
# Authors:
|
||||||
|
# Jason Gerard DeRose <jderose@redhat.com>
|
||||||
|
#
|
||||||
|
# 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.
|
||||||
|
"""
|
||||||
|
|
||||||
|
import crud
|
||||||
|
from run import api
|
||||||
|
|
||||||
|
class user(crud.CrudLike):
|
||||||
|
pass
|
||||||
|
api.register_object(user)
|
||||||
|
|
||||||
|
|
||||||
|
class group(crud.CrudLike):
|
||||||
|
pass
|
||||||
|
api.register_object(group)
|
||||||
|
|
||||||
|
|
||||||
|
class service(crud.CrudLike):
|
||||||
|
pass
|
||||||
|
api.register_object(service)
|
28
ipalib/run.py
Normal file
28
ipalib/run.py
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
# Authors:
|
||||||
|
# Jason Gerard DeRose <jderose@redhat.com>
|
||||||
|
#
|
||||||
|
# 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
|
||||||
|
|
||||||
|
"""
|
||||||
|
Standard run-time instances of importard classes. This is where plugins
|
||||||
|
should access the registration API.
|
||||||
|
"""
|
||||||
|
|
||||||
|
import base
|
||||||
|
|
||||||
|
# The standard API instance
|
||||||
|
api = base.API()
|
31
ipalib/startup.py
Normal file
31
ipalib/startup.py
Normal file
@ -0,0 +1,31 @@
|
|||||||
|
# Authors:
|
||||||
|
# Jason Gerard DeRose <jderose@redhat.com>
|
||||||
|
#
|
||||||
|
# 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
|
||||||
|
|
||||||
|
"""
|
||||||
|
Importing this module causes the plugins to be loaded and the API to be
|
||||||
|
generated.
|
||||||
|
|
||||||
|
This is not in __init__.py so that imported other IPA modules doesn't cause
|
||||||
|
unnecessary side effects (needed for unit tests, among other things).
|
||||||
|
"""
|
||||||
|
|
||||||
|
from run import api
|
||||||
|
import plugins
|
||||||
|
|
||||||
|
api.finalize()
|
Loading…
Reference in New Issue
Block a user