From 0ebf5476ee884916b3842088b8b79c193e769fc4 Mon Sep 17 00:00:00 2001 From: KV Date: Sat, 14 Nov 2020 21:43:57 +0100 Subject: [PATCH] Simplify deduplication and sorting of collected designators --- src/wireviz/wv_bom.py | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/wireviz/wv_bom.py b/src/wireviz/wv_bom.py index e290fa03..a6d1bb81 100644 --- a/src/wireviz/wv_bom.py +++ b/src/wireviz/wv_bom.py @@ -108,10 +108,8 @@ def generate_bom(harness): for group_entry in group_entries: d = group_entry.get('designators') designators.extend(d if isinstance(d, List) else [d] if d else []) - designators = list(dict.fromkeys(designators)) # remove duplicates - designators.sort() total_qty = sum(entry['qty'] for entry in group_entries) - bom.append({**group_entries[0], 'qty': round(total_qty, 3), 'designators': designators}) + bom.append({**group_entries[0], 'qty': round(total_qty, 3), 'designators': sorted(set(designators))}) bom = sorted(bom, key=lambda k: k['item']) # sort list of dicts by their values (https://stackoverflow.com/a/73050)