Giter VIP home page Giter VIP logo

fossasia-2016-google-calendar's Introduction

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.

Screenshot Screenshot

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: OpnTec/2016.opentechsummit.de#21 (comment)

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
    • Level 1 Eco Garden Lab (Add)
    • Level 1, Ground Floor, Scientist For a day, Hall A (Add)
  • 13 March 2015, 11:59pm: Initial release

Frequently-asked Questions (FAQs)

Do I need to re-import / re-add the GCals/WebCal if there are changes to the schedule?

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.

Do I need to re-import / re-add the iCals if there are changes to the schedule?

Yeap, unfortunately you have to, because the iCal lives on your local machine / device.

How often do the GCals/iCals/WebCal get updated?

I try to update it as soon as I can, as long as life don't get in my way.

Do the GCals/iCals/WebCal get generated automatically every time there are changes to the 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.

Would re-adding the iCals into my Calendar app create duplicate entries?

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.

fossasia-2016-google-calendar's People

Contributors

mariobehling avatar sogko avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

fossasia-2016-google-calendar's Issues

Master Calendar is empty

So I ran your script, everything went fine and the calenders were created. But the URL for the master calendar was returned incorrect.

View MASTER calendar at:  https://calendar.google.com/calendar/[email protected]

You missed cid=

Also if you open the master calendar after fixing the link, you will see it has no events. The track calendar and everything else is fine. For reference I am attaching the generated data.json

data.json.tar.gz

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.