def add_raw_line(self, raw_line):
    if raw_line.startswith('//'):
        return
    if ((len(raw_line) > 0) and (raw_line[(- 1)] != ';')):
        self.incomplete_line += raw_line
        return
    raw_line = (self.incomplete_line + raw_line)
    self.incomplete_line = ''
    logging.debug(('Line: ' + raw_line))
    result = self.edge_re.match(raw_line)
    if (result is not None):
        logging.debug('Classified as edge line.')
        pred = result.group(1)
        succ = result.group(2)
        self.nodes[pred].successors.append(succ)
        self.nodes[succ].predecessors.append(pred)
        return
    result = self.node_re.match(raw_line)
    if (result is not None):
        logging.debug('Classified as node line.')
        node_id = result.group(1)
        if (len(self.nodes) == 0):
            self.root_id = node_id
        node_label = result.group(2).replace('\\l', '').replace('&nbsp;', '').replace('\\"', '"').replace('\\{', '{').replace('\\}', '}').replace('\\\\', '\\').replace('\\|', '|').replace('\\<', '\\\\<').replace('\\>', '\\\\>').rstrip(',')
        logging.debug(node_label)
        json_node = json.loads(node_label)
        self.nodes[node_id].construct(node_id, json_node)
        return
    logging.debug('Skipping.')
def add_raw_line(self, raw_line):
    if raw_line.startswith('//'):
        return
    if ((len(raw_line) > 0) and (raw_line[(- 1)] != ';')):
        self.incomplete_line += raw_line
        return
    raw_line = (self.incomplete_line + raw_line)
    self.incomplete_line = 
    logging.debug(('Line: ' + raw_line))
    result = self.edge_re.match(raw_line)
    if (result is not None):
        logging.debug('Classified as edge line.')
        pred = result.group(1)
        succ = result.group(2)
        self.nodes[pred].successors.append(succ)
        self.nodes[succ].predecessors.append(pred)
        return
    result = self.node_re.match(raw_line)
    if (result is not None):
        logging.debug('Classified as node line.')
        node_id = result.group(1)
        if (len(self.nodes) == 0):
            self.root_id = node_id
        node_label = result.group(2).replace('\\l', ).replace('&nbsp;', ).replace('\\"', '"').replace('\\{', '{').replace('\\}', '}').replace('\\\\', '\\').replace('\\|', '|').replace('\\<', '\\\\<').replace('\\>', '\\\\>').rstrip(',')
        logging.debug(node_label)
        json_node = json.loads(node_label)
        self.nodes[node_id].construct(node_id, json_node)
        return
    logging.debug('Skipping.')