Code Monkey home page Code Monkey logo

strava-pr's Issues

Unable to fetch new runs

This is due to a bug in scrava (activities' ids are represented with an Int and the number of runs crossed the 2³¹ boundary).

I will probably replace scrava with a java library.

Unable to fetch all runs

Hi!

Set up my api access token and fetching runs for the first time. Encountering the following exception:

Exception in thread "main" java.lang.RuntimeException: Could not parse list of activities
        at kiambogo.scrava.ScravaClient.$anonfun$listAthleteActivities$1(ScravaClient.scala:346)
        at kiambogo.scrava.ScravaClient.$anonfun$listAthleteActivities$1$adapted(ScravaClient.scala:321)
        at scala.collection.immutable.Stream.map(Stream.scala:415)
        at kiambogo.scrava.ScravaClient.listAthleteActivities(ScravaClient.scala:321)
        at stravapr.Strava.$anonfun$populateRunCache$1(Strava.scala:75)
        at stravapr.RateLimiter.run(RateLimiter.scala:26)
        at stravapr.RateLimiter.apply(RateLimiter.scala:39)
        at stravapr.Strava.populateRunCache(Strava.scala:75)
        at stravapr.Main$.stravaFetch(Main.scala:69)
        at stravapr.Main$.$anonfun$main$1(Main.scala:317)
        at stravapr.Main$.$anonfun$main$1$adapted(Main.scala:316)
        at scala.Option.foreach(Option.scala:257)
        at stravapr.Main$.main(Main.scala:316)
        at stravapr.Main.main(Main.scala)
Caused by: net.liftweb.json.MappingException: Expected collection but got JObject(List(JField(message,JString(Authorization Error)), JField(errors,JArray(List(JObject(List(JField(resource,JString(AccessToken)), JField(field,JString(activity:read_permission)), JField(code,JString(missing))))))))) for root JObject(List(JField(message,JString(Authorization Error)), JField(errors,JArray(List(JObject(List(JField(resource,JString(AccessToken)), JField(field,JString(activity:read_permission)), JField(code,JString(missing))))))))) and mapping Constructor(TypeInfo(class kiambogo.scrava.models.PersonalActivitySummary,None),List(DeclaredConstructor(public kiambogo.scrava.models.PersonalActivitySummary(int,int,scala.Option,scala.Option,scala.collection.immutable.Map,java.lang.String,float,int,int,float,java.lang.String,java.lang.String,java.lang.String,java.lang.String,scala.collection.immutable.List,scala.Option,scala.Option,scala.Option,scala.Option,int,int,int,int,int,kiambogo.scrava.models.Polyline,boolean,boolean,boolean,boolean,boolean,scala.Option,float,float,scala.Option,scala.Option,scala.Option,scala.Option,scala.Option,scala.Option,scala.Option,int,boolean,scala.Option),List(Arg(id,Value(int),false), Arg(resource_state,Value(int),false), Arg(external_id,Value(class java.lang.String),true), Arg(upload_id,Value(int),true), Arg(athlete,Dict(Value(int)),false), Arg(name,Value(class java.lang.String),false), Arg(distance,Value(float),false), Arg(moving_time,Value(int),false), Arg(elapsed_time,Value(int),false), Arg(total_elevation_gain,Value(float),false), Arg(type,Value(class java.lang.String),false), Arg(start_date,Value(class java.lang.String),false), Arg(start_date_local,Value(class java.lang.String),false), Arg(timezone,Value(class java.lang.String),false), Arg(start_latlng,Col(TypeInfo(class scala.collection.immutable.List,Some(scala.collection.immutable.List<java.lang.Object>)),Value(float)),false), Arg(end_latlng,Col(TypeInfo(class scala.collection.immutable.List,Some(scala.collection.immutable.List<java.lang.Object>)),Value(float)),true), Arg(location_city,Value(class java.lang.String),true), Arg(location_state,Value(class java.lang.String),true), Arg(location_country,Value(class java.lang.String),true), Arg(achievement_count,Value(int),false), Arg(kudos_count,Value(int),false), Arg(comment_count,Value(int),false), Arg(athlete_count,Value(int),false), Arg(photo_count,Value(int),false), Arg(map,Constructor(TypeInfo(class kiambogo.scrava.models.Polyline,None),List(DeclaredConstructor(public kiambogo.scrava.models.Polyline(java.lang.String,scala.Option,scala.Option,int),List(Arg(id,Value(class java.lang.String),false), Arg(polyline,Value(class java.lang.String),true), Arg(summary_polyline,Value(class java.lang.String),true), Arg(resource_state,Value(int),false))))),false), Arg(trainer,Value(boolean),false), Arg(commute,Value(boolean),false), Arg(manual,Value(boolean),false), Arg(private,Value(boolean),false), Arg(flagged,Value(boolean),false), Arg(gear_id,Value(class java.lang.String),true), Arg(average_speed,Value(float),false), Arg(max_speed,Value(float),false), Arg(average_cadence,Value(float),true), Arg(average_temp,Value(int),true), Arg(average_watts,Value(float),true), Arg(kilojoules,Value(float),true), Arg(device_watts,Value(boolean),true), Arg(average_heartrate,Value(float),true), Arg(max_heartrate,Value(float),true), Arg(total_photo_count,Value(int),false), Arg(has_kudoed,Value(boolean),false), Arg(workout_type,Value(int),true)))))
        at net.liftweb.json.Meta$.fail(Meta.scala:201)
        at net.liftweb.json.Extraction$.newCollection$1(Extraction.scala:309)
        at net.liftweb.json.Extraction$.build$1(Extraction.scala:331)
        at net.liftweb.json.Extraction$.extract0(Extraction.scala:375)
        at net.liftweb.json.Extraction$.extract0(Extraction.scala:200)
        at net.liftweb.json.Extraction$.extract(Extraction.scala:43)
        at net.liftweb.json.JsonAST$JValue.extract(JsonAST.scala:703)
        at kiambogo.scrava.ScravaClient.$anonfun$listAthleteActivities$2(ScravaClient.scala:344)
        at scala.util.Try$.apply(Try.scala:209)
        at kiambogo.scrava.ScravaClient.$anonfun$listAthleteActivities$1(ScravaClient.scala:344)
        ... 13 more

exception when strava fetch : java.lang.IndexOutOfBoundsException: 1

i encountered an exception when trying to strava-pr strava fetch :
./strava-pr strava fetch
Fetched run of 2014-07-17.

Exception in thread "main" java.lang.IndexOutOfBoundsException: 1
	at scala.collection.LinearSeqOptimized.apply(LinearSeqOptimized.scala:63)
	at scala.collection.LinearSeqOptimized.apply$(LinearSeqOptimized.scala:61)
	at scala.collection.immutable.List.apply(List.scala:86)
	at stravapr.Strava.activityToRun(Strava.scala:50)
	at stravapr.Strava.$anonfun$populateRunCache$6(Strava.scala:69)
	at scala.collection.TraversableLike.$anonfun$map$1(TraversableLike.scala:234)
	at scala.collection.immutable.Set$Set1.foreach(Set.scala:95)
	at scala.collection.TraversableLike.map(TraversableLike.scala:234)
	at scala.collection.TraversableLike.map$(TraversableLike.scala:227)
	at scala.collection.AbstractSet.scala$collection$SetLike$$super$map(Set.scala:47)
	at scala.collection.SetLike.map(SetLike.scala:101)
	at scala.collection.SetLike.map$(SetLike.scala:101)
	at scala.collection.AbstractSet.map(Set.scala:47)
	at stravapr.Strava.$anonfun$populateRunCache$5(Strava.scala:69)
	at scala.Option.orElse(Option.scala:289)
	at stravapr.Strava.$anonfun$populateRunCache$4(Strava.scala:68)
	at stravapr.Strava.$anonfun$populateRunCache$4$adapted(Strava.scala:67)
	at scala.collection.immutable.List.flatMap(List.scala:335)
	at stravapr.Strava.populateRunCache(Strava.scala:67)
	at stravapr.Main$.stravaFetch(Main.scala:69)
	at stravapr.Main$.$anonfun$main$1(Main.scala:315)
	at stravapr.Main$.$anonfun$main$1$adapted(Main.scala:314)
	at scala.Option.foreach(Option.scala:257)
	at stravapr.Main$.main(Main.scala:314)
	at stravapr.Main.main(Main.scala)

I can send you my personnal access token if you'd like to debug it. My scala skills are too weak to debug it myself. Your project seems to be exactly what I was looking for , great job.

Olivier Duhart

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.