Example #1
0
    def ItemsToVobject(self):
        """Tests itemsToVObject, which converts Chandler items to vobject."""
        event = Calendar.CalendarEvent(view = self.repo.view)
        event.displayName = "test"
        event.startTime = datetime.datetime(2010, 1, 1, 10)
        event.endTime = datetime.datetime(2010, 1, 1, 11)        

        cal = ICalendar.itemsToVObject(self.repo.view, [event])

        self.assert_(cal.vevent[0].summary[0].value == "test",
         "summary not set properly, summary is %s"
         % cal.vevent[0].summary[0].value)

        start = event.startTime.replace(tzinfo=ICalendar.localtime)

        self.assert_(cal.vevent[0].dtstart[0].value == start,
         "dtstart not set properly, dtstart is %s"
         % cal.vevent[0].summary[0].value)

        event = Calendar.CalendarEvent(view = self.repo.view)
        event.displayName = "test2"
        event.startTime = datetime.datetime(2010, 1, 1)
        event.allDay = True        

        cal = ICalendar.itemsToVObject(self.repo.view, [event])

        self.assert_(cal.vevent[0].dtstart[0].value == datetime.date(2010,1,1),
         "dtstart for allDay event not set properly, dtstart is %s"
         % cal.vevent[0].summary[0].value)
Example #2
0
    def open(self, path, flags):

        if flags == os.O_RDONLY:
            if path.startswith('sidebar/'):
                if path in self.openFiles:
                    self.openFiles[path][1] += 1
                    return True

                self.view.refresh()
                dir, name = path.split('/', 1)
                sidebar = schema.ns('osaf.app', self.view).sidebarCollection
                for c in sidebar:
                    if c.displayName == name:
                        for item in c:
                            if has_stamp(item, EventStamp):
                                break
                        else:
                            return False

                        cal = ICalendar.itemsToVObject(self.view, c)
                        data = cal.serialize()
                        self.openFiles[path] = [data, 1, flags]
                        return True

        elif flags == os.O_WRONLY:
            if path.startswith('sidebar/'):
                if path.endswith('.ics'):
                    self.openFiles[path] = ['', 1, flags]
                    return True

        elif flags == os.O_CREAT:  # coming from mknod (FUSE pre 2.5)
            if path.endswith('.ics'):
                self.openFiles[path] = ['', 1, 0]
                return True

        return False
    def open(self, path, flags):

        if flags == os.O_RDONLY:
            if path.startswith('sidebar/'):
                if path in self.openFiles:
                    self.openFiles[path][1] += 1
                    return True

                self.view.refresh()
                dir, name = path.split('/', 1)
                sidebar = schema.ns('osaf.app', self.view).sidebarCollection
                for c in sidebar:
                    if c.displayName == name:
                        for item in c:
                            if has_stamp(item, EventStamp):
                                break
                        else:
                            return False

                        cal = ICalendar.itemsToVObject(self.view, c)
                        data = cal.serialize()
                        self.openFiles[path] = [data, 1, flags]
                        return True

        elif flags == os.O_WRONLY:
            if path.startswith('sidebar/'):
                if path.endswith('.ics'):
                    self.openFiles[path] = ['', 1, flags]
                    return True

        elif flags == os.O_CREAT:  # coming from mknod (FUSE pre 2.5)
            if path.endswith('.ics'):
                self.openFiles[path] = ['', 1, 0]
                return True

        return False