Mercurial > code > home > repos > gcalendarwatch
diff calsync/cal_sync.go @ 49:2991c1166852
start calsync in go. Calendar list seems to sync
author | drewp@bigasterisk.com |
---|---|
date | Mon, 19 Aug 2024 13:25:03 -0700 |
parents | |
children | a9b720445bcf |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/calsync/cal_sync.go Mon Aug 19 13:25:03 2024 -0700 @@ -0,0 +1,29 @@ +package main + +import ( + "log" + + "bigasterisk.com/go/gcalendarwatch/convert" + "bigasterisk.com/go/gcalendarwatch/gcalclient" + "bigasterisk.com/go/gcalendarwatch/mongoclient" +) + +func updateMongoCalsToMatchGoogle(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 + mc.UpsertOneCal(convert.MongoCalFromGoogleCal(cal)) + } + + return mc.DeleteCalsNotInSet(seen) +}