PI: Better error handling on schematics info
This commit is contained in:
parent
3a4411a49a
commit
1b601f2141
1 changed files with 17 additions and 10 deletions
19
main.go
19
main.go
|
@ -371,8 +371,11 @@ func printCharacterPlanets(swaggerclient *ESI.App, m *Character) {
|
||||||
} else if pin.SchematicID != 0 {
|
} else if pin.SchematicID != 0 {
|
||||||
|
|
||||||
// Get the schematic from ESI and cache it
|
// Get the schematic from ESI and cache it
|
||||||
schematicInfo := getSchematicsInformation(swaggerclient, pin.SchematicID)
|
schematicInfo, serr := getSchematicsInformation(swaggerclient, pin.SchematicID)
|
||||||
|
if serr != nil {
|
||||||
|
log.Printf("Error on getSchematicsInformation: %T, %s\n", serr, serr)
|
||||||
|
fmt.Printf(" ✔ Factory ????? cycle, ?????\n")
|
||||||
|
} else {
|
||||||
fmt.Printf(" ✔ Factory % 5ds cycle, %s\n",
|
fmt.Printf(" ✔ Factory % 5ds cycle, %s\n",
|
||||||
schematicInfo.CycleTime,
|
schematicInfo.CycleTime,
|
||||||
schematicInfo.SchematicName,
|
schematicInfo.SchematicName,
|
||||||
|
@ -380,6 +383,7 @@ func printCharacterPlanets(swaggerclient *ESI.App, m *Character) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func getUniverseNames(swaggerclient *ESI.App, itemIds *[]int32) map[int32]string {
|
func getUniverseNames(swaggerclient *ESI.App, itemIds *[]int32) map[int32]string {
|
||||||
|
@ -459,7 +463,7 @@ type SchematicInfo struct {
|
||||||
SchematicName string
|
SchematicName string
|
||||||
}
|
}
|
||||||
|
|
||||||
func getSchematicsInformation(swaggerclient *ESI.App, schematicID int32) SchematicInfo {
|
func getSchematicsInformation(swaggerclient *ESI.App, schematicID int32) (*SchematicInfo, error) {
|
||||||
|
|
||||||
schematicName := getCachedData(fmt.Sprintf("%d.name", schematicID))
|
schematicName := getCachedData(fmt.Sprintf("%d.name", schematicID))
|
||||||
schematicCycle := getCachedData(fmt.Sprintf("%d.cycle", schematicID))
|
schematicCycle := getCachedData(fmt.Sprintf("%d.cycle", schematicID))
|
||||||
|
@ -468,7 +472,10 @@ func getSchematicsInformation(swaggerclient *ESI.App, schematicID int32) Schemat
|
||||||
scallParams := ESIPlanetaryInteraction.NewGetUniverseSchematicsSchematicIDParams()
|
scallParams := ESIPlanetaryInteraction.NewGetUniverseSchematicsSchematicIDParams()
|
||||||
scallParams.WithSchematicID(schematicID)
|
scallParams.WithSchematicID(schematicID)
|
||||||
|
|
||||||
sesiresponse, _ := swaggerclient.PlanetaryInteraction.GetUniverseSchematicsSchematicID(scallParams)
|
sesiresponse, sesierr := swaggerclient.PlanetaryInteraction.GetUniverseSchematicsSchematicID(scallParams)
|
||||||
|
if sesierr != nil {
|
||||||
|
return nil, sesierr
|
||||||
|
}
|
||||||
|
|
||||||
schematicsESIInfo := sesiresponse.Payload
|
schematicsESIInfo := sesiresponse.Payload
|
||||||
|
|
||||||
|
@ -479,14 +486,14 @@ func getSchematicsInformation(swaggerclient *ESI.App, schematicID int32) Schemat
|
||||||
putCacheData(fmt.Sprintf("%d.name", schematicID), schematicInfo.SchematicName)
|
putCacheData(fmt.Sprintf("%d.name", schematicID), schematicInfo.SchematicName)
|
||||||
putCacheData(fmt.Sprintf("%d.cycle", schematicID), fmt.Sprintf("%d", schematicInfo.CycleTime))
|
putCacheData(fmt.Sprintf("%d.cycle", schematicID), fmt.Sprintf("%d", schematicInfo.CycleTime))
|
||||||
|
|
||||||
return schematicInfo
|
return &schematicInfo, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
var schematicInfo SchematicInfo
|
var schematicInfo SchematicInfo
|
||||||
pCycleTime, _ := strconv.ParseInt(schematicCycle, 10, 32)
|
pCycleTime, _ := strconv.ParseInt(schematicCycle, 10, 32)
|
||||||
schematicInfo.CycleTime = int32(pCycleTime)
|
schematicInfo.CycleTime = int32(pCycleTime)
|
||||||
schematicInfo.SchematicName = schematicName
|
schematicInfo.SchematicName = schematicName
|
||||||
return schematicInfo
|
return &schematicInfo, nil
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Reference in a new issue