diff options
author | John Dennis <jdennis@redhat.com> | 2007-11-26 23:11:49 -0500 |
---|---|---|
committer | John Dennis <jdennis@redhat.com> | 2007-11-26 23:11:49 -0500 |
commit | 78b5987101c3d489c8397da05546d72e24aeea4c (patch) | |
tree | 114e96d43170c4f4c2139c44084615f099625b6a | |
parent | c5a43a01686ae23e5381bc3b3f4c590774b865f8 (diff) | |
download | freeipa-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-addradiusclient | 2 | ||||
-rw-r--r-- | ipa-admintools/ipa-addradiusprofile | 2 | ||||
-rw-r--r-- | ipa-admintools/ipa-radiusclientmod | 2 | ||||
-rw-r--r-- | ipa-admintools/ipa-radiusprofilemod | 2 | ||||
-rw-r--r-- | ipa-python/ipautil.py | 34 | ||||
-rw-r--r-- | ipa-python/radius_util.py | 15 |
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 = {} |