Skip to content

Commit dcd7f5d

Browse files
committed
refactor(tools/basket-compare): enhance code
1 parent 93b6f08 commit dcd7f5d

File tree

1 file changed

+31
-21
lines changed

1 file changed

+31
-21
lines changed

tools/basket-compare

Lines changed: 31 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ import lib.disk # pylint: disable=C0413
1919

2020

2121
__author__ = 'Linuxfabrik GmbH, Zurich/Switzerland'
22-
__version__ = '2025061502'
22+
__version__ = '2025061503'
2323

2424
DESCRIPTION = """Compare two Icinga Director Baskets and highlight the differences."""
2525

@@ -245,9 +245,10 @@ def normalize_service_sets(basket):
245245
services = normalize_service_templates({'ServiceTemplate': tmp})['ServiceTemplate']
246246
else:
247247
services = normalize_service_templates({'ServiceTemplate': d['services']})['ServiceTemplate']
248+
# ignore those
248249
result[uuid]['services'] = services
249250

250-
result[uuid]['uuid'] = d.get('uuid', '')
251+
result[uuid]['uuid'] = uuid
251252

252253
return {'ServiceSet': result}
253254

@@ -401,7 +402,8 @@ def get_datafields_diff(diff):
401402
tmp = {}
402403
tmp['varname'] = d['varname']
403404
tmp['uuid'] = d['uuid']
404-
tmp['changed'] = 'val: ' + k.replace("root['", '').replace("']", '')
405+
tmp['what'] = 'val'
406+
tmp['changed'] = k.replace("root['", '').replace("']", '')
405407
tmp['old_value'] = v['old_value']
406408
tmp['new_value'] = v['new_value']
407409
table_data.append(tmp)
@@ -427,7 +429,8 @@ def get_commands_diff(diff):
427429
tmp = {}
428430
tmp['object_name'] = d['object_name']
429431
tmp['uuid'] = d['uuid']
430-
tmp['changed'] = 'val: ' + k.replace("root['", '').replace("']", '')
432+
tmp['what'] = 'val'
433+
tmp['changed'] = k.replace("root['", '').replace("']", '')
431434
tmp['old_value'] = v['old_value']
432435
tmp['new_value'] = v['new_value']
433436
table_data.append(tmp)
@@ -436,7 +439,8 @@ def get_commands_diff(diff):
436439
tmp = {}
437440
tmp['object_name'] = d['object_name']
438441
tmp['uuid'] = d['uuid']
439-
tmp['changed'] = 'type: ' + k.replace("root['", '').replace("']", '')
442+
tmp['what'] = 'type'
443+
tmp['changed'] = k.replace("root['", '').replace("']", '')
440444
tmp['old_value'] = f'{v["old_type"]} ("{v["old_value"]}")'
441445
tmp['new_value'] = f'{v["new_type"]} ("{v["new_value"]}")'
442446
table_data.append(tmp)
@@ -462,7 +466,8 @@ def get_host_templates_diff(diff):
462466
tmp = {}
463467
tmp['object_name'] = d['object_name']
464468
tmp['uuid'] = d['uuid']
465-
tmp['changed'] = 'val: ' + k.replace("root['", '').replace("']", '')
469+
tmp['what'] = 'val'
470+
tmp['changed'] = k.replace("root['", '').replace("']", '')
466471
tmp['old_value'] = v['old_value']
467472
tmp['new_value'] = v['new_value']
468473
table_data.append(tmp)
@@ -471,7 +476,8 @@ def get_host_templates_diff(diff):
471476
tmp = {}
472477
tmp['object_name'] = d['object_name']
473478
tmp['uuid'] = d['uuid']
474-
tmp['changed'] = 'type: ' + k.replace("root['", '').replace("']", '')
479+
tmp['what'] = 'type'
480+
tmp['changed'] = k.replace("root['", '').replace("']", '')
475481
tmp['old_value'] = f'{v["old_type"]} ("{v["old_value"]}")'
476482
tmp['new_value'] = f'{v["new_type"]} ("{v["new_value"]}")'
477483
table_data.append(tmp)
@@ -497,7 +503,8 @@ def get_service_templates_diff(diff):
497503
tmp = {}
498504
tmp['object_name'] = d['object_name']
499505
tmp['uuid'] = d['uuid']
500-
tmp['changed'] = 'val: ' + k.replace("root['", '').replace("']", '')
506+
tmp['what'] = 'val'
507+
tmp['changed'] = k.replace("root['", '').replace("']", '')
501508
tmp['old_value'] = v['old_value']
502509
tmp['new_value'] = v['new_value']
503510
table_data.append(tmp)
@@ -506,7 +513,8 @@ def get_service_templates_diff(diff):
506513
tmp = {}
507514
tmp['object_name'] = d['object_name']
508515
tmp['uuid'] = d['uuid']
509-
tmp['changed'] = 'type: ' + k.replace("root['", '').replace("']", '')
516+
tmp['what'] = 'type'
517+
tmp['changed'] = k.replace("root['", '').replace("']", '')
510518
tmp['old_value'] = f'{v["old_type"]} ("{v["old_value"]}")'
511519
tmp['new_value'] = f'{v["new_type"]} ("{v["new_value"]}")'
512520
table_data.append(tmp)
@@ -532,7 +540,8 @@ def get_service_sets_diff(diff):
532540
tmp = {}
533541
tmp['object_name'] = d['object_name']
534542
tmp['uuid'] = d['uuid']
535-
tmp['changed'] = 'val: ' + k[34:].replace("']", '')
543+
tmp['what'] = 'val'
544+
tmp['changed'] = k.replace("root['", '').replace("']", '').replace("services['", '') + "']"
536545
tmp['old_value'] = v['old_value']
537546
tmp['new_value'] = v['new_value']
538547
table_data.append(tmp)
@@ -541,7 +550,8 @@ def get_service_sets_diff(diff):
541550
tmp = {}
542551
tmp['object_name'] = d['object_name']
543552
tmp['uuid'] = d['uuid']
544-
tmp['changed'] = 'type: ' + k[34:].replace("root['", '').replace("']", '')
553+
tmp['what'] = 'type'
554+
tmp['changed'] = k.replace("root['", '').replace("']", '').replace("services['", '') + "']"
545555
tmp['old_value'] = f'{v["old_type"]} ("{v["old_value"]}")'
546556
tmp['new_value'] = f'{v["new_type"]} ("{v["new_value"]}")'
547557
table_data.append(tmp)
@@ -584,8 +594,8 @@ def main():
584594
print(f'🟡 Changed Datafields:\n')
585595
print(lib.base.get_table(
586596
get_datafields_diff(changed),
587-
cols=['uuid', 'varname', 'changed', 'old_value', 'new_value'],
588-
header=['uuid (-12:)', 'varname', 'changed', 'old_value', 'new_value'],
597+
cols=['uuid', 'varname', 'what', 'changed', 'old_value', 'new_value'],
598+
header=['uuid (-12:)', 'varname', 'what', 'changed', 'old value', 'new value'],
589599
))
590600
# print(f'🔴 Removed Datafields:')
591601

