Mercurial > code > home > repos > gcalendarwatch
view calsync/convert/convert.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 source
package convert import ( "net/url" "time" "bigasterisk.com/go/gcalendarwatch/gcalclient" "bigasterisk.com/go/gcalendarwatch/mongoclient" "google.golang.org/api/calendar/v3" ) func MongoCalFromGoogleCal(cal *calendar.CalendarListEntry) mongoclient.MongoCal { return mongoclient.MongoCal{ Url: gcalclient.MakeCalUrl(cal.Id), GoogleId: cal.Id, Summary: cal.Summary, Description: cal.Description, } } func MakeEventUrl(calUrl string, evId string) string { return calUrl + "/" + url.QueryEscape(evId) } func MakeEventUrl2(cal mongoclient.MongoCal, evId string) string { return MakeEventUrl3(cal.GoogleId, evId) } func MakeEventUrl3(googleCalId string, evId string) string { return MakeEventUrl("http://bigasterisk.com/calendar/"+ url.QueryEscape(googleCalId), evId) } func MongoEventFromGoogleEvent2( calUrl string, ev *gcalclient.CalendarEvent, now time.Time, ) mongoclient.MongoEvent { return mongoEventFromGoogleEvent(calUrl, ev, now) } func MongoEventFromGoogleEvent( cal *calendar.CalendarListEntry, ev *gcalclient.CalendarEvent, now time.Time, ) mongoclient.MongoEvent { return mongoEventFromGoogleEvent(MakeEventUrl3(cal.Id, ev.Id), ev, now) } func mongoEventFromGoogleEvent(calUrl string, ev *gcalclient.CalendarEvent, now time.Time) mongoclient.MongoEvent { return mongoclient.MongoEvent{ Url: calUrl, GoogleId: ev.Event.Id, HtmlLink: ev.HtmlLink, Title: ev.Summary, //? // FeedId : ev.Event.FeedId, // or calid? // FeedTitle : ev.Event.FeedTitle, // /or what EndTimeUnspecified: ev.Event.EndTimeUnspecified, // Start : ev.Start.DateTime, // StartDate : ev.Event.StartDate, // StartTime : ev.Event.StartTime, // End : ev.Event.End, // EndDate : ev.Event.EndDate, // EndTime : ev.Event.EndTime, LastUpdated: now, } }