def parse_isrc(line, mycircuit): line_elements = line.split() dc_value = None ac_value = None n1 = mycircuit.add_node(line_elements[1]) n2 = mycircuit.add_node(line_elements[2]) pattern = re.match( r'(^I.) (.*) (.*) ([AD]C)?(=)?( ?)([0-9.]*[FPNUMKGT]?)A?(,?)( ?)([0-9.]*$)?', line, re.I) # 1 2 n1 3 n2 4 5 6 7 8 9 10 if pattern.group(4): if pattern.group(4).lower() == 'dc': dc_value = unit_transform(pattern.group(7)) elif pattern.group(4).lower() == 'ac': ac_value = unit_transform(pattern.group(7)) else: dc_value = unit_transform(pattern.group(7)) element = Element.ISrc(name=line_elements[0], n1=n1, n2=n2, dc_value=dc_value, ac_value=ac_value) return [element]
def add_isrc(self, name, n1, n2, dc_value, ac_value=0): n1 = self.add_node(n1) n2 = self.add_node(n2) element = Element.ISrc(name=name, n1=n1, n2=n2, dc_value=dc_value, ac_value=ac_value) self.append(element)