def _buildGolangPackageLevelGraph(self, dataset): # get nodes nodes = dataset.alphabet() # get edges from labels labels = dataset.labels() missing = [] edges = [] for category in labels: for edge in labels[category]: a, b = edge if b == "": missing = missing + list(set(map(lambda (a,b): b, labels[category][edge]))) else: edges = edges + labels[category][edge] self._missing_packages = list(set(missing)) # mixing all categories we can get repeating edges edges = list(set(edges)) # convert edges to adjacent list edges = GraphUtils.edges2adjacentList(edges) # TODO(jchaloup): integrate parent mapping as well so one can join packages from the same rpm return Graph(nodes, edges)
def _buildRpmLevelGraph(self, dataset): # get nodes and edges nodes = dataset.nodes() edges = dataset.edges() # get missing packages labels = dataset.labels() missing = [] for category in labels: # TODO(jchaloup): make distinction among devel, main and tests for edge in labels[category]: a, b = edge if b == "": missing = missing + list(set(map(lambda (a,b): b, labels[category][edge]))) self._missing_packages = list(set(missing)) # convert edges to adjacent list edges = GraphUtils.edges2adjacentList(edges) return Graph(nodes, edges)