Mercurial > code > home > repos > gcalendarwatch
view 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 |
line wrap: on
line source
package main import ( "log" "bigasterisk.com/go/gcalendarwatch/convert" "bigasterisk.com/go/gcalendarwatch/gcalclient" "bigasterisk.com/go/gcalendarwatch/mongoclient" ) func updateMongoCalsToMatchGoogleOnce(mc *mongoclient.MongoClient, gc *gcalclient.GCalClient) (err error) { log.Println("updateMongoCalsToMatchGoogle") seen := make(map[string]bool) cals, err := gc.AllCalendars() if err != nil { return err } for _, cal := range cals { calUrl := gcalclient.MakeCalUrl(cal.Id) log.Println("syncing", calUrl) seen[calUrl] = true err = mc.UpsertOneCal(convert.MongoCalFromGoogleCal(cal)) if err != nil { return err } log.Println("syncing", calUrl, "done") } err = mc.DeleteCalsNotInSet(seen) log.Println("updateMongoCalsToMatchGoogle done") return err }