+ l_nodes = common.get_nodeset(config)
+ if config.site is None:
+ loginbase = False
+ if config.loginbase: loginbase=True
+ else:
+ loginbase = True
+ print "Blacklisting site:", config.site
+
+
+ hostnames_q = BlacklistRecord.getHostnameBlacklist()
+ loginbases_q = BlacklistRecord.getLoginbaseBlacklist()
+ hostnames = [ h.hostname for h in hostnames_q ]
+ loginbases = [ h.loginbase for h in loginbases_q ]
+ hostnames_exp = [ (h.hostname,h.date_created+timedelta(0,h.expires)) for h in hostnames_q ]
+ loginbases_exp = [ (h.loginbase,h.date_created+timedelta(0,h.expires)) for h in loginbases_q ]
+
+ if config.add:
+ print "Blacklisting nodes: ", l_nodes
+ for host in l_nodes:
+ if host not in hostnames:
+ print "adding to blacklist %s" % host
+ bl = BlacklistRecord(hostname=host, expires=int(config.expires))
+ bl.flush()
+
+ if loginbase:
+ print "Blacklisting site: ", config.site
+ if config.site not in loginbases:
+ print "adding to blacklist %s" % config.site
+ bl = BlacklistRecord(loginbase=config.site, expires=int(config.expires))
+ bl.flush()
+
+ elif config.delete:
+ print "Deleting nodes: %s" % l_nodes
+ for h in l_nodes:
+ bl = BlacklistRecord.get_by(hostname=h)
+ if bl: bl.delete()
+ if config.site:
+ print "Deleting site: %s" % config.site
+ bl = BlacklistRecord.get_by(loginbase=config.site)
+ if bl: bl.delete()
+ else:
+ # default option is to list
+ if loginbase:
+ objlist = loginbases_exp