# Path: events/events.py
# KNOWN_ATTRIBUTES = ['start', 'end', 'recurrence', 'allday', 'title', 'description', 'location', 'alarm', 'alarmmin']
# UTC_STRING = """BEGIN:VTIMEZONE
# TZID:UTC
# BEGIN:STANDARD
# DTSTART:20000101T000000
# RRULE:FREQ=YEARLY;BYMONTH=1
# TZNAME:UTC
# TZOFFSETFROM:+0000
# TZOFFSETTO:+0000
# END:STANDARD
# END:VTIMEZONE"""
# ZERO = datetime.timedelta(0)
# HOUR = datetime.timedelta(hours=1)
# class Event(pisiinterfaces.Syncable):
# class UTC(datetime.tzinfo):
# class CustomOffset(datetime.tzinfo):
# class Recurrence:
# class AbstractCalendarSynchronizationModule(pisiinterfaces.AbstractSynchronizationModule):
#     def __init__( self, id, updated, attributes,  attributesToUTF = True):
#     def compare(self,  e):
#     def merge( self, e ):
#     def prettyPrint ( self ):
#     def utcoffset(self, dt):
#     def tzname(self, dt):
#     def dst(self, dt):
#     def __init__(self, name, st):
#     def utcoffset(self, dt):
#     def tzname(self, dt):
#     def dst(self, dt):
#     def __init__(self):
#     def initFromData(self,  data):
#     def initFromAttributes(self,  rrule,  dtstart,  dtend = None,  isAllDay = False):   
#     def getData(self):
#     def getDTStart(self):
#     def getDTEnd(self):
#     def getRRule(self):
#     def isAllDay(self):
#     def __eq__(self,  other):
#     def __ne__(self,  other):
#     def prettyPrint ( self ):
#     def __init__(self,  verbose,  soft,  modulesString,  config,  configsection,  name = "unkown contact source"):
#     def allEvents( self ):
#     def getEvent(self,  id):
#     def addEvent( self, eventInstance ):
#     def replaceEvent( self, id, updatedEvent):
#     def removeEvent( self, id ):
# def assembleID():


from events import events
from pisiconstants import *
from vobjecttools import *
import datetime,time
import pisiprogress
import datetime
import os.path
import os
"""
Syncronize with an iCalendar file

This file is part of Pisi.

ICalendar support is based on the VOBJECT library by skyhouseconsulting (U{http://vobject.skyhouseconsulting.com/}).
Consequently, the vobject site-package has to be installed for utilizing ICS support in PISI.

Pisi 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.

Pisi 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 Pisi.  If not, see <http://www.gnu.org/licenses/>
"""

#import vobject

FIELD_PISI = "X-PISI-ID"
"""Name of additional field in ICS file for PISI ID (must start with X-)"""


# Path: events/events.py
# KNOWN_ATTRIBUTES = ['start', 'end', 'recurrence', 'allday', 'title', 'description', 'location', 'alarm', 'alarmmin']
# UTC_STRING = """BEGIN:VTIMEZONE
# TZID:UTC
# BEGIN:STANDARD
# DTSTART:20000101T000000
# RRULE:FREQ=YEARLY;BYMONTH=1
# TZNAME:UTC
# TZOFFSETFROM:+0000
# TZOFFSETTO:+0000
# END:STANDARD
# END:VTIMEZONE"""
# ZERO = datetime.timedelta(0)
# HOUR = datetime.timedelta(hours=1)
# class Event(pisiinterfaces.Syncable):
# class UTC(datetime.tzinfo):
# class CustomOffset(datetime.tzinfo):
# class Recurrence:
# class AbstractCalendarSynchronizationModule(pisiinterfaces.AbstractSynchronizationModule):
#     def __init__( self, id, updated, attributes,  attributesToUTF = True):
#     def compare(self,  e):
#     def merge( self, e ):
#     def prettyPrint ( self ):
#     def utcoffset(self, dt):
#     def tzname(self, dt):
#     def dst(self, dt):
#     def __init__(self, name, st):
#     def utcoffset(self, dt):
#     def tzname(self, dt):
#     def dst(self, dt):
#     def __init__(self):
#     def initFromData(self,  data):
#     def initFromAttributes(self,  rrule,  dtstart,  dtend = None,  isAllDay = False):   
#     def getData(self):
#     def getDTStart(self):
#     def getDTEnd(self):
#     def getRRule(self):
#     def isAllDay(self):
#     def __eq__(self,  other):
#     def __ne__(self,  other):
#     def prettyPrint ( self ):
#     def __init__(self,  verbose,  soft,  modulesString,  config,  configsection,  name = "unkown contact source"):
#     def allEvents( self ):
#     def getEvent(self,  id):
#     def addEvent( self, eventInstance ):
#     def replaceEvent( self, id, updatedEvent):
#     def removeEvent( self, id ):
# def assembleID():


# Path: modules/calendar_ics.py
from events import events
from pisiconstants import *
from vobjecttools import *
import datetime,time
import pisiprogress
import datetime
import os.path
import os

"""
Syncronize with an iCalendar file

This file is part of Pisi.

ICalendar support is based on the VOBJECT library by skyhouseconsulting (U{http://vobject.skyhouseconsulting.com/}).
Consequently, the vobject site-package has to be installed for utilizing ICS support in PISI.

Pisi 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.

Pisi 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 Pisi.  If not, see <http://www.gnu.org/licenses/>
"""

#import vobject

FIELD_PISI = "X-PISI-ID"
"""Name of additional field in ICS file for PISI ID (must start with X-)"""


class SynchronizationModule(events.AbstractCalendarSynchronizationModule):