def addEdges(self, pEdgeList):
        for (i, edge) in enumerate(pEdgeList):

            if len(edge) not in (2, 3):
                if len(edge) < 2:
                    msg = "Invalid connection for edge[" + str(i) + "]=\
                        " + str(edge) + ": either source of destination was omitted\
                        . The edge description must at least have 2 parts"
                    raise ConnectionError(msg)
                if 3 < len(edge):
                    msg = "Invalid connection for \
                        edge[" + str(i) + "]=" + str(edge) + ": edge description can \
                        not have more thant 3 parts."
                    raise ConnectionError(msg)

            # Edge is correct here, it has 2 or 3 elements
            if len(edge) == 2:
                # no status given, considering default result status: [DONE]
                statusList = [DONE]
            else:
                if isinstance(edge[2], list):
                    statusList = edge[2]
                else:
                    msg = "Invalid connection for\
                        edge[" + str(i) + "]=" + str(edge) + ": statuslist is not \
                        a proper list."
                    raise ConnectionError(msg)

            # Creating link
            srcNode = edge[0]
            destNode = edge[1]
            destNode.dependencies[srcNode] = statusList

        return True
calculate badness in parts per thousand
dataset/ETHPy150Open mikrosimage/OpenRenderManagement/src/puliclient/__init__.py/Graph.addEdges--crossover with--dataset/ETHPy150Open tanghaibao/jcvi/formats/psl.py/PslLine._milliBad