[Freeipa-devel] [PATCH] Remove dependency between ipa-pyton and ipa-server

Karl MacMillan kmacmill at redhat.com
Fri Oct 19 19:02:36 UTC 2007


# HG changeset patch
# User "Karl MacMillan <kmacmill at redhat.com>"
# Date 1192820498 14400
# Node ID 516a862e61b99d4568620b1c3f446f3778ec5f4a
# Parent  82d6225b95a95f399f93141d559beaa9e9b6ab4d
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.

diff -r 82d6225b95a9 -r 516a862e61b9 ipa-python/ipaclient.py
--- a/ipa-python/ipaclient.py	Fri Oct 19 14:20:11 2007 -0400
+++ b/ipa-python/ipaclient.py	Fri Oct 19 15:01:38 2007 -0400
@@ -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 at 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 -r 82d6225b95a9 -r 516a862e61b9 ipa-server/ipa-gui/ipagui/subcontrollers/ipacontroller.py
--- a/ipa-server/ipa-gui/ipagui/subcontrollers/ipacontroller.py	Fri Oct 19 14:20:11 2007 -0400
+++ b/ipa-server/ipa-gui/ipagui/subcontrollers/ipacontroller.py	Fri Oct 19 15:01:38 2007 -0400
@@ -10,6 +10,7 @@ from turbogears import identity
 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.Controll
             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
 




More information about the Freeipa-devel mailing list