annotate calsync/sync_cal.go @ 81:79320eff10f2

support status=="cancelled" to delete events
author drewp@bigasterisk.com
date Fri, 06 Sep 2024 18:26:13 -0700
parents 19e3def953e1
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
49
2991c1166852 start calsync in go. Calendar list seems to sync
drewp@bigasterisk.com
parents:
diff changeset
1 package main
2991c1166852 start calsync in go. Calendar list seems to sync
drewp@bigasterisk.com
parents:
diff changeset
2
2991c1166852 start calsync in go. Calendar list seems to sync
drewp@bigasterisk.com
parents:
diff changeset
3 import (
2991c1166852 start calsync in go. Calendar list seems to sync
drewp@bigasterisk.com
parents:
diff changeset
4 "log"
2991c1166852 start calsync in go. Calendar list seems to sync
drewp@bigasterisk.com
parents:
diff changeset
5
2991c1166852 start calsync in go. Calendar list seems to sync
drewp@bigasterisk.com
parents:
diff changeset
6 "bigasterisk.com/go/gcalendarwatch/convert"
2991c1166852 start calsync in go. Calendar list seems to sync
drewp@bigasterisk.com
parents:
diff changeset
7 "bigasterisk.com/go/gcalendarwatch/gcalclient"
2991c1166852 start calsync in go. Calendar list seems to sync
drewp@bigasterisk.com
parents:
diff changeset
8 "bigasterisk.com/go/gcalendarwatch/mongoclient"
60
3b0595c2bf03 logging and small refactors
drewp@bigasterisk.com
parents: 56
diff changeset
9 M "bigasterisk.com/go/gcalendarwatch/mongoclienttypes"
49
2991c1166852 start calsync in go. Calendar list seems to sync
drewp@bigasterisk.com
parents:
diff changeset
10 )
2991c1166852 start calsync in go. Calendar list seems to sync
drewp@bigasterisk.com
parents:
diff changeset
11
56
635ff76f867c WIP: rewrite: process load+sync in parallel between cals; simplify a lot
drewp@bigasterisk.com
parents: 51
diff changeset
12 func updateMongoCalsToMatchGoogleOnce(mc *mongoclient.MongoClient, gc *gcalclient.GCalClient) (err error) {
49
2991c1166852 start calsync in go. Calendar list seems to sync
drewp@bigasterisk.com
parents:
diff changeset
13 log.Println("updateMongoCalsToMatchGoogle")
2991c1166852 start calsync in go. Calendar list seems to sync
drewp@bigasterisk.com
parents:
diff changeset
14
2991c1166852 start calsync in go. Calendar list seems to sync
drewp@bigasterisk.com
parents:
diff changeset
15 seen := make(map[string]bool)
2991c1166852 start calsync in go. Calendar list seems to sync
drewp@bigasterisk.com
parents:
diff changeset
16
56
635ff76f867c WIP: rewrite: process load+sync in parallel between cals; simplify a lot
drewp@bigasterisk.com
parents: 51
diff changeset
17 cals, err := gc.AllCalendars()
49
2991c1166852 start calsync in go. Calendar list seems to sync
drewp@bigasterisk.com
parents:
diff changeset
18 if err != nil {
2991c1166852 start calsync in go. Calendar list seems to sync
drewp@bigasterisk.com
parents:
diff changeset
19 return err
2991c1166852 start calsync in go. Calendar list seems to sync
drewp@bigasterisk.com
parents:
diff changeset
20 }
2991c1166852 start calsync in go. Calendar list seems to sync
drewp@bigasterisk.com
parents:
diff changeset
21
60
3b0595c2bf03 logging and small refactors
drewp@bigasterisk.com
parents: 56
diff changeset
22 for _, serviceCal := range cals {
3b0595c2bf03 logging and small refactors
drewp@bigasterisk.com
parents: 56
diff changeset
23 cal := convert.MongoCalFromGoogleCal(serviceCal)
3b0595c2bf03 logging and small refactors
drewp@bigasterisk.com
parents: 56
diff changeset
24 log.Println(M.Prefix(cal), "syncing calendar doc")
3b0595c2bf03 logging and small refactors
drewp@bigasterisk.com
parents: 56
diff changeset
25 seen[cal.Url] = true
3b0595c2bf03 logging and small refactors
drewp@bigasterisk.com
parents: 56
diff changeset
26 err = mc.UpsertOneCal(cal)
56
635ff76f867c WIP: rewrite: process load+sync in parallel between cals; simplify a lot
drewp@bigasterisk.com
parents: 51
diff changeset
27 if err != nil {
635ff76f867c WIP: rewrite: process load+sync in parallel between cals; simplify a lot
drewp@bigasterisk.com
parents: 51
diff changeset
28 return err
635ff76f867c WIP: rewrite: process load+sync in parallel between cals; simplify a lot
drewp@bigasterisk.com
parents: 51
diff changeset
29 }
49
2991c1166852 start calsync in go. Calendar list seems to sync
drewp@bigasterisk.com
parents:
diff changeset
30 }
2991c1166852 start calsync in go. Calendar list seems to sync
drewp@bigasterisk.com
parents:
diff changeset
31
56
635ff76f867c WIP: rewrite: process load+sync in parallel between cals; simplify a lot
drewp@bigasterisk.com
parents: 51
diff changeset
32 err = mc.DeleteCalsNotInSet(seen)
635ff76f867c WIP: rewrite: process load+sync in parallel between cals; simplify a lot
drewp@bigasterisk.com
parents: 51
diff changeset
33
635ff76f867c WIP: rewrite: process load+sync in parallel between cals; simplify a lot
drewp@bigasterisk.com
parents: 51
diff changeset
34 log.Println("updateMongoCalsToMatchGoogle done")
635ff76f867c WIP: rewrite: process load+sync in parallel between cals; simplify a lot
drewp@bigasterisk.com
parents: 51
diff changeset
35 return err
49
2991c1166852 start calsync in go. Calendar list seems to sync
drewp@bigasterisk.com
parents:
diff changeset
36 }