From 59746711e1bd3559fce764e0d3788dd663b56517 Mon Sep 17 00:00:00 2001 From: Thomas Schwery Date: Wed, 12 Jul 2017 11:13:16 +0200 Subject: [PATCH] Market: Add duration indicator --- main.go | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/main.go b/main.go index 71e5c58..f96a073 100644 --- a/main.go +++ b/main.go @@ -638,7 +638,7 @@ func printCharacterMarketOrders(swaggerclient *ESI.App, m *Character) string { maxWidth, _ := terminal.Width() // We need to add the length of the colors - maxWidth = maxWidth + uint(len(fmt.Sprint(aurora.Red("")))*2) + maxWidth = maxWidth + uint(len(fmt.Sprint(aurora.Red("")))*3) lineFormat := fmt.Sprintf("%%.%ds\n", maxWidth) @@ -662,6 +662,16 @@ func printCharacterMarketOrders(swaggerclient *ESI.App, m *Character) string { status = fmt.Sprint(aurora.Green(buySellStatus).Bold()) } + duration := fmt.Sprintf("%d/%d", remainingDuration/time.Hour/24, *order.Duration) + pctDaysRemaining := float32(remainingDuration/time.Hour/24) / float32(*order.Duration) + if pctDaysRemaining <= 0.25 { + duration = fmt.Sprint(aurora.Red(duration)) + } else if pctDaysRemaining <= 0.5 { + duration = fmt.Sprint(aurora.Brown(duration)) + } else { + duration = fmt.Sprint(aurora.Green(duration)) + } + quantity := fmt.Sprintf("%d/%d", *order.VolumeRemain, *order.VolumeTotal) pctRemaining := float32(*order.VolumeRemain) / float32(*order.VolumeTotal) if pctRemaining <= 0.25 { @@ -678,12 +688,13 @@ func printCharacterMarketOrders(swaggerclient *ESI.App, m *Character) string { log.Fatalf("Got error on getStructureStationInfo: %T %s", sErr, sErr) } - line := fmt.Sprintf(" %s % 25.25s ISK % 12s ISK % 13s (%s) %s", + line := fmt.Sprintf(" %s % 25.25s ISK % 12s ISK % 13s (%s) (%s) %s", status, pinNames[*order.TypeID], ac.FormatMoney(*order.Price), ac.FormatMoney(remainingAmount), quantity, + duration, sInfo.Name, )