- class Host(object):
- def __init__(self):
- self.name = None
- self.ping_ok = "None"
- self.mgtr_info = ""
- self.yop = ""
- class COP_ng(object):
- def __init__(self, name ="",ip ="",status = "", mrtg=""):
- self.name = name
- self.ip = ip
- self.status = status
- self.mrtg = mrtg
- class Imp_agent(object):
- def __init__(self, version="",ip = "", update_time="",name = ""):
- self.name = name
- self.ip = ip
- self.version = version
- self.update_time = update_time
- def get_yops():
- f = open("yop_info.csv","r")
- yops = []
- for i in f.readlines():
- i = i.strip()
- if not i.strip():
- print(i)
- continue
- print(1,i)
- name,ip,status,mrtg = i.split('","')
- name = name.strip('"')
- ip = ip.strip('"')
- status = status.strip('"')
- mrtg = mrtg.strip('"')
- yops.append(COP_ng(name=name, ip =ip, status=status,mrtg = mrtg))
- return yops
- def get_imps():
- f = open("imp_agent.csv","r")
- yops = []
- for i in f.readlines():
- ip,name, version, update_time = i.split(",")
- yops.append(Imp_agent(name=name, ip =ip, version=version, update_time= update_time ))
- return yops
- def get_yop_pand(filename):
- f = open(filename)
- return [i.strip() for i in f.readlines()]
- yop_pand_ok = set(get_yop_pand("COP_pand.txt"))
- imp_pand_ok = set(get_yop_pand("host_ok"))
- ping_ok = set(get_yop_pand("ping.txt"))
- yop_infos = get_yops()
- imp_infos = get_imps()
- def imp_search(host):
- for i in imp_infos:
- if i.name == host:
- return i
- else:
- continue
- return Imp_agent()
- def main():
- files = open("info.txt", "w")
- for yop in yop_infos:
- yop.imp = imp_search(yop.name)
- yop.ping_ok = "ok" if yop.ip in ping_ok else "error"
- yop.yop_pand_ok = "ok" if yop.name in yop_pand_ok else "error"
- yop.imp_pand_ok = "ok" if yop.name in imp_pand_ok else "error"
- info = '"{yop_name}","{yop_ip}","{yop_pand}","{yop_status}","{yop_mrtg}","{imp_version}","{imp_update}","{imp_pand}","{ping_status}"'\\
- .format (
- yop_name = yop.name,
- yop_ip = yop.ip,
- yop_pand = yop.yop_pand_ok,
- yop_status = yop.status,
- yop_mrtg = yop.mrtg,
- imp_version = yop.imp.version,
- imp_update = yop.imp.update_time,
- ping_status = yop.ping_ok,
- imp_pand = yop.imp_pand_ok
- )
- files.write(info+'\\n')
- files.flush()
- print(info)
- main()
- #该片段来自于http://www.codesnippet.cn/detail/2906201614764.html
来源: http://www.codesnippet.cn/detail/2906201614764.html