diff options
author | John Dennis <jdennis@redhat.com> | 2007-11-03 12:22:20 -0400 |
---|---|---|
committer | John Dennis <jdennis@redhat.com> | 2007-11-03 12:22:20 -0400 |
commit | 8cfd270f3441094390d16df9c0d59b0c7ce42284 (patch) | |
tree | 1fbd3e64fe4ae3526b893025b147c250357d6c35 /ipa-python/ipautil.py | |
parent | 8f4362f2f2ace9ed017dc5307c54290eb103842e (diff) | |
download | freeipa-8cfd270f3441094390d16df9c0d59b0c7ce42284.tar.gz freeipa-8cfd270f3441094390d16df9c0d59b0c7ce42284.tar.xz freeipa-8cfd270f3441094390d16df9c0d59b0c7ce42284.zip |
merge initial radius work
Diffstat (limited to 'ipa-python/ipautil.py')
-rw-r--r-- | ipa-python/ipautil.py | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/ipa-python/ipautil.py b/ipa-python/ipautil.py index 1979ceb45..96a74d757 100644 --- a/ipa-python/ipautil.py +++ b/ipa-python/ipautil.py @@ -30,6 +30,7 @@ from string import lower import re import xmlrpclib import datetime +import rpm def realm_to_suffix(realm_name): s = realm_name.split(".") @@ -330,3 +331,39 @@ def parse_generalized_time(timestr): except ValueError: return None + +#------------------------------------------------------------------------------- + +def get_rpm_nvr_from_header(hdr): + 'Given an RPM header return the package NVR as a string' + name = hdr['name'] + version = hdr['version'] + release = hdr['release'] + + return '%s-%s-%s' % (name, version, release) + +def get_rpm_nvr_by_name(name): + if name is None: + return None + + nvr = None + try: + ts = rpm.ts() + mi = ts.dbMatch(rpm.RPMTAG_NAME, name) + for h in mi: + nvr = get_rpm_nvr_from_header(h) + break + except: + logging.exception('failed to retrieve rpm info for %s', name) + return nvr + +def split_rpm_nvr(nvr): + components = nvr.split('-') + release = components[-1] + version = components[-2] + name = '-'.join(components[:-2]) + return (name, version, release) + + + + |