import re;
from log_manager
import *;
from error_manager
import *;
class common_tools:
__instance =
None;
def __init__(
self):
pass;
@staticmethod
def GetInstance():
if (
None == common_tools.__instance):
common_tools.__instance = common_tools();
return common_tools.__instance;
def IsSiMuIfHasLink(
self,p_str_if_name):
log_manager.GetInstance().CoutLog(
'begin to exec IsSiMuIfHasLink',Com_common_tools);
pa_pre_if = re.compile(
'.*/');
ma_pre_if = pa_pre_if.search(p_str_if_name);
if ma_pre_if:
str_pre_if = ma_pre_if.group();
str_if_order = p_str_if_name.replace(str_pre_if,
'');
int_if_order =
int(str_if_order);
if (int_if_order <=
6):
log_manager.GetInstance().CoutLog(
'common_tools:begin to exec IsSiMuIfHasLink',Com_common_tools);
return True;
else:
log_manager.GetInstance().CoutLog(
'common_tools:end to exec IsSiMuIfHasLink',Com_common_tools);
return False;
def GetIPRelationDic(
self,p_dict_ip_relation,p_list_real_ip,p_str_start_ip,p_str_end_ip,
p_str_mask):
log_manager.GetInstance().CoutLog(
'begin to exec GetIPRelationDic',Com_common_tools);
t_int_start_num = -
1;
t_int_end_num = -
1;
t_str_ip_pre =
'';
pa_start = re.compile(
'.*\..*\..*\.');
ma_start_num = pa_start.search(p_str_start_ip);
if ma_start_num:
str_start_num = ma_start_num.group();
t_str_ip_pre = str_start_num;
str_start_num = p_str_start_ip.replace(str_start_num,
'');
t_int_start_num =
int(str_start_num);
pa_end = re.compile(
'.*\..*\..*\.');
ma_end_num = pa_end.search(p_str_end_ip);
if ma_end_num:
str_end_num = ma_end_num.group();
str_end_num = p_str_end_ip.replace(str_end_num,
'');
t_int_end_num =
int(str_end_num);
if (t_int_start_num != -
1 and t_int_end_num != -
1):
num = t_int_end_num - t_int_start_num +
1;
if (num >=
len(p_list_real_ip)):
int_ip_last = t_int_start_num;
for elem
in p_list_real_ip:
str_simu_ip = t_str_ip_pre +
str(int_ip_last);
int_ip_last = int_ip_last +
1;
str_real_ip = elem;
p_dict_ip_relation[str_real_ip] = str_simu_ip;
log_manager.GetInstance().CoutLog(
'end to exec GetIPRelationDic',Com_common_tools);
def DecimalToInt(
self,Decimal):
str_num =
str(Decimal);
pa_num = re.compile(
'\d+');
ma_num = pa_num.search(str_num);
if ma_num:
str_num = ma_num.group();
int_num =
int(str_num);
return int_num;
def GetDevIDAndIfIndex(
self,p_str_param,list_traffic_dev):
log_manager.GetInstance().CoutLog(p_str_param,Com_common_tools);
list_param = re.split(
';',p_str_param);
#if (0 == len(list_param)):
#list_param.append(p_str_param);
del list_param[
0];
for elem
in list_param:
int_dev_id =
'';
pa_dev_id = re.compile(
'.*?,');
ma_dev_id = pa_dev_id.search(elem);
if ma_dev_id:
int_dev_id = ma_dev_id.group();
int_dev_id = int_dev_id.replace(
',',
'');
param_index = elem.replace(ma_dev_id.group(),
'');
list_param_index = re.split(
';',param_index);
my_traffic_dev = traffic_dev();
my_traffic_dev.dev_id =
int(int_dev_id);
my_traffic_dev.list_if_index = list_param_index;
list_traffic_dev.append(my_traffic_dev);
else:
int_dev_id = elem;
my_traffic_dev = traffic_dev();
my_traffic_dev.dev_id =
int(int_dev_id);
list_traffic_dev.append(my_traffic_dev);
return oErrorBase.base_succeed;
转载请注明原文地址: https://ju.6miu.com/read-1311878.html