git://git.onelab.eu
/
monitor.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
add loginbase to blacklist
[monitor.git]
/
blacklist.py
diff --git
a/blacklist.py
b/blacklist.py
index
4869879
..
8704b59
100755
(executable)
--- a/
blacklist.py
+++ b/
blacklist.py
@@
-13,29
+13,41
@@
def usage():
def main():
def main():
+ loginbase = False
+
try:
try:
- longopts = ["delete=", "help"]
- (opts, argv) = getopt.getopt(sys.argv[1:], "d:h", longopts)
+ longopts = ["delete=", "
loginbase", "
help"]
+ (opts, argv) = getopt.getopt(sys.argv[1:], "d:
l
h", longopts)
except getopt.GetoptError, err:
print "Error: " + err.msg
sys.exit(1)
except getopt.GetoptError, err:
print "Error: " + err.msg
sys.exit(1)
- blacklist = BlacklistRecord.query.all()
- hostnames = [ h.hostname for h in blacklist ]
+ hostnames_q = BlacklistRecord.getHostnameBlacklist()
+ loginbases_q = BlacklistRecord.getLoginbaseBlacklist()
+ hostnames = [ h.hostname for h in hostnames_q ]
+ loginbases = [ h.loginbase for h in loginbases_q ]
for (opt, optval) in opts:
if opt in ["-d", "--delete"]:
i = optval
bl = BlacklistRecord.get_by(hostname=i)
bl.delete()
for (opt, optval) in opts:
if opt in ["-d", "--delete"]:
i = optval
bl = BlacklistRecord.get_by(hostname=i)
bl.delete()
+ elif opt in ["-l", "--loginbase"]:
+ loginbase = True
else:
usage()
sys.exit(0)
i_cnt = 0
else:
usage()
sys.exit(0)
i_cnt = 0
- for i in blacklist:
- print i.hostname
- i_cnt += 1
+ if not loginbase:
+ for i in hostnames:
+ print i
+ i_cnt += 1
+ else:
+ for i in loginbases:
+ print i
+ i_cnt += 1
+
while 1:
while 1:
@@
-43,13
+55,19
@@
def main():
if not line:
break
line = line.strip()
if not line:
break
line = line.strip()
- if line not in hostnames:
- bl = BlacklistRecord(hostname=line)
+ if line not in hostnames and line not in loginbases:
+ if loginbase:
+ bl = BlacklistRecord(loginbase=line)
+ else:
+ bl = BlacklistRecord(hostname=line)
bl.flush()
i_cnt += 1
session.flush()
bl.flush()
i_cnt += 1
session.flush()
- print "Total %d nodes in blacklist" % (i_cnt)
+ if loginbase:
+ print "Total %d loginbases in blacklist" % (i_cnt)
+ else:
+ print "Total %d nodes in blacklist" % (i_cnt)
if __name__ == '__main__':
import os
if __name__ == '__main__':
import os