#实现了查找输入输入:www.oldboy.org,查找backend记录;实现了添加功能;实现了删除功能。
Dict_backend={}
Dict_subrecord={}
Dict_record ={}
Dict_haproxy={}
Findflag =1
Existorg = []
findstr = ''
# 生成字典1
while True:
def CreateBackendDict():
for line in f:
if "backend www.oldboy.org\n" in line:
s = line.strip()
s = s.split(' ')
Dict_backend[s[0]] = s[1]
# print(Dict_backend)#注释部分
s = (f.readline()).strip()
s = s.split(' ')
i = 0
j = 0
for i in range(int(len(s) / 2)):
Dict_subrecord[s[j]] = s[j + 1]
j += 2
Dict_backend["record"] = Dict_subrecord
# print(Dict_backend)#注释部分
return Dict_backend
select_option = input("请输入对用户对haproxy文件对应操作(查找输入find;增加输入add;删除输入delete:):")
if(select_option == 'find'):
#查找功能实现如下:
f = open("haproxy.txt", 'r+')
while Findflag:
Dict_haproxy={}
Dict_haproxy = CreateBackendDict()
urlorg = input("请输入网址:")
print(urlorg)
if(Dict_haproxy != None):
if Dict_haproxy['backend'] == urlorg:
print(Dict_haproxy["record"])
if(Dict_haproxy == None):
Findflag = 0
print("haproxy配置文件中的,符合条件的服务器地址查找完成!!")
f.close()
elif(select_option == 'add'):
#新建功能实现如下:
arg = """{
'backend': 'www.oldboy.org',
'record':{
'server': '100.1.7.9',
'weight': 20,
'maxconn': 30
}
}"""
spacenum =' '
f = open("haproxy.txt",'a+')
f_existproxy = open("existhaproxy.txt",'a+')
f.seek(0)
f_existproxy.seek(0)
for line in f_existproxy:
line = line.strip()
Existorg.append(line)
print("已经存在的org地址为:")
print(Existorg)
f.close()
f_existproxy.close()
while True:
f = open("haproxy.txt", 'a+')
f_existproxy = open("existhaproxy.txt", 'a+')
s = input("请输入backend对应org地址:")
if s in Existorg:
print("此backend对应的org地址已经存在,请重新输入")
continue
elif s == 'q':
break
else:
Existorg.append(s)
f_existproxy.write(s + '\n')#输入org地址符合条件,则添加到已经存在列表
f_existproxy.close()
s = "backend" + ' '+s +'\n'
f.write(s)
server = input("请输入server对应地址:")
weight = input("请输入weight对应的值:")
maxconn = input("请输入maxconn对应的值:")
s = spacenum + 'server'+' '+server +' ' + 'weight'+' '+'maxconn'+' '+maxconn+'\n'
print(s)
f.write(s)
f.close()
elif(select_option == 'delete'):
linecount =0
linenum =0
linerecord =0
linerecordsub = 0
deletestr = ''
f = open("haproxy.txt", 'r+')
fcopy = open("haproxycopy.txt", 'w')
s = str({'backend': 'www.oldboy.org','record':{'server': '100.1.7.9','weight': 20,'maxconn': 30}})
print(s)
Delete_Dict = eval(s)
print(Delete_Dict)
deletestr = 'backend'+ ' '+Delete_Dict['backend']+'\n'
print("deletestr:%s"%deletestr)
for line in f:
print(line)
linecount +=1
if deletestr in line:
linerecord = linecount
linerecordsub = linecount -1
f.seek(0)
print("linerecord:")
print(linerecord)
print(linerecordsub)
for linenum in range(linecount):
s = f.readline()
if (linenum == linerecord):
print("112")
continue
elif (linenum == linerecordsub):
print("113")
continue
else:
print(linenum)
fcopy.write(s)
f.close()
fcopy.close()
else:
print("选择操作输入有误,请根据提示输入。")