From: Joe Guo Date: Wed, 3 Oct 2018 10:45:12 +0000 (+1300) Subject: uptodateness: extract get_utdv_max_distance X-Git-Tag: tdb-1.3.17~1288 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=90975eb0887562bd704b95a4ff34882670de09c7;p=thirdparty%2Fsamba.git uptodateness: extract get_utdv_max_distance To avoid returning 2 values from get_utdv_distances. Signed-off-by: Joe Guo Reviewed-by: Douglas Bagnall Reviewed-by: Andrew Bartlett BUG: https://bugzilla.samba.org/show_bug.cgi?id=13658 --- diff --git a/python/samba/netcmd/visualize.py b/python/samba/netcmd/visualize.py index 98d33dbba56..05fdc013aa1 100644 --- a/python/samba/netcmd/visualize.py +++ b/python/samba/netcmd/visualize.py @@ -46,6 +46,7 @@ from samba.uptodateness import ( get_utdv, get_utdv_edges, get_utdv_distances, + get_utdv_max_distance, ) COMMON_OPTIONS = [ @@ -692,7 +693,9 @@ class cmd_uptodateness(GraphCommand): utdv_edges = get_utdv_edges(local_kcc, dsas, part_dn, lp, creds) - distances, max_distance = get_utdv_distances(utdv_edges, dsas) + distances = get_utdv_distances(utdv_edges, dsas) + + max_distance = get_utdv_max_distance(distances) digits = min(max_digits, len(str(max_distance))) if digits < 1: diff --git a/python/samba/uptodateness.py b/python/samba/uptodateness.py index b3468639e92..e5e0fc30a9b 100644 --- a/python/samba/uptodateness.py +++ b/python/samba/uptodateness.py @@ -117,7 +117,6 @@ def get_utdv_edges(local_kcc, dsas, part_dn, lp, creds): def get_utdv_distances(utdv_edges, dsas): distances = {} - max_distance = 0 for dn1 in dsas: try: peak = utdv_edges[dn1][dn1] @@ -130,12 +129,18 @@ def get_utdv_distances(utdv_edges, dsas): if dn1 in utdv_edges[dn2]: dist = peak - utdv_edges[dn2][dn1] d[dn2] = dist - if dist > max_distance: - max_distance = dist else: print("Missing dn %s from UTD vector" % dn1, file=sys.stderr) else: print("missing dn %s from UTD vector list" % dn2, file=sys.stderr) - return distances, max_distance + return distances + + +def get_utdv_max_distance(distances): + max_distance = 0 + for vector in distances.values(): + for distance in vector.values(): + max_distance = max(max_distance, distance) + return max_distance