Exemplo n.º 1
0
    def test_event_delegated(self):
        e = kolabformat.Event()
        e.setSummary("test")
        e.setStart(kolabformat.cDateTime(2014,7,1, 12,30,0))

        att1 = kolabformat.Attendee(kolabformat.ContactReference("*****@*****.**"))
        att1.setRole(kolabformat.NonParticipant)
        att1.setPartStat(kolabformat.PartDelegated)
        att1.setDelegatedTo([kolabformat.ContactReference("*****@*****.**")])

        att2 = kolabformat.Attendee(kolabformat.ContactReference("*****@*****.**"))
        att2.setRole(kolabformat.Required)
        att2.setPartStat(kolabformat.PartNeedsAction)
        att2.setDelegatedFrom([kolabformat.ContactReference("*****@*****.**")])

        e.setAttendees([att1, att2])
        self.assertEqual(len(att1.delegatedTo()), 1)
        self.assertEqual(len(att2.delegatedFrom()), 1)

        xml = kolabformat.writeEvent(e)
        e1 = kolabformat.readEvent(xml, False)
        # print xml

        attendees_ = e1.attendees()
        self.assertEqual(len(attendees_), 2)
        self.assertEqual(len(attendees_[0].delegatedTo()), 1)
        self.assertEqual(len(attendees_[1].delegatedFrom()), 1)

        delegatees = attendees_[0].delegatedTo()
        self.assertEqual(delegatees[0].email(), "*****@*****.**")
Exemplo n.º 2
0
    def test_event_delegated(self):
        e = kolabformat.Event()
        e.setSummary("test")
        e.setStart(kolabformat.cDateTime(2014, 7, 1, 12, 30, 0))

        att1 = kolabformat.Attendee(
            kolabformat.ContactReference("*****@*****.**"))
        att1.setRole(kolabformat.NonParticipant)
        att1.setPartStat(kolabformat.PartDelegated)
        att1.setDelegatedTo([kolabformat.ContactReference("*****@*****.**")])

        att2 = kolabformat.Attendee(
            kolabformat.ContactReference("*****@*****.**"))
        att2.setRole(kolabformat.Required)
        att2.setPartStat(kolabformat.PartNeedsAction)
        att2.setDelegatedFrom([kolabformat.ContactReference("*****@*****.**")])

        e.setAttendees([att1, att2])
        self.assertEqual(len(att1.delegatedTo()), 1)
        self.assertEqual(len(att2.delegatedFrom()), 1)

        xml = kolabformat.writeEvent(e)
        e1 = kolabformat.readEvent(xml, False)
        # print xml

        attendees_ = e1.attendees()
        self.assertEqual(len(attendees_), 2)
        self.assertEqual(len(attendees_[0].delegatedTo()), 1)
        self.assertEqual(len(attendees_[1].delegatedFrom()), 1)

        delegatees = attendees_[0].delegatedTo()
        self.assertEqual(delegatees[0].email(), "*****@*****.**")
Exemplo n.º 3
0
def to_cdatetime(_datetime, with_timezone=True, as_utc=False):
    """
        Convert a datetime.dateime object into a kolabformat.cDateTime instance
    """
    # convert date into UTC timezone
    if as_utc and hasattr(_datetime, "tzinfo"):
        if _datetime.tzinfo is not None:
            _datetime = _datetime.astimezone(pytz.utc)
        else:
            datetime = _datetime.replace(tzinfo=pytz.utc)
        with_timezone = False

    (
        year,
        month,
        day,
    ) = (
        _datetime.year,
        _datetime.month,
        _datetime.day,
    )

    if hasattr(_datetime, 'hour'):
        (
            hour,
            minute,
            second
        ) = (
            _datetime.hour,
            _datetime.minute,
            _datetime.second
        )
        _cdatetime = kolabformat.cDateTime(year, month, day, hour, minute, second)

    else:
        _cdatetime = kolabformat.cDateTime(year, month, day)

    if with_timezone and hasattr(_datetime, "tzinfo"):
        if _datetime.tzinfo.__str__() in ['UTC','GMT']:
            _cdatetime.setUTC(True)
        else:
            _cdatetime.setTimezone(_datetime.tzinfo.__str__())

    if as_utc:
        _cdatetime.setUTC(True)

    return _cdatetime
Exemplo n.º 4
0
def to_cdatetime(_datetime, with_timezone=True, as_utc=False):
    """
        Convert a datetime.dateime object into a kolabformat.cDateTime instance
    """
    # convert date into UTC timezone
    if as_utc and hasattr(_datetime, "tzinfo"):
        if _datetime.tzinfo is not None:
            _datetime = _datetime.astimezone(pytz.utc)
        else:
            datetime = _datetime.replace(tzinfo=pytz.utc)
        with_timezone = False

    (
        year,
        month,
        day,
    ) = (
        _datetime.year,
        _datetime.month,
        _datetime.day,
    )

    if hasattr(_datetime, 'hour'):
        (
            hour,
            minute,
            second
        ) = (
            _datetime.hour,
            _datetime.minute,
            _datetime.second
        )
        _cdatetime = kolabformat.cDateTime(year, month, day, hour, minute, second)

    else:
        _cdatetime = kolabformat.cDateTime(year, month, day)

    if with_timezone and hasattr(_datetime, "tzinfo"):
        if _datetime.tzinfo.__str__() in ['UTC','GMT']:
            _cdatetime.setUTC(True)
        else:
            _cdatetime.setTimezone(_datetime.tzinfo.__str__())

    if as_utc:
        _cdatetime.setUTC(True)

    return _cdatetime
