summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJohn Dennis <jdennis@redhat.com>2007-11-26 23:11:49 -0500
committerJohn Dennis <jdennis@redhat.com>2007-11-26 23:11:49 -0500
commit78b5987101c3d489c8397da05546d72e24aeea4c (patch)
tree114e96d43170c4f4c2139c44084615f099625b6a
parentc5a43a01686ae23e5381bc3b3f4c590774b865f8 (diff)
downloadfreeipa-78b5987101c3d489c8397da05546d72e24aeea4c.tar.gz
freeipa-78b5987101c3d489c8397da05546d72e24aeea4c.tar.xz
freeipa-78b5987101c3d489c8397da05546d72e24aeea4c.zip
add parse_items(), read_items_file()
move read_pairs_file() to ipautil
-rw-r--r--ipa-admintools/ipa-addradiusclient2
-rw-r--r--ipa-admintools/ipa-addradiusprofile2
-rw-r--r--ipa-admintools/ipa-radiusclientmod2
-rw-r--r--ipa-admintools/ipa-radiusprofilemod2
-rw-r--r--ipa-python/ipautil.py34
-rw-r--r--ipa-python/radius_util.py15
6 files changed, 37 insertions, 20 deletions
diff --git a/ipa-admintools/ipa-addradiusclient b/ipa-admintools/ipa-addradiusclient
index bb5867c3..8887eff7 100644
--- a/ipa-admintools/ipa-addradiusclient
+++ b/ipa-admintools/ipa-addradiusclient
@@ -91,7 +91,7 @@ def main():
# Get pairs from a file or stdin
if options.pair_file:
try:
- av = radius_util.read_pairs_file(options.pair_file)
+ av = ipautil.read_pairs_file(options.pair_file)
pairs.update(av)
except Exception, e:
print "ERROR, could not read pairs (%s)" % (e)
diff --git a/ipa-admintools/ipa-addradiusprofile b/ipa-admintools/ipa-addradiusprofile
index 5f44d9ff..8e097c38 100644
--- a/ipa-admintools/ipa-addradiusprofile
+++ b/ipa-admintools/ipa-addradiusprofile
@@ -86,7 +86,7 @@ def main():
# Get pairs from a file or stdin
if options.pair_file:
try:
- av = radius_util.read_pairs_file(options.pair_file)
+ av = ipautil.read_pairs_file(options.pair_file)
pairs.update(av)
except Exception, e:
print "ERROR, could not read pairs (%s)" % (e)
diff --git a/ipa-admintools/ipa-radiusclientmod b/ipa-admintools/ipa-radiusclientmod
index cb87a40a..b9fedbf6 100644
--- a/ipa-admintools/ipa-radiusclientmod
+++ b/ipa-admintools/ipa-radiusclientmod
@@ -111,7 +111,7 @@ def main():
# Get pairs from a file or stdin
if options.pair_file:
try:
- av = radius_util.read_pairs_file(options.pair_file)
+ av = ipautil.read_pairs_file(options.pair_file)
pairs.update(av)
except Exception, e:
print "ERROR, could not read pairs (%s)" % (e)
diff --git a/ipa-admintools/ipa-radiusprofilemod b/ipa-admintools/ipa-radiusprofilemod
index 7b441a31..e22cbdea 100644
--- a/ipa-admintools/ipa-radiusprofilemod
+++ b/ipa-admintools/ipa-radiusprofilemod
@@ -110,7 +110,7 @@ def main():
# Get pairs from a file or stdin
if options.pair_file:
try:
- av = radius_util.read_pairs_file(options.pair_file)
+ av = ipautil.read_pairs_file(options.pair_file)
pairs.update(av)
except Exception, e:
print "ERROR, could not read pairs (%s)" % (e)
diff --git a/ipa-python/ipautil.py b/ipa-python/ipautil.py
index b5fa9794..f8310ae4 100644
--- a/ipa-python/ipautil.py
+++ b/ipa-python/ipautil.py
@@ -416,6 +416,39 @@ def parse_key_value_pairs(input):
kv_dict[key] = value
return kv_dict
+def parse_items(text):
+ '''Given text with items separated by whitespace or comma, return a list of those items'''
+ split_re = re.compile('[ ,\t\n]+')
+ items = split_re.split(text)
+ for item in items[:]:
+ if not item: items.remove(item)
+ return items
+
+def read_pairs_file(filename):
+ comment_re = re.compile('#.*$', re.MULTILINE)
+ if filename == '-':
+ fd = sys.stdin
+ else:
+ fd = open(filename)
+ text = fd.read()
+ text = comment_re.sub('', text) # kill comments
+ pairs = ipautil.parse_key_value_pairs(text)
+ if fd != sys.stdin: fd.close()
+ return pairs
+
+def read_items_file(filename):
+ comment_re = re.compile('#.*$', re.MULTILINE)
+ if filename == '-':
+ fd = sys.stdin
+ else:
+ fd = open(filename)
+ text = fd.read()
+ text = comment_re.sub('', text) # kill comments
+ items = ipautil.parse_items(text)
+ if fd != sys.stdin: fd.close()
+ return items
+
+
class AttributeValueCompleter:
'''
Gets input from the user in the form "lhs operator rhs"
@@ -733,7 +766,6 @@ class ItemCompleter:
readline.set_pre_input_hook(self.pre_input_hook)
self.line_buffer = raw_input(prompt).strip()
items = self.split_re.split(self.line_buffer)
- print items
for item in items[:]:
if not item: items.remove(item)
if self.must_match:
diff --git a/ipa-python/radius_util.py b/ipa-python/radius_util.py
index e502fece..96bc0f89 100644
--- a/ipa-python/radius_util.py
+++ b/ipa-python/radius_util.py
@@ -59,8 +59,6 @@ __all__ = [
'radius_profile_ldap_attr_to_radius_attr',
'radius_profile_attr_to_ldap_attr',
- 'read_pairs_file',
-
'get_secret',
'validate_ip_addr',
'validate_secret',
@@ -240,19 +238,6 @@ def radius_profile_dn(uid, container, suffix):
#------------------------------------------------------------------------------
-comment_re = re.compile('#.*$', re.MULTILINE)
-def read_pairs_file(filename):
- if filename == '-':
- fd = sys.stdin
- else:
- fd = open(filename)
- data = fd.read()
- data = comment_re.sub('', data) # kill comments
- pairs = ipautil.parse_key_value_pairs(data)
- if fd != sys.stdin: fd.close()
- return pairs
-
-
def get_ldap_attr_translations():
comment_re = re.compile('#.*$')
radius_attr_to_ldap_attr = {}