summaryrefslogtreecommitdiffstats
path: root/ipa-python
diff options
context:
space:
mode:
authorKarl MacMillan <kmacmillan@mentalrootkit.com>2007-08-01 16:21:13 -0400
committerKarl MacMillan <kmacmillan@mentalrootkit.com>2007-08-01 16:21:13 -0400
commitaed1f9110511e3669ab43c3894064c1371878876 (patch)
tree1b2a30040f6fc9093021da53775bc6869d77eda2 /ipa-python
parentb1831b4593b3d219b79830f3012e7ff07f17b1d8 (diff)
downloadfreeipa-aed1f9110511e3669ab43c3894064c1371878876.tar.gz
freeipa-aed1f9110511e3669ab43c3894064c1371878876.tar.xz
freeipa-aed1f9110511e3669ab43c3894064c1371878876.zip
Add local-dist target.
Remove hard-coded config.
Diffstat (limited to 'ipa-python')
-rw-r--r--ipa-python/Makefile3
-rwxr-xr-xipa-python/freeipa-python.spec3
-rwxr-xr-xipa-python/freeipa-python.spec.in3
-rw-r--r--ipa-python/rpcclient.py23
4 files changed, 25 insertions, 7 deletions
diff --git a/ipa-python/Makefile b/ipa-python/Makefile
index bc6554be4..85acdb678 100644
--- a/ipa-python/Makefile
+++ b/ipa-python/Makefile
@@ -1,11 +1,14 @@
PYTHONLIBDIR ?= $(shell python -c "from distutils.sysconfig import *; print get_python_lib(1)")
PACKAGEDIR ?= $(DESTDIR)/$(PYTHONLIBDIR)/ipa
+CONFIGDIR ?= $(DESTDIR)/etc/ipa
all: ;
install:
-mkdir -p $(PACKAGEDIR)
install -m 644 *.py $(PACKAGEDIR)
+ -mkdir -p $(CONFIGDIR)
+ install -m 644 ipa.conf $(CONFIGDIR)
clean:
rm -f *~ *.pyc \ No newline at end of file
diff --git a/ipa-python/freeipa-python.spec b/ipa-python/freeipa-python.spec
index 61be3a5d6..8339cf74a 100755
--- a/ipa-python/freeipa-python.spec
+++ b/ipa-python/freeipa-python.spec
@@ -15,6 +15,7 @@ Requires: python
%{!?python_sitelib: %define python_sitelib %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib()")}
%define pkgpythondir %{python_sitelib}/ipa
+%define configdir /etc/ipa
%description
FreeIPA is a server for identity, policy, and audit.
@@ -25,6 +26,7 @@ FreeIPA is a server for identity, policy, and audit.
%install
rm -rf %{buildroot}
mkdir -p %{buildroot}%{pkgpythondir}
+mkdir -p %{buildroot}%{configdir}
make install DESTDIR=%{buildroot}
@@ -36,6 +38,7 @@ rm -rf %{buildroot}
%files
%defattr(-,root,root,-)
%{pkgpythondir}/*
+%config(noreplace) %{configdir}/ipa.conf
%changelog
diff --git a/ipa-python/freeipa-python.spec.in b/ipa-python/freeipa-python.spec.in
index 90a135b45..bec58819d 100755
--- a/ipa-python/freeipa-python.spec.in
+++ b/ipa-python/freeipa-python.spec.in
@@ -15,6 +15,7 @@ Requires: python
%{!?python_sitelib: %define python_sitelib %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib()")}
%define pkgpythondir %{python_sitelib}/ipa
+%define configdir /etc/ipa
%description
FreeIPA is a server for identity, policy, and audit.
@@ -25,6 +26,7 @@ FreeIPA is a server for identity, policy, and audit.
%install
rm -rf %{buildroot}
mkdir -p %{buildroot}%{pkgpythondir}
+mkdir -p %{buildroot}%{configdir}
make install DESTDIR=%{buildroot}
@@ -36,6 +38,7 @@ rm -rf %{buildroot}
%files
%defattr(-,root,root,-)
%{pkgpythondir}/*
+%config(noreplace) %{configdir}/ipa.conf
%changelog
diff --git a/ipa-python/rpcclient.py b/ipa-python/rpcclient.py
index 416026628..f37096d8b 100644
--- a/ipa-python/rpcclient.py
+++ b/ipa-python/rpcclient.py
@@ -26,18 +26,25 @@ except ImportError:
pass
import xmlrpclib
import socket
-import os
-import base64
+import config
# Some errors to catch
# http://cvs.fedora.redhat.com/viewcvs/ldapserver/ldap/servers/plugins/pam_passthru/README?root=dirsec&rev=1.6&view=auto
-
+
+def server_url():
+ return "http://" + config.config.get_server() + "/ipa"
+
# FIXME: do we want this set somewhere else?
-server = xmlrpclib.ServerProxy("http://localhost:80/ipa")
+server = None
+
+def setup_server():
+ global server
+ if not server:
+ server = xmlrpclib.ServerProxy(server_url())
def get_user(username):
"""Get a specific user"""
-
+ setup_server()
try:
result = server.get_user(username)
myuser = result
@@ -52,9 +59,10 @@ def get_user(username):
def add_user(user):
"""Add a new user"""
+ setup_server()
# FIXME: Get the realm from somewhere
- realm="GREYOAK.COM"
+ realm = config.config.get_realm()
# FIXME: This should be dynamic and can include just about anything
# Let us add in some missing attributes
@@ -87,13 +95,14 @@ def get_add_schema():
"""Get the list of attributes we need to ask when adding a new
user.
"""
+ setup_server()
# FIXME: Hardcoded and designed for the TurboGears GUI. Do we want
# this for the CLI as well?
try:
result = server.get_add_schema()
except xmlrpclib.Fault, fault:
- raise xmlrpclib.Fault(fault,faultCode, fault.faultString)
+ raise xmlrpclib.Fault(fault, fault.faultString)
return None
except socket.error, (value, msg):
raise xmlrpclib.Fault(value, msg)