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
merge from 2.0 branch
[monitor.git]
/
blacklist.py
diff --git
a/blacklist.py
b/blacklist.py
index
11e1cfc
..
8704b59
100755
(executable)
--- a/
blacklist.py
+++ b/
blacklist.py
@@
-4,8
+4,8
@@
import os
import sys
import string
import time
import sys
import string
import time
-import soltesz
-import plc
+from monitor import database
+from monitor.database.info.model import *
import getopt
def usage():
import getopt
def usage():
@@
-13,38
+13,61
@@
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)
- l_blacklist = soltesz.if_cached_else(1, "l_blacklist", lambda : [])
+ 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"]:
for (opt, optval) in opts:
if opt in ["-d", "--delete"]:
- i = int(optval)
- del l_blacklist[i]
+ 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 l_blacklist:
- print i_cnt, " ", i
- 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:
line = sys.stdin.readline()
if not line:
break
line = line.strip()
while 1:
line = sys.stdin.readline()
if not line:
break
line = line.strip()
- if not line in l_blacklist:
- l_blacklist.append(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
- print "Total %d nodes in blacklist" % (len(l_blacklist))
- soltesz.dbDump("l_blacklist")
+ session.flush()
+ 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