add parse_items(), read_items_file()

move read_pairs_file() to ipautil
This commit is contained in:
John Dennis 2007-11-26 23:11:49 -05:00
parent c5a43a0168
commit 78b5987101
6 changed files with 37 additions and 20 deletions

View File

@ -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)

View File

@ -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)

View File

@ -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)

View File

@ -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)

View File

@ -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:

View File

@ -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 = {}