From 1b7c23b1d31b8429bde2c59fe9424dd9fd4389b8 Mon Sep 17 00:00:00 2001 From: DarkPhoenix Date: Thu, 21 Mar 2019 23:55:25 +0300 Subject: [PATCH 1/2] Sort boosters by slot --- gui/builtinAdditionPanes/boosterView.py | 3 +++ service/port/eft.py | 4 ++-- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/gui/builtinAdditionPanes/boosterView.py b/gui/builtinAdditionPanes/boosterView.py index 11bac08ca..eda07eb5e 100644 --- a/gui/builtinAdditionPanes/boosterView.py +++ b/gui/builtinAdditionPanes/boosterView.py @@ -110,6 +110,9 @@ class BoosterView(d.Display): self.origional = fit.boosters if fit is not None else None self.boosters = stuff = fit.boosters[:] if fit is not None else None + if stuff is not None: + stuff.sort(key=lambda booster: booster.slot or 0) + if event.fitID != self.lastFitId: self.lastFitId = event.fitID diff --git a/service/port/eft.py b/service/port/eft.py index 1c8086d50..9206cba32 100644 --- a/service/port/eft.py +++ b/service/port/eft.py @@ -119,12 +119,12 @@ def exportEft(fit, options, callback): if options[PortEftOptions.IMPLANTS]: charSection = [] implantLines = [] - for implant in fit.implants: + for implant in sorted(fit.implants, key=lambda i: i.slot or 0): implantLines.append(implant.item.name) if implantLines: charSection.append('\n'.join(implantLines)) boosterLines = [] - for booster in fit.boosters: + for booster in sorted(fit.boosters, key=lambda b: b.slot): boosterLines.append(booster.item.name) if boosterLines: charSection.append('\n'.join(boosterLines)) From 8380f516e829e3f3d337078fedb1c29581148e14 Mon Sep 17 00:00:00 2001 From: DarkPhoenix Date: Thu, 21 Mar 2019 23:56:44 +0300 Subject: [PATCH 2/2] Add fallback for safety --- service/port/eft.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/service/port/eft.py b/service/port/eft.py index 9206cba32..b6c57967f 100644 --- a/service/port/eft.py +++ b/service/port/eft.py @@ -124,7 +124,7 @@ def exportEft(fit, options, callback): if implantLines: charSection.append('\n'.join(implantLines)) boosterLines = [] - for booster in sorted(fit.boosters, key=lambda b: b.slot): + for booster in sorted(fit.boosters, key=lambda b: b.slot or 0): boosterLines.append(booster.item.name) if boosterLines: charSection.append('\n'.join(boosterLines))