Viewing file: eds.py (1.71 KB) -rw-r--r-- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
# - coding: utf-8 -
# Copyright (C) 2007 Patryk Zawadzki <patrys at pld-linux.org> # Copyright (C) 2008 Toms Bauģis <toms.baugis at gmail.com>
# This file is part of Project Hamster.
# Project Hamster is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version.
# Project Hamster is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details.
# You should have received a copy of the GNU General Public License # along with Project Hamster. If not, see <http://www.gnu.org/licenses/>.
import logging
EDS_AVAILABLE = False try: import evolution from evolution import ecal EDS_AVAILABLE = True except: pass
def get_eds_tasks(): if EDS_AVAILABLE == False: return []
try: sources = ecal.list_task_sources() tasks = [] if not sources: # BUG - http://bugzilla.gnome.org/show_bug.cgi?id=546825 sources = [('default', 'default')]
for source in sources: category = source[0]
data = ecal.open_calendar_source(source[1], ecal.CAL_SOURCE_TYPE_TODO) if data: for task in data.get_all_objects(): if task.get_status() in [ecal.ICAL_STATUS_NONE, ecal.ICAL_STATUS_INPROCESS]: tasks.append({'name': task.get_summary(), 'category' : category}) return tasks except Exception, e: logging.warn(e) return []
|