Exemplo n.º 5
0
    def set_start(self, _datetime):

        valid_datetime = False
        if isinstance(_datetime, datetime.date):
            valid_datetime = True

        if isinstance(_datetime, datetime.datetime):
            # If no timezone information is passed on, make it UTC
            if _datetime.tzinfo == None:
                _datetime = _datetime.replace(tzinfo=pytz.utc)

            valid_datetime = True

        if not valid_datetime:
            raise InvalidEventDateError, _("Event start needs datetime.date or datetime.datetime instance")

        (
                year,
                month,
                day,
            ) = (
                    _datetime.year,
                    _datetime.month,
                    _datetime.day,
                )
        if hasattr(_datetime, 'hour'):
            (
                    hour,
                    minute,
                    second
                ) = (
                        _datetime.hour,
                        _datetime.minute,
                        _datetime.second
                    )
            _cdatetime = kolabformat.cDateTime(year, month, day, hour, minute, second)
        else:
            _cdatetime = kolabformat.cDateTime(year, month, day)

        if hasattr(_datetime, "tzinfo"):
            _cdatetime.setTimezone(_datetime.tzinfo.__str__())

        self.event.setStart(_cdatetime)
Exemplo n.º 6
0
    def test_event_basic(self):
        e = kolabformat.Event()
        e.setSummary("test")

        start = kolabformat.cDateTime(2014,7,1, 12,30,0)
        start.setTimezone("Europe/London")
        e.setStart(start)

        ex = e.exceptionDates()
        ex.size()
        ex.push_back(kolabformat.cDateTime(2014,7,5))
        ex.size()
        e.exceptionDates().size()
        e.setExceptionDates(ex)
        e.exceptionDates().size()

        xml = kolabformat.writeEvent(e)
        e1 = kolabformat.readEvent(xml, False)
        xml1 = kolabformat.writeEvent(e1)
        self.assertEqual(xml, xml1)
Exemplo n.º 7
0
    def test_event_basic(self):
        e = kolabformat.Event()
        e.setSummary("test")

        start = kolabformat.cDateTime(2014, 7, 1, 12, 30, 0)
        start.setTimezone("Europe/London")
        e.setStart(start)

        ex = e.exceptionDates()
        ex.size()
        ex.push_back(kolabformat.cDateTime(2014, 7, 5))
        ex.size()
        e.exceptionDates().size()
        e.setExceptionDates(ex)
        e.exceptionDates().size()

        xml = kolabformat.writeEvent(e)
        e1 = kolabformat.readEvent(xml, False)
        xml1 = kolabformat.writeEvent(e1)
        self.assertEqual(xml, xml1)
Exemplo n.º 8
0
    def set_dtstamp(self, _datetime):
        (
                year,
                month,
                day,
                hour,
                minute,
                second
            ) = (
                    _datetime.year,
                    _datetime.month,
                    _datetime.day,
                    _datetime.hour,
                    _datetime.minute,
                    _datetime.second
                )

        self.event.setLastModified(
                kolabformat.cDateTime(year, month, day, hour, minute, second)
            )
Exemplo n.º 9
0
    def set_lastmodified(self, _datetime=None):
        valid_datetime = False
        if isinstance(_datetime, datetime.date):
            valid_datetime = True

        if isinstance(_datetime, datetime.datetime):
            valid_datetime = True

        if _datetime == None:
            valid_datetime = True
            _datetime = datetime.datetime.now()

        if not valid_datetime:
            raise InvalidEventDateError, _("Event start needs datetime.date or datetime.datetime instance")

        (
                year,
                month,
                day,
            ) = (
                    _datetime.year,
                    _datetime.month,
                    _datetime.day,
                )
        if hasattr(_datetime, 'hour'):
            (
                    hour,
                    minute,
                    second
                ) = (
                        _datetime.hour,
                        _datetime.minute,
                        _datetime.second
                    )
        else:
            (hour, minute, second) = (0,0,0)

        self.event.setLastModified(kolabformat.cDateTime(year, month, day, hour, minute, second))
Exemplo n.º 10
0
    def set_created(self, _datetime=None):
        if _datetime == None:
            _datetime = datetime.datetime.now()

        (
                year,
                month,
                day,
                hour,
                minute,
                second
            ) = (
                    _datetime.year,
                    _datetime.month,
                    _datetime.day,
                    _datetime.hour,
                    _datetime.minute,
                    _datetime.second
                )

        self.event.setCreated(
                kolabformat.cDateTime(year, month, day, hour, minute, second)
            )
Exemplo n.º 11
0
import kolabformat
e = kolabformat.Event()

ex = e.exceptionDates()
ex.size()
ex.push_back(kolabformat.cDateTime(1,1,1))
ex.size()
e.exceptionDates().size()
e.setExceptionDates(ex)
e.exceptionDates().size()

string = kolabformat.writeEvent(e);
print string;
e1 = kolabformat.readEvent(string, False);
string = kolabformat.writeEvent(e1);
print string;