diff options
-rw-r--r-- | ipa-client/ipa-install/ipa-client-install | 2 | ||||
-rw-r--r-- | ipa-python/ipautil.py | 62 | ||||
-rw-r--r-- | ipa-server/ipa-install/ipa-server-install | 2 | ||||
-rw-r--r-- | ipa-server/ipaserver/util.py | 80 | ||||
-rw-r--r-- | ipa-server/xmlrpc-server/funcs.py | 4 |
5 files changed, 66 insertions, 84 deletions
diff --git a/ipa-client/ipa-install/ipa-client-install b/ipa-client/ipa-install/ipa-client-install index 70c0027d4..f32cc2d6e 100644 --- a/ipa-client/ipa-install/ipa-client-install +++ b/ipa-client/ipa-install/ipa-client-install @@ -30,7 +30,7 @@ import logging from optparse import OptionParser import ipaclient.ipadiscovery import ipaclient.ipachangeconf -from ipaserver.util import run +from ipa.ipautil import run def parse_options(): parser = OptionParser(version=VERSION) diff --git a/ipa-python/ipautil.py b/ipa-python/ipautil.py index be6b037fe..f6d62f7a3 100644 --- a/ipa-python/ipautil.py +++ b/ipa-python/ipautil.py @@ -1,4 +1,5 @@ #! /usr/bin/python -E +# Authors: Simo Sorce <ssorce@redhat.com> # # Copyright (C) 2007 Red Hat # see file 'COPYING' for use and warranty information @@ -17,10 +18,71 @@ # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA # +SHARE_DIR = "/usr/share/ipa/" + +import string +import tempfile +import logging +import subprocess +import os +import stat + from string import lower import re import xmlrpclib +def realm_to_suffix(realm_name): + s = realm_name.split(".") + terms = ["dc=" + x.lower() for x in s] + return ",".join(terms) + + +def template_str(txt, vars): + return string.Template(txt).substitute(vars) + +def template_file(infilename, vars): + txt = open(infilename).read() + return template_str(txt, vars) + +def write_tmp_file(txt): + fd = tempfile.NamedTemporaryFile() + fd.write(txt) + fd.flush() + + return fd + +def run(args, stdin=None): + p = subprocess.Popen(args, stdout=subprocess.PIPE, stderr=subprocess.PIPE) + if stdin: + stdout,stderr = p.communicate(stdin) + else: + stdout,stderr = p.communicate() + logging.info(stdout) + logging.info(stderr) + + if p.returncode != 0: + raise subprocess.CalledProcessError(p.returncode, args[0]) + +def file_exists(filename): + try: + mode = os.stat(filename)[stat.ST_MODE] + if stat.S_ISREG(mode): + return True + else: + return False + except: + return False + +def dir_exists(filename): + try: + mode = os.stat(filename)[stat.ST_MODE] + if stat.S_ISDIR(mode): + return True + else: + return False + except: + return False + class CIDict(dict): """ Case-insensitive but case-respecting dictionary. diff --git a/ipa-server/ipa-install/ipa-server-install b/ipa-server/ipa-install/ipa-server-install index 90296e5d4..7a0a76b0c 100644 --- a/ipa-server/ipa-install/ipa-server-install +++ b/ipa-server/ipa-install/ipa-server-install @@ -35,7 +35,7 @@ import pwd from optparse import OptionParser import ipaserver.dsinstance import ipaserver.krbinstance -from ipaserver.util import run +from ipa.ipautil import run def parse_options(): parser = OptionParser(version=VERSION) diff --git a/ipa-server/ipaserver/util.py b/ipa-server/ipaserver/util.py deleted file mode 100644 index 2f677dad5..000000000 --- a/ipa-server/ipaserver/util.py +++ /dev/null @@ -1,80 +0,0 @@ -#! /usr/bin/python -E -# Authors: Simo Sorce <ssorce@redhat.com> -# -# Copyright (C) 2007 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 or later -# -# 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 -# - -SHARE_DIR = "/usr/share/ipa/" - -import string -import tempfile -import logging -import subprocess -import os -import stat - -def realm_to_suffix(realm_name): - s = realm_name.split(".") - terms = ["dc=" + x.lower() for x in s] - return ",".join(terms) - - -def template_str(txt, vars): - return string.Template(txt).substitute(vars) - -def template_file(infilename, vars): - txt = open(infilename).read() - return template_str(txt, vars) - -def write_tmp_file(txt): - fd = tempfile.NamedTemporaryFile() - fd.write(txt) - fd.flush() - - return fd - -def run(args, stdin=None): - p = subprocess.Popen(args, stdout=subprocess.PIPE, stderr=subprocess.PIPE) - if stdin: - stdout,stderr = p.communicate(stdin) - else: - stdout,stderr = p.communicate() - logging.info(stdout) - logging.info(stderr) - - if p.returncode != 0: - raise subprocess.CalledProcessError(p.returncode, args[0]) - -def file_exists(filename): - try: - mode = os.stat(filename)[stat.ST_MODE] - if stat.S_ISREG(mode): - return True - else: - return False - except: - return False - -def dir_exists(filename): - try: - mode = os.stat(filename)[stat.ST_MODE] - if stat.S_ISDIR(mode): - return True - else: - return False - except: - return False diff --git a/ipa-server/xmlrpc-server/funcs.py b/ipa-server/xmlrpc-server/funcs.py index e3e58ce94..f4e01b342 100644 --- a/ipa-server/xmlrpc-server/funcs.py +++ b/ipa-server/xmlrpc-server/funcs.py @@ -23,7 +23,7 @@ sys.path.append("/usr/share/ipa") import ldap import ipaserver.dsinstance import ipaserver.ipaldap -import ipaserver.util +import ipa.ipautil import xmlrpclib import ipa.config import copy @@ -76,7 +76,7 @@ class IPAServer: if _LDAPPool is None: _LDAPPool = IPAConnPool() ipa.config.init_config() - self.basedn = ipaserver.util.realm_to_suffix(ipa.config.config.get_realm()) + self.basedn = ipa.ipautil.realm_to_suffix(ipa.config.config.get_realm()) self.scope = ldap.SCOPE_SUBTREE self.princ = None |