X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=gfit%2Fgfit.go;h=b6e9bc0632c807e8338fd9b09d9017e64356cd08;hb=4c298110b1564f337cd0ceaad8e94fd4d4f7741f;hp=fb668624e6b2e734b473333cb018cb685cae536d;hpb=a2b86ab96b046d7cccd96b066121ffa71e0eaf46;p=kraftakt.git diff --git a/gfit/gfit.go b/gfit/gfit.go index fb66862..b6e9bc0 100644 --- a/gfit/gfit.go +++ b/gfit/gfit.go @@ -120,7 +120,7 @@ func (c *Client) DataSourceCreate(ctx context.Context, dataSource *fitness.DataS } return DataStreamID(dataSource), nil } - log.Errorf(ctx, "c.Service.Users.DataSources.Create() = (%+v, %v)", res, err) + log.Errorf(ctx, "c.Service.Users.DataSources.Create(%q) = (%+v, %v)", dataSource, res, err) return "", err } return res.DataStreamId, nil @@ -230,12 +230,26 @@ func (a Activity) String() string { } func (c *Client) SetActivities(ctx context.Context, activities []Activity, startOfDay time.Time) error { - dataStreamID := DataStreamID(&fitness.DataSource{ + if len(activities) == 0 { + return nil + } + + dataStreamID, err := c.DataSourceCreate(ctx, &fitness.DataSource{ + Application: Application(ctx), DataType: &fitness.DataType{ + Field: []*fitness.DataTypeField{ + &fitness.DataTypeField{ + Name: "activity", + Format: "integer", + }, + }, Name: dataTypeNameActivitySegment, }, Type: "raw", }) + if err != nil { + return err + } endOfDay := startOfDay.Add(24 * time.Hour).Add(-1 * time.Nanosecond) @@ -328,7 +342,7 @@ func (c *Client) updateCumulative(ctx context.Context, dataSource *fitness.DataS if now := time.Now().In(startOfDay.Location()); now.Before(endOfDay) { endTime = now } - log.Debugf(ctx, "adding cumulative data point: %v-%v %+v", startTime, endTime, diffValue) + log.Debugf(ctx, "add cumulative data %s until %v: %+v", dataSource.DataStreamId, endTime, diffValue) return c.DataSetPatch(ctx, dataSource.DataStreamId, []*fitness.DataPoint{ &fitness.DataPoint{ @@ -350,6 +364,7 @@ func (c *Client) readCumulative(ctx context.Context, dataSource *fitness.DataSou } if len(res.Point) == 0 { + log.Debugf(ctx, "read cumulative data %s until %v: []", dataSource.DataStreamId, endTime) return &fitness.Value{}, startTime, nil }