[golang] update error handling and bootstrap trade procurement
This commit is contained in:
parent
fd06283b8d
commit
a692a38d28
10 changed files with 66 additions and 50 deletions
|
@ -10,7 +10,7 @@ import (
|
|||
func (a *agent) visitAllShipyards(ship *model.Ship) error {
|
||||
shipyards, err := a.listShipyardsInSystem(ship.Nav.SystemSymbol)
|
||||
if err != nil {
|
||||
return fmt.Errorf("failed to visit all shipyards: %w", err)
|
||||
return fmt.Errorf("failed to list shipyards in system %s: %w", ship.Nav.SystemSymbol, err)
|
||||
}
|
||||
shipyards = slices.DeleteFunc(shipyards, func(shipyard model.Shipyard) bool {
|
||||
// filter out shipyards for which we already have ships prices
|
||||
|
@ -25,22 +25,22 @@ func (a *agent) visitAllShipyards(ship *model.Ship) error {
|
|||
}
|
||||
waypoint, err := a.client.GetWaypoint(ship.Nav.WaypointSymbol, a.db)
|
||||
if err != nil {
|
||||
return fmt.Errorf("failed to visit all shipyards: %w", err)
|
||||
return fmt.Errorf("failed to get nav waypoint %s: %w", ship.Nav.WaypointSymbol, err)
|
||||
}
|
||||
waypoints := make([]model.Waypoint, 0)
|
||||
for i := range shipyards {
|
||||
waypoint, err := a.client.GetWaypoint(shipyards[i].Symbol, a.db)
|
||||
if err != nil {
|
||||
return fmt.Errorf("failed to visit all shipyards: %w", err)
|
||||
return fmt.Errorf("failed to get waypoint %s: %w", shipyards[i].Symbol, err)
|
||||
}
|
||||
waypoints = append(waypoints, *waypoint)
|
||||
}
|
||||
sortByDistanceFrom(waypoint, waypoints)
|
||||
if err := a.client.Navigate(ship, waypoints[0].Symbol, a.db); err != nil {
|
||||
return fmt.Errorf("failed to visit all shipyards: %w", err)
|
||||
return fmt.Errorf("failed to navigate to %s: %w", waypoints[0].Symbol, err)
|
||||
}
|
||||
if _, err := a.client.GetShipyard(&waypoints[0], a.db); err != nil {
|
||||
return fmt.Errorf("failed to visit all shipyards: %w", err)
|
||||
return fmt.Errorf("failed to get shipyard %s: %w", waypoints[0].Symbol, err)
|
||||
}
|
||||
// TODO get market data
|
||||
return a.visitAllShipyards(ship)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue