README ¶
fossasia-2016-google-calendar
A quick and dirty little thing that takes FOSSASIA 2016 schedule and creates Google Calendars (and iCalendars .ics) out of it.
Why?
Because.
If you really interested in the why/how, I've shared some notes with those involved in OpenTechSummit 2016 regarding this project. Check it out here: https://github.com/OpenTechSummit/2016.opentechsummit.net/issues/21#issuecomment-215343330
How?
FOSSASIA has its schedule in JSON over here: https://raw.githubusercontent.com/fossasia/open-event-scraper/master/out/sessions.json.
Squirt out a quick one that uses it to import the events into Google Calendars.
There are over 300 events scheduled over 3-days, it makes it hard to have it all in one big calendar.
I've separated different topics (they call it tracks
) into separate calendars, so you can filter events based on your
topic of interest when deciding which talks to attend.
Update: I've also separated the events by location, so you can easily decide if you'd be interested in the next talk or if you need to move to the next location.
WebCal Link (Recommended)
Copy the following link to subscribe the FOSSASIA 2016 calendar on your favourite Calendar app.
(Man, Github really does not like non-http(s) links)
FOSSASIA 2016 - ALL All events in one calendar
webcal://p42-calendars.icloud.com/published/2/QmWuTst1nDopR6oQVVIkV4co0ONQVq4lD2s7XeBGTdDZmn8J4lBQvKzgNWwSpa0w-QQJEdIT3ywlU105GBNXW3zfaDBSPNaBrl-krjqFbz8
Note: You might want to consider having your Calendar app auto-refresh it at a reasonable interval (every 30 mins is a good start). The FOSSASIA schedule is still very much fluid at the moment. It might get hardened as the event gets along on its way, probably.
Google Calendar Links (Recommended)
Click the following links to add FOSSASIA 2016 schedule to your Google Calendar
FOSSASIA 2016 - ALL All events in one calendar
FOSSASIA 2016 - By Topics/Tracks Separate calendars for each topic / tracks
FOSSASIA 2016 - By Location Separate calendars for each location
iCal Links
Click the following links to download the iCal files (.ics) and add them to your favourite Calendar app.
FOSSASIA 2016 - ALL All events in one calendar
Updates:
- 14 March 2015, 07:07pm: New location calendars
- 13 March 2015, 11:59pm: Initial release
Frequently-asked Questions (FAQs)
Nope, you don't have to. The original GCals/WebCal will be updated automatically, no need to re-add.
But do note that if you use the iCal links, you do need to re-add them again to your Calendar app.
Yeap, unfortunately you have to, because the iCal lives on your local machine / device.
I try to update it as soon as I can, as long as life don't get in my way.
sessions.json
?Nope, the updates currently have to be triggered manually.
Probably if someone donates a Linux instance for a forever-online machine, that can run >=Go 1.5, probably.
Nope, it won't! (Yay!)
This means that if you have added the iCal into your app before, and if you decided to re-add it again (for example, because there are latest changes to the schedule), it won't create duplicate events on your calendar!
Note: This would only affect iCal links generated after Thurs, 17 March 2016 08:00 AM SGT
Wanna to run it?
You don't really need to run this to get the latest schedule in your Calendar apps. Just click the URLs above.
But if you want to generate your own calendars, go ahead.
>= Go 1.5
You need >= Go 1.5 to run this sexy little chica.
service_key.json
Visit https://console.developers.google.com and create a Service Account key for Calendar product.
Replace the content of service_key.json
with your private key and boomz.
Note: using your own service key would generate your own set of calendars. It won't update the calendars above.
data.json
This file caches previously created calendar IDs, so that we can update the calendar without pillaging it like a band of vikings.
Note: if you use your own Service Account key, you won't be able to access the calendars stored in data.json
, so clear it before you run it.
sessions.json
This file is take from here. This app currently just downloads and uses the source JSON directly for every run.
Disclaimer
This code was cobbled up during a lazy and hot Saturday afternoon. It's one of those "it-works" kind of thing.
Documentation ¶
There is no documentation for this package.