From 1685751b1cd67191793f103afe340be540842b1e Mon Sep 17 00:00:00 2001 From: Karl MacMillan Date: Fri, 19 Oct 2007 15:01:38 -0400 Subject: [PATCH] Remove dependency between ipa-pyton and ipa-server Current ipa-python imports and calls code from ipaserver (which is in the ipa-server package). This makes it impossible to use the admin tools or the ipa-python package on a system without the server bits installed. This fixes that in a fairly minimal way. --- ipa-python/ipaclient.py | 13 +++++-------- .../ipa-gui/ipagui/subcontrollers/ipacontroller.py | 4 +++- 2 files changed, 8 insertions(+), 9 deletions(-) diff --git a/ipa-python/ipaclient.py b/ipa-python/ipaclient.py index 7131be48c..b9439ecd6 100644 --- a/ipa-python/ipaclient.py +++ b/ipa-python/ipaclient.py @@ -20,10 +20,7 @@ #!/usr/bin/python import sys -if "/usr/share/ipa" not in sys.path: - sys.path.append("/usr/share/ipa") -from ipaserver import funcs import ipa.rpcclient as rpcclient import entity import user @@ -33,12 +30,12 @@ import config class IPAClient: - def __init__(self,local=None): - self.local = local - if local: - self.transport = funcs.IPAServer() - # client needs to call set_principal(user@REALM) + def __init__(self,transport=None): + if transport: + self.local = True + self.transport = transport else: + self.local = False self.transport = rpcclient.RPCClient() def set_principal(self,princ): diff --git a/ipa-server/ipa-gui/ipagui/subcontrollers/ipacontroller.py b/ipa-server/ipa-gui/ipagui/subcontrollers/ipacontroller.py index 6a8383a58..3a5e06150 100644 --- a/ipa-server/ipa-gui/ipagui/subcontrollers/ipacontroller.py +++ b/ipa-server/ipa-gui/ipagui/subcontrollers/ipacontroller.py @@ -10,6 +10,7 @@ from turbogears import error_handler from turbogears import identity import ipa.ipaclient +from ipaserver import funcs import ipa.config log = logging.getLogger(__name__) @@ -23,7 +24,8 @@ class IPAController(controllers.Controller): raise turbogears.redirect("/") def get_ipaclient(self): - client = ipa.ipaclient.IPAClient(True) + transport = funcs.IPAServer() + client = ipa.ipaclient.IPAClient(transport) client.set_krbccache(os.environ["KRB5CCNAME"]) return client