Market: Add duration indicator

This commit is contained in:
Thomas Schwery 2017-07-12 11:13:16 +02:00
parent 3ab7b0969e
commit 59746711e1

15
main.go
View file

@ -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,
)