Source code for IoTPy.tools.parameter



[docs]class Parameter: """ Stores parameter info for assemble Parameters ---------- name : str Name of the part param : str Name of the field index : int Index of the field. Attributes ---------- name : str Name of the part param : str Name of the field index : int, optional Index of the field (the default is None) """ def __init__(self, name, param, index=None): self.name = name self.param = param self.index = index
[docs] def to_list(self): """ Returns the parameter info as a list Returns ------- lst List containing name and param, and index if valid """ lst = [self.name, self.param] if self.index is not None: lst.append(self.index) return lst
def __str__(self): s = "Parameter: {0}:{1}".format(self.name, self.param) if self.index is not None: s += ":" + str(self.index) return s
[docs]def get_external(external): """ Constructs a Parameter object from a list Parameters ---------- external : list List containing name, param, and index (optional) Returns ------- Parameter """ return Parameter(*external)
[docs]def get_internal(internal): """ Constructs Parameter objects from internal list This function constructs a source and a destination from a list. Parameters ---------- internal : list List containing source name, source param name, source index (optional), destination name, destination param name, destination index (optional) Returns ------- Parameter, Parameter Source and destination Parameter objects """ source_index = None des_index = None # No indices if len(internal) == 4: source, source_param, des, des_param = internal elif len(internal) == 5: # Source index if isinstance(internal[2], int): source, source_param, source_index, des, des_param = internal # Destination index else: source, source_param, des, des_param, des_index = internal else: source, source_param, source_index, des, des_param, des_index = internal return Parameter(source, source_param, source_index), Parameter( des, des_param, des_index)
[docs]def make_internal(source, des): """ Creates list from source and destination Parameter objects Parameters ---------- source : Parameter Parameter object for source des : Parameter Parameter object for destination Returns ------- list List for connection, parameter for get_internal See Also -------- get_internal """ internal = source.to_list() + des.to_list() return internal