@@ -598,8 +608,8 @@ def main():
598608
print(f'🟡 Changed Commands:\n')
599609
print(lib.base.get_table(
600610
get_commands_diff(changed),
601-
cols=['uuid', 'object_name', 'changed', 'old_value', 'new_value'],
602-
header=['uuid (-12:)', 'object_name', 'changed', 'old_value', 'new_value'],
611+
cols=['uuid', 'object_name', 'what', 'changed', 'old_value', 'new_value'],
612+
header=['uuid (-12:)', 'object_name', 'what', 'changed', 'old value', 'new value'],
603613
))
604614
# print(f'🔴 Removed Commands:')
605615

@@ -612,8 +622,8 @@ def main():
612622
print(f'🟡 Changed Host Templates:\n')
613623
print(lib.base.get_table(
614624
get_host_templates_diff(changed),
615-
cols=['uuid', 'object_name', 'changed', 'old_value', 'new_value'],
616-
header=['uuid (-12:)', 'object_name', 'changed', 'old_value', 'new_value'],
625+
cols=['uuid', 'object_name', 'what', 'changed', 'old_value', 'new_value'],
626+
header=['uuid (-12:)', 'object_name', 'what', 'changed', 'old value', 'new value'],
617627
))
618628
# print(f'🔴 Removed Host Templates:')
619629

@@ -626,8 +636,8 @@ def main():
626636
print(f'🟡 Changed Service Templates:\n')
627637
print(lib.base.get_table(
628638
get_service_templates_diff(changed),
629-
cols=['uuid', 'object_name', 'changed', 'old_value', 'new_value'],
630-
header=['uuid (-12:)', 'object_name', 'changed', 'old_value', 'new_value'],
639+
cols=['uuid', 'object_name', 'what', 'changed', 'old_value', 'new_value'],
640+
header=['uuid (-12:)', 'object_name', 'what', 'changed', 'old value', 'new value'],
631641
))
632642
# print(f'🔴 Removed Service Templates:')
633643

@@ -640,8 +650,8 @@ def main():
640650
print(f'🟡 Changed Service Sets:\n')
641651
print(lib.base.get_table(
642652
get_service_sets_diff(changed),
643-
cols=['uuid', 'object_name', 'changed', 'old_value', 'new_value'],
644-
header=['uuid (-12:)', 'object_name', 'changed', 'old_value', 'new_value'],
653+
cols=['uuid', 'object_name', 'what', 'changed', 'old_value', 'new_value'],
654+
header=['uuid (-12:)', 'object_name', 'what', 'changed', 'old value', 'new value'],
645655
))
646656
# print(f'🔴 Removed Service Sets:')
647657

0 commit comments

Comments
 (0)