diff --git a/htmlgen/htmlgen.py b/htmlgen/htmlgen.py index ced07634..78acaaba 100644 --- a/htmlgen/htmlgen.py +++ b/htmlgen/htmlgen.py @@ -3,6 +3,28 @@ import os, sys, json, re +class UnionFind: + def __init__(self): + self.parents = dict() + + def make(self, value): + if value not in self.parents: + self.parents[value] = value + + def find(self, value): + self.make(value) + if self.parents[value] != value: + retval = self.find(self.parents[value]) + self.parents[value] = retval + return self.parents[value] + + def union(self, v1, v2): + a = self.find(v1) + b = self.find(v2) + if a != b: + self.parents[a] = b + + ################################################# # Loading Raw Source Data @@ -70,7 +92,7 @@ with open("%s/index.html" % os.getenv("XRAY_DATABASE"), "w") as f: grid_range[2] = max(grid_range[2], grid_x) grid_range[3] = max(grid_range[3], grid_y) - print("