Wiki

Clone wiki

geholimport / Home

Welcome to the geholimport project

GeHoL is the scheduling system used at Brussels University. This projects aims to provide a python API to access the data available on the GeHoL web service.

Two converters are provided to export the fetched calendars into:

  • a CSV file (compatible with Google Calendar)
  • an iCal (.ics) file (compatible with Apple iCal, MS Outlook and Mozilla Sunbird)

We are working on making the iCal file compatible with Google Calendar.

We also provide a stand-alone command line tool:

usage: gehol2csv.py [-h] [-s SERVER] [-d D] [-t] [mnemo]

Fetch Gehol calendar from the ULB web page and generate a csv file compatible
with google calendar.

positional arguments:
  mnemo

optional arguments:
  -h, --help            show this help message and exit
  -s SERVER, --server SERVER
                        server address [http://164.15.72.157:8080]
  -d D                  Monday date of the week 1 e.g. 20/09/2010
  -t, --test            test the program on some courses

THIS PROGRAM IS GIVEN AS THIS WITHOUT ANY GARANTEE

How to get it?

You can clone this mercurial repository using the public URL:

$ hg clone http://bitbucket.org/odebeir/geholimport

Alternatively, you can also download the latest snapshot from the overview page (click on get source.)

Python dependencies

This project targets python 2.5. It requires the following external dependencies:

  • argparse
  • BeautifulSoup
  • iCalendar

It also makes use of the following standard libraries:

  • urllib
  • re
  • csv, codecs, cStringIO
  • datetime

How to contribute

At the moment, this library can only fetch and parse agendas on a per-course basis. To be complete, more types of calendars should be handled. If you want to contribute, here is how:

  1. Pick an issue on the issue tracker
  2. Fork the project
  3. Commit locally as you make progress
  4. Push your changes to bitbucket
  5. Send a pull request (here or here) so we can review and integrate your changes

If the feature you want to work on is not on the issue tracker yet, add it and wait for approval.

Updated