Mercurial > code > home > repos > gcalendarwatch
comparison calsync/cal_sync.go @ 56:635ff76f867c
WIP: rewrite: process load+sync in parallel between cals; simplify a lot
author | drewp@bigasterisk.com |
---|---|
date | Thu, 05 Sep 2024 13:50:40 -0700 |
parents | a9b720445bcf |
children | 3b0595c2bf03 |
comparison
equal
deleted
inserted
replaced
55:627c815f83bb | 56:635ff76f867c |
---|---|
6 "bigasterisk.com/go/gcalendarwatch/convert" | 6 "bigasterisk.com/go/gcalendarwatch/convert" |
7 "bigasterisk.com/go/gcalendarwatch/gcalclient" | 7 "bigasterisk.com/go/gcalendarwatch/gcalclient" |
8 "bigasterisk.com/go/gcalendarwatch/mongoclient" | 8 "bigasterisk.com/go/gcalendarwatch/mongoclient" |
9 ) | 9 ) |
10 | 10 |
11 func updateMongoCalsToMatchGoogle(mc *mongoclient.MongoClient, gc *gcalclient.GCalClient) (err error) { | 11 func updateMongoCalsToMatchGoogleOnce(mc *mongoclient.MongoClient, gc *gcalclient.GCalClient) (err error) { |
12 log.Println("updateMongoCalsToMatchGoogle") | 12 log.Println("updateMongoCalsToMatchGoogle") |
13 | 13 |
14 seen := make(map[string]bool) | 14 seen := make(map[string]bool) |
15 | 15 |
16 cals, err := gc.AllCalendars(100) | 16 cals, err := gc.AllCalendars() |
17 if err != nil { | 17 if err != nil { |
18 return err | 18 return err |
19 } | 19 } |
20 | 20 |
21 for _, cal := range cals { | 21 for _, cal := range cals { |
22 calUrl := gcalclient.MakeCalUrl(cal.Id) | 22 calUrl := gcalclient.MakeCalUrl(cal.Id) |
23 log.Println("syncing", calUrl) | 23 log.Println("syncing", calUrl) |
24 seen[calUrl] = true | 24 seen[calUrl] = true |
25 mc.UpsertOneCal(convert.MongoCalFromGoogleCal(cal)) | 25 err = mc.UpsertOneCal(convert.MongoCalFromGoogleCal(cal)) |
26 if err != nil { | |
27 return err | |
28 } | |
29 log.Println("syncing", calUrl, "done") | |
26 } | 30 } |
27 | 31 |
28 return mc.DeleteCalsNotInSet(seen) | 32 err = mc.DeleteCalsNotInSet(seen) |
33 | |
34 log.Println("updateMongoCalsToMatchGoogle done") | |
35 return err | |
29 } | 36 } |