implements graceful error handling for sync
This commit is contained in:
@@ -65,7 +65,7 @@ func SyncKomoot(app core.App) error {
|
|||||||
warning := fmt.Sprintf("error fetching tours from komoot: %v\n", err)
|
warning := fmt.Sprintf("error fetching tours from komoot: %v\n", err)
|
||||||
fmt.Print(warning)
|
fmt.Print(warning)
|
||||||
app.Logger().Warn(warning)
|
app.Logger().Warn(warning)
|
||||||
break
|
continue
|
||||||
}
|
}
|
||||||
|
|
||||||
hasNewTours, err = syncTrailWithTours(app, k, komootIntegration, userId, tours)
|
hasNewTours, err = syncTrailWithTours(app, k, komootIntegration, userId, tours)
|
||||||
@@ -73,7 +73,7 @@ func SyncKomoot(app core.App) error {
|
|||||||
warning := fmt.Sprintf("error syncing komoot tours with trails: %v\n", err)
|
warning := fmt.Sprintf("error syncing komoot tours with trails: %v\n", err)
|
||||||
fmt.Print(warning)
|
fmt.Print(warning)
|
||||||
app.Logger().Warn(warning)
|
app.Logger().Warn(warning)
|
||||||
break
|
continue
|
||||||
}
|
}
|
||||||
page += 1
|
page += 1
|
||||||
}
|
}
|
||||||
@@ -186,19 +186,23 @@ func syncTrailWithTours(app core.App, k *KomootApi, i KomootIntegration, user st
|
|||||||
hasNewTours = true
|
hasNewTours = true
|
||||||
detailedTour, err := k.fetchDetailedTour(tour)
|
detailedTour, err := k.fetchDetailedTour(tour)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return hasNewTours, err
|
app.Logger().Warn(fmt.Sprintf("Unable to fetch details for tour '%s': %v", tour.Name, err))
|
||||||
|
continue
|
||||||
}
|
}
|
||||||
gpx, err := generateTourGPX(detailedTour)
|
gpx, err := generateTourGPX(detailedTour)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return hasNewTours, err
|
app.Logger().Warn(fmt.Sprintf("Unable to generate GPX for tour '%s': %v", tour.Name, err))
|
||||||
|
continue
|
||||||
}
|
}
|
||||||
wpIds, err := createWaypointsFromTour(app, detailedTour, user)
|
wpIds, err := createWaypointsFromTour(app, detailedTour, user)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return hasNewTours, err
|
app.Logger().Warn(fmt.Sprintf("Unable to create waypoints for tour '%s': %v", tour.Name, err))
|
||||||
|
continue
|
||||||
}
|
}
|
||||||
err = createTrailFromTour(app, detailedTour, gpx, user, wpIds)
|
err = createTrailFromTour(app, detailedTour, gpx, user, wpIds)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return hasNewTours, err
|
app.Logger().Warn(fmt.Sprintf("Unable to create trail for tour '%s': %v", tour.Name, err))
|
||||||
|
continue
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -91,20 +91,20 @@ func SyncStrava(app core.App) error {
|
|||||||
for hasNewRoutes {
|
for hasNewRoutes {
|
||||||
|
|
||||||
routes, err := fetchStravaRoutes(r.AccessToken, page)
|
routes, err := fetchStravaRoutes(r.AccessToken, page)
|
||||||
|
page += 1
|
||||||
if err != nil {
|
if err != nil {
|
||||||
warning := fmt.Sprintf("error fetching routes from strava: %v\n", err)
|
warning := fmt.Sprintf("error fetching routes from strava: %v\n", err)
|
||||||
fmt.Print(warning)
|
fmt.Print(warning)
|
||||||
app.Logger().Warn(warning)
|
app.Logger().Warn(warning)
|
||||||
break
|
continue
|
||||||
}
|
}
|
||||||
hasNewRoutes, err = syncTrailsWithRoutes(app, r.AccessToken, userId, routes)
|
hasNewRoutes, err = syncTrailsWithRoutes(app, r.AccessToken, userId, routes)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
warning := fmt.Sprintf("error syncing strava routes with trails: %v\n", err)
|
warning := fmt.Sprintf("error syncing strava routes with trails: %v\n", err)
|
||||||
fmt.Print(warning)
|
fmt.Print(warning)
|
||||||
app.Logger().Warn(warning)
|
app.Logger().Warn(warning)
|
||||||
break
|
continue
|
||||||
}
|
}
|
||||||
page += 1
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if stravaIntegration.Activities {
|
if stravaIntegration.Activities {
|
||||||
@@ -112,20 +112,20 @@ func SyncStrava(app core.App) error {
|
|||||||
hasNewActivities := true
|
hasNewActivities := true
|
||||||
for hasNewActivities {
|
for hasNewActivities {
|
||||||
activities, err := fetchStravaActivities(r.AccessToken, page)
|
activities, err := fetchStravaActivities(r.AccessToken, page)
|
||||||
|
page += 1
|
||||||
if err != nil {
|
if err != nil {
|
||||||
warning := fmt.Sprintf("error fetching activities from strava: %v", err)
|
warning := fmt.Sprintf("error fetching activities from strava: %v", err)
|
||||||
fmt.Print(warning)
|
fmt.Print(warning)
|
||||||
app.Logger().Warn(warning)
|
app.Logger().Warn(warning)
|
||||||
break
|
continue
|
||||||
}
|
}
|
||||||
hasNewActivities, err = syncTrailsWithActivities(app, r.AccessToken, userId, activities)
|
hasNewActivities, err = syncTrailsWithActivities(app, r.AccessToken, userId, activities)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
warning := fmt.Sprintf("error syncing strava activities with trails: %v", err)
|
warning := fmt.Sprintf("error syncing strava activities with trails: %v", err)
|
||||||
fmt.Print(warning)
|
fmt.Print(warning)
|
||||||
app.Logger().Warn(warning)
|
app.Logger().Warn(warning)
|
||||||
break
|
continue
|
||||||
}
|
}
|
||||||
page += 1
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -234,15 +234,18 @@ func syncTrailsWithRoutes(app core.App, accessToken string, user string, routes
|
|||||||
hasNewRoutes = true
|
hasNewRoutes = true
|
||||||
gpx, err := fetchRouteGPX(route, accessToken)
|
gpx, err := fetchRouteGPX(route, accessToken)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return hasNewRoutes, err
|
app.Logger().Warn(fmt.Sprintf("Unable to fetch GPX for route '%s': %v", route.Name, err))
|
||||||
|
continue
|
||||||
}
|
}
|
||||||
wpIds, err := createWaypointsFromRoute(app, route, user)
|
wpIds, err := createWaypointsFromRoute(app, route, user)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return hasNewRoutes, err
|
app.Logger().Warn(fmt.Sprintf("Unable to create waypoints for route '%s': %v", route.Name, err))
|
||||||
|
continue
|
||||||
}
|
}
|
||||||
err = createTrailFromRoute(app, route, gpx, user, wpIds)
|
err = createTrailFromRoute(app, route, gpx, user, wpIds)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return hasNewRoutes, err
|
app.Logger().Warn(fmt.Sprintf("Unable to create trail for route '%s': %v", route.Name, err))
|
||||||
|
continue
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -388,15 +391,18 @@ func syncTrailsWithActivities(app core.App, accessToken string, user string, act
|
|||||||
hasNewActivites = true
|
hasNewActivites = true
|
||||||
detailedActivity, err := fetchDetailedActivity(activity, accessToken)
|
detailedActivity, err := fetchDetailedActivity(activity, accessToken)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return hasNewActivites, err
|
app.Logger().Warn(fmt.Sprintf("Unable to fetch detailed activity '%s': %v", activity.Name, err))
|
||||||
|
continue
|
||||||
}
|
}
|
||||||
gpx, err := generateActivityGPX(detailedActivity, accessToken)
|
gpx, err := generateActivityGPX(detailedActivity, accessToken)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return hasNewActivites, err
|
app.Logger().Warn(fmt.Sprintf("Unable to fetch GPX for activity '%s': %v", activity.Name, err))
|
||||||
|
continue
|
||||||
}
|
}
|
||||||
err = createTrailFromActivity(app, detailedActivity, gpx, user)
|
err = createTrailFromActivity(app, detailedActivity, gpx, user)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return hasNewActivites, err
|
app.Logger().Warn(fmt.Sprintf("Unable to create trail from activity '%s': %v", activity.Name, err))
|
||||||
|
continue
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user