24
来源:互联网 发布:易赛充值软件 编辑:程序博客网 时间:2024/04/30 16:05
break;
pa_info_head = re.compile('\[\[.*?\]\]');
ma_info_head = pa_info_head.search(line);
if ma_info_head:
t_hcldev_info.str_dev_header = line;
while True:
line = file_hclnet.readline();
if (line == ''):
self.list_hcldev_info.append(t_hcldev_info);
break;
ma_info_head = pa_info_head.search(line);
if ma_info_head:
t_hcldev_info.str_dev_type = 'host';
self.list_hcldev_info.append(t_hcldev_info);
t_hcldev_info = hcl_dev_info();
t_hcldev_info.str_dev_header = line;
else:
t_hcldev_info.str_dev_content = t_hcldev_info.str_dev_content + line;
for elem in self.list_hcldev_info:
if (elem.str_dev_header.find('SR66') != -1):
elem.str_dev_type = 'multi';
elif (elem.str_dev_header.find('SR99') != -1):
elem.str_dev_type = 'SR99';
elif (elem.str_dev_header.find('SIM1105') != -1):
elem.str_dev_type = 'sim';
elif (elem.str_dev_header.find('Cloud') != -1):
elem.str_dev_type = 'host';
elif (elem.str_dev_header.find('Remote') != -1):
elem.str_dev_type = 'remote';
elem.str_dev_name = elem.str_dev_header.replace(' [[Remote ','');
elem.str_dev_name = elem.str_dev_name.replace(']]\n','');
pa_remote_ip = re.compile('remoteServerIP.*\n');
ma_remote_ip = pa_remote_ip.search(elem.str_dev_content);
str_remote_ip = '';
str_remote_proj = '';
if ma_remote_ip:
str_remote_ip = ma_remote_ip.group();
str_remote_ip = str_remote_ip.replace('remoteServerIP = ','');
str_remote_ip = str_remote_ip.replace('\n','');
pa_remote_proj = re.compile('remoteProjectName.*\n');
ma_remote_proj = pa_remote_proj.search(elem.str_dev_content);
if ma_remote_proj:
str_remote_proj = ma_remote_proj.group();
str_remote_proj = str_remote_proj.replace('remoteProjectName = ','');
str_remote_proj = str_remote_proj.replace('\n','');
rdi = remote_dev_info();
rdi.m_str_dev_name = elem.str_dev_name;
rdi.m_str_remote_server_ip = str_remote_ip;
rdi.m_str_remote_proj = str_remote_proj;
rdi.m_str_proj = str_file_name.replace('.net','');
self.list_remote_dev.append(rdi);
file_hclnet.close();
log_manager.GetInstance().CoutLog('end to LoadNetFile',Com_hcl_modify_manager);
return oErrorBase.base_succeed;
def PrintDevInfoList(self):
for elem in self.list_hcldev_info:
print (elem.str_dev_header + elem.str_dev_content);
log_manager.GetInstance().CoutLog('simip:',Com_hcl_modify_manager);
for elem in self.__list_ip_sim:
print elem;
log_manager.GetInstance().CoutLog('multiip:',Com_hcl_modify_manager);
for elem in self.__list_ip_multi:
print elem;
def __ModifyRemoteInfo(self):
pass;
def ModifDevInfoListA(self,p_str_topo_name):
iResult = self.__CheckHclFileAndRealDevMatch();
if (oErrorBase.base_succeed != iResult):
return iResult;
t_list_remote_dev_info = [];
log_manager.GetInstance().CoutLog('begin to ModifDevInfoList',Com_hcl_modify_manager);
self.__dict_ip_hcl_to_date = {};
t_list_link_info = link_manager.GetInstance().GetLinkInfoList();
for elem in self.list_hcldev_info:
if ('host' == elem.str_dev_type or 'remote' == elem.str_dev_type):
continue;
int_i = 0;
for elem_link_info in t_list_link_info:
int_i = int_i + 1;
if (elem_link_info.str_dev_type != elem.str_dev_type):
continue;
else:
pa_order = re.compile('\s\w.*?]');
ma_order = pa_order.search(elem.str_dev_header);
if ma_order:
str_order = ma_order.group();
str_hcl_ip = str_order.replace(' ','');
str_hcl_ip = str_order.replace(']','');
self.__dict_ip_hcl_to_data[str_hcl_ip] = elem_link_info.str_dev_ip;
t_ip = elem_link_info.str_dev_ip;
t_str_ip = ' ' + t_ip + ']';
elem.str_dev_header = elem.str_dev_header.replace(str_order,t_str_ip);
link_manager.GetInstance().GetDevLinkInfoFromDB(elem_link_info.str_dev_ip,p_str_topo_name,None,0);
elem_link_info.dict_link = link_manager.GetInstance().GetDevLinkNewDict();
if ('sim' == elem.str_dev_type):
self.__list_ip_sim.append(elem_link_info.str_dev_ip);
elem.str_dev_ip = elem_link_info.str_dev_ip;
str_slot0_inter = '';
for key in elem_link_info.dict_link:
opp_ip_inter = elem_link_info.dict_link[key];
pa_ip = re.compile('.*?@');
ma_ip = pa_ip.search(opp_ip_inter);
if ma_ip:
t_ip = ma_ip.group();
str_opp_ip = t_ip.replace('@','');
opp_inter = opp_ip_inter.replace(t_ip,'');
if (link_manager.GetInstance().IsMultiDev(str_opp_ip) == 0):
opp_inter = opp_inter.replace('GigabitEthernet0/','GE_');
key = key.replace('GigabitEthernet0/','GE_');
line = ' ' + key + ' = ' + str_opp_ip + ' ' + opp_inter;
str_opp_info = key + '@' + str_opp_ip + ' ' + (opp_inter.replace('GigabitEthernet','GE_'));
elem.list_opp_ip_inter.append(str_opp_info);
line = line.replace('GigabitEthernet','GE_');
str_slot0_inter = str_slot0_inter + line + '\n';
pa_slot0 = re.compile('slot0.*?\n');
ma_slot0 = pa_slot0.search(elem.str_dev_content);
if ma_slot0:
str_slot0 = ma_slot0.group();
elem.str_dev_content = elem.str_dev_content.replace(str_slot0,str_slot0 + str_slot0_inter);
elif ('multi' == elem.str_dev_type or 'SR99' == elem.str_dev_type):
pa_info_head = re.compile('\[\[.*?\]\]');
ma_info_head = pa_info_head.search(line);
if ma_info_head:
t_hcldev_info.str_dev_header = line;
while True:
line = file_hclnet.readline();
if (line == ''):
self.list_hcldev_info.append(t_hcldev_info);
break;
ma_info_head = pa_info_head.search(line);
if ma_info_head:
t_hcldev_info.str_dev_type = 'host';
self.list_hcldev_info.append(t_hcldev_info);
t_hcldev_info = hcl_dev_info();
t_hcldev_info.str_dev_header = line;
else:
t_hcldev_info.str_dev_content = t_hcldev_info.str_dev_content + line;
for elem in self.list_hcldev_info:
if (elem.str_dev_header.find('SR66') != -1):
elem.str_dev_type = 'multi';
elif (elem.str_dev_header.find('SR99') != -1):
elem.str_dev_type = 'SR99';
elif (elem.str_dev_header.find('SIM1105') != -1):
elem.str_dev_type = 'sim';
elif (elem.str_dev_header.find('Cloud') != -1):
elem.str_dev_type = 'host';
elif (elem.str_dev_header.find('Remote') != -1):
elem.str_dev_type = 'remote';
elem.str_dev_name = elem.str_dev_header.replace(' [[Remote ','');
elem.str_dev_name = elem.str_dev_name.replace(']]\n','');
pa_remote_ip = re.compile('remoteServerIP.*\n');
ma_remote_ip = pa_remote_ip.search(elem.str_dev_content);
str_remote_ip = '';
str_remote_proj = '';
if ma_remote_ip:
str_remote_ip = ma_remote_ip.group();
str_remote_ip = str_remote_ip.replace('remoteServerIP = ','');
str_remote_ip = str_remote_ip.replace('\n','');
pa_remote_proj = re.compile('remoteProjectName.*\n');
ma_remote_proj = pa_remote_proj.search(elem.str_dev_content);
if ma_remote_proj:
str_remote_proj = ma_remote_proj.group();
str_remote_proj = str_remote_proj.replace('remoteProjectName = ','');
str_remote_proj = str_remote_proj.replace('\n','');
rdi = remote_dev_info();
rdi.m_str_dev_name = elem.str_dev_name;
rdi.m_str_remote_server_ip = str_remote_ip;
rdi.m_str_remote_proj = str_remote_proj;
rdi.m_str_proj = str_file_name.replace('.net','');
self.list_remote_dev.append(rdi);
file_hclnet.close();
log_manager.GetInstance().CoutLog('end to LoadNetFile',Com_hcl_modify_manager);
return oErrorBase.base_succeed;
def PrintDevInfoList(self):
for elem in self.list_hcldev_info:
print (elem.str_dev_header + elem.str_dev_content);
log_manager.GetInstance().CoutLog('simip:',Com_hcl_modify_manager);
for elem in self.__list_ip_sim:
print elem;
log_manager.GetInstance().CoutLog('multiip:',Com_hcl_modify_manager);
for elem in self.__list_ip_multi:
print elem;
def __ModifyRemoteInfo(self):
pass;
def ModifDevInfoListA(self,p_str_topo_name):
iResult = self.__CheckHclFileAndRealDevMatch();
if (oErrorBase.base_succeed != iResult):
return iResult;
t_list_remote_dev_info = [];
log_manager.GetInstance().CoutLog('begin to ModifDevInfoList',Com_hcl_modify_manager);
self.__dict_ip_hcl_to_date = {};
t_list_link_info = link_manager.GetInstance().GetLinkInfoList();
for elem in self.list_hcldev_info:
if ('host' == elem.str_dev_type or 'remote' == elem.str_dev_type):
continue;
int_i = 0;
for elem_link_info in t_list_link_info:
int_i = int_i + 1;
if (elem_link_info.str_dev_type != elem.str_dev_type):
continue;
else:
pa_order = re.compile('\s\w.*?]');
ma_order = pa_order.search(elem.str_dev_header);
if ma_order:
str_order = ma_order.group();
str_hcl_ip = str_order.replace(' ','');
str_hcl_ip = str_order.replace(']','');
self.__dict_ip_hcl_to_data[str_hcl_ip] = elem_link_info.str_dev_ip;
t_ip = elem_link_info.str_dev_ip;
t_str_ip = ' ' + t_ip + ']';
elem.str_dev_header = elem.str_dev_header.replace(str_order,t_str_ip);
link_manager.GetInstance().GetDevLinkInfoFromDB(elem_link_info.str_dev_ip,p_str_topo_name,None,0);
elem_link_info.dict_link = link_manager.GetInstance().GetDevLinkNewDict();
if ('sim' == elem.str_dev_type):
self.__list_ip_sim.append(elem_link_info.str_dev_ip);
elem.str_dev_ip = elem_link_info.str_dev_ip;
str_slot0_inter = '';
for key in elem_link_info.dict_link:
opp_ip_inter = elem_link_info.dict_link[key];
pa_ip = re.compile('.*?@');
ma_ip = pa_ip.search(opp_ip_inter);
if ma_ip:
t_ip = ma_ip.group();
str_opp_ip = t_ip.replace('@','');
opp_inter = opp_ip_inter.replace(t_ip,'');
if (link_manager.GetInstance().IsMultiDev(str_opp_ip) == 0):
opp_inter = opp_inter.replace('GigabitEthernet0/','GE_');
key = key.replace('GigabitEthernet0/','GE_');
line = ' ' + key + ' = ' + str_opp_ip + ' ' + opp_inter;
str_opp_info = key + '@' + str_opp_ip + ' ' + (opp_inter.replace('GigabitEthernet','GE_'));
elem.list_opp_ip_inter.append(str_opp_info);
line = line.replace('GigabitEthernet','GE_');
str_slot0_inter = str_slot0_inter + line + '\n';
pa_slot0 = re.compile('slot0.*?\n');
ma_slot0 = pa_slot0.search(elem.str_dev_content);
if ma_slot0:
str_slot0 = ma_slot0.group();
elem.str_dev_content = elem.str_dev_content.replace(str_slot0,str_slot0 + str_slot0_inter);
elif ('multi' == elem.str_dev_type or 'SR99' == elem.str_dev_type):
0 0
- 24
- 24
- 24
- 24
- 24
- 24
- 24
- 24
- 24
- 24
- 24
- 24
- 24
- 24
- 24
- 2010.5.24-2012.5.24
- 2005.1.24
- 2005.2.24
- ShellExecute, WinExec, CreateProcess区别
- 23
- 系统拆分解耦利器之消息队列---RabbitMQ-工作队列
- Oracle EBS数据库层克隆失败RC-00110
- 解决SpringMVC的@ResponseBody返回中文乱码
- 24
- 25
- 26
- 第六章 条件变量
- 为什么Base64编码有回车换行符
- 【#英语造句2#】
- 27
- POJ2513-Colored Sticks
- Mysql Innodb 引擎优化 参数(innodb_buffer_pool_size)