X-Git-Url: https://git.adam-barratt.org.uk/?a=blobdiff_plain;f=ud-host;h=1183aa52c50b3fc0bbb6c7b97113a3fd81fa54b0;hb=2e69e156ef1a4920643fea141577e238e5afa9e8;hp=956c046940f1efdec62ed1cfe2761275164398ce;hpb=8bedb26f6cfb5410fdfee34a78ff4644f6d5ced0;p=mirror%2Fuserdir-ldap.git diff --git a/ud-host b/ud-host index 956c046..1183aa5 100755 --- a/ud-host +++ b/ud-host @@ -116,20 +116,19 @@ def ShowAttrs(Attrs): def Overview(Attrs): """Display a one-line overview for a given host""" - if 'status' in Attrs[1].keys(): - status = Attrs[1]['status'][0] - else: - status = '' + for i in ['host','architecture','distribution','access','status']: + if i not in Attrs[1].keys(): + Attrs[1][i] = [''] print "%-12s %-10s %-38s %-25s %s" % (\ Attrs[1]['host'][0], \ Attrs[1]['architecture'][0], \ Attrs[1]['distribution'][0], \ Attrs[1]['access'][0], \ - status) + Attrs[1]['status'][0]) # Change a single attribute def ChangeAttr(Attrs,Attr): - if (Attr == "sponsor" or Attr == "hostname" or Attr == "sshRSAHostKey"): + if (Attr == "sponsor" or Attr == "sshRSAHostKey"): return MultiChangeAttr(Attrs,Attr); print "Old value: '%s'" % (GetAttr(Attrs,Attr,"")); @@ -213,8 +212,14 @@ User = pwd.getpwuid(os.getuid())[0]; BindUser = User; ListMode = 0 FingerPrints = 0 +Host = None # Process options -(options, arguments) = getopt.getopt(sys.argv[1:], "nh:a:rlf") +try: + (options, arguments) = getopt.getopt(sys.argv[1:], "nh:a:rlf") +except getopt.GetoptError, data: + print data + sys.exit(1) + for (switch, val) in options: if (switch == '-h'): Host = val; @@ -237,7 +242,7 @@ else: l = ldap.open(LDAPServer); l.simple_bind_s("","") -HBaseDn = "ou=hosts,dc=debian,dc=org"; +HBaseDn = HostBaseDn if ListMode == 1: Attrs = l.search_s(HBaseDn,ldap.SCOPE_ONELEVEL,"host=*") @@ -254,7 +259,10 @@ if ListMode == 1: Overview(hAttrs) sys.exit(0) elif FingerPrints == 1: - Attrs = l.search_s(HBaseDn,ldap.SCOPE_ONELEVEL,"host=*") + if Host is not None: + Attrs = l.search_s(HBaseDn,ldap.SCOPE_ONELEVEL,"host=" + Host) + else: + Attrs = l.search_s(HBaseDn,ldap.SCOPE_ONELEVEL,"host=*") hosts = [] for hAttrs in Attrs: hosts.append(hAttrs[1]['host'][0])