def execute(self, quals, columns): ical_file = urllib.urlopen(self.url).read() cal = Calendar.from_string(ical_file) for v in cal.walk('vevent'): e = Event(v) line = {} for column_name in self.columns: line[column_name] = e.decoded(column_name) yield line