elif state_str == 'query-running':
return cls.QUERY_RUNNING
-
class ifaceJsonEncoder(json.JSONEncoder):
def default(self, o):
retconfig = {}
'config' : retconfig})
class iface():
- """ config flags """
- AUTO = 0x1
- HOT_PLUG = 0x2
+ """ flags """
+ # flag to indicate that the object was created from pickled state
+ PICKLED = 0x1
version = '0.1'
self.config_status = {}
self.state = ifaceState.NEW
self.status = ifaceStatus.UNKNOWN
- self.errstr = ''
self.flags = 0x0
self.priv_flags = 0x0
self.refcnt = 0
self.auto = False
self.classes = []
self.env = None
- self.config_current = {}
self.raw_lines = []
self.linkstate = None
def is_config_present(self):
addr_method = self.get_addr_method()
- if addr_method is not None:
+ if addr_method:
if (addr_method.find('dhcp') != -1 or
addr_method.find('dhcp6') != -1):
return True
-
- if self.config is None:
+ if not self.config:
return False
-
- return (len(self.config) != 0)
-
- def set_config_current(self, config_current):
- self.config_current = config_current
-
- def get_config_current(self):
- return self.config_current
+ else:
+ return True
def get_auto(self):
return self.auto
def belongs_to_class(self, intfclass):
if intfclass in self.classes:
return True
-
return False
def set_priv_flags(self, priv_flags):
def set_status(self, status):
self.status = status
+ def set_state_n_status(self, state, status):
+ self.state = state
+ self.status = status
+
def state_str_to_hex(self, state_str):
return self.state_str_map.get(state_str)
def get_attr_value_first(self, attr_name):
config = self.get_config()
attr_value_list = config.get(attr_name)
- if attr_value_list is not None:
+ if attr_value_list:
return attr_value_list[0]
return None
config = self.get_config()
attr_value_list = config.get(attr_name)
- if attr_value_list is not None:
+ if attr_value_list:
try:
return attr_value_list[attr_index]
except:
return None
-
return None
def get_env(self):
- if self.env is None or len(self.env) == 0:
+ if not self.env:
self.generate_env()
return self.env
attr_env_name = 'IF_%s' %attr.upper()
env[attr_env_name] = attr_value[0]
- if len(env) > 0:
+ if env:
self.set_env(env)
def update_config(self, attr_name, attr_value):
- if self.config.get(attr_name) is None:
+ if not self.config.get(attr_name):
self.config[attr_name] = [attr_value]
else:
self.config[attr_name].append(attr_value)
del odict['state']
del odict['status']
del odict['lowerifaces']
+ del odict['upperifaces']
del odict['refcnt']
-
+ del odict['config_status']
+ del odict['flags']
+ del odict['priv_flags']
+ del odict['raw_lines']
+ del odict['linkstate']
+ del odict['env']
return odict
def __setstate__(self, dict):
self.__dict__.update(dict)
+ self.config_status = {}
self.state = ifaceState.NEW
self.status = ifaceStatus.UNKNOWN
self.refcnt = 0
+ self.flags = 0
self.lowerifaces = None
+ self.upperifaces = None
self.linkstate = None
+ self.env = None
+ self.priv_flags = 0
+ self.raw_lines = []
+ self.flags |= self.PICKLED
def dump_raw(self, logger):
indent = ' '
logger.info(self.get_name() + ' : {')
logger.info(indent + 'family: %s' %self.get_addr_family())
logger.info(indent + 'method: %s' %self.get_addr_method())
+ logger.info(indent + 'flags: %x' %self.flags)
logger.info(indent + 'state: %s'
%ifaceState.to_str(self.get_state()))
logger.info(indent + 'status: %s'
%ifaceStatus.to_str(self.get_status()))
logger.info(indent + 'refcnt: %d' %self.get_refcnt())
- d = self.get_lowerdevs()
- if d is not None:
+ d = self.get_lowerifaces()
+ if d:
logger.info(indent + 'lowerdevs: %s' %str(d))
else:
logger.info(indent + 'lowerdevs: None')
logger.info(indent + 'config: ')
config = self.get_config()
- if config is not None:
+ if config:
logger.info(indent + indent + str(config))
logger.info('}')
if self.get_auto():
outbuf += 'auto %s\n' %self.get_name()
outbuf += 'iface %s' %self.get_name()
- if self.get_addr_family() is not None:
+ if self.get_addr_family():
outbuf += ' %s' %self.get_addr_family()
-
- if self.get_addr_method() is not None:
+ if self.get_addr_method():
outbuf += ' %s' %self.get_addr_method()
-
outbuf += '\n'
-
config = self.get_config()
- if config is not None:
+ if config:
for cname, cvaluelist in config.items():
idx = 0
for cv in cvaluelist: