Package conduit :: Package datatypes :: Module Event
[hide private]

Source Code for Module conduit.datatypes.Event

 1  import vobject  
 2  import conduit.datatypes.DataType as DataType 
 3   
4 -class Event(DataType.DataType):
5 """ 6 Very basic calendar event representation 7 """ 8 _name_ = "event"
9 - def __init__(self, **kwargs):
10 DataType.DataType.__init__(self) 11 self.iCal = vobject.iCalendar()
12
13 - def set_from_ical_string(self, string):
14 self.iCal = vobject.readOne(string)
15
16 - def get_ical_string(self, version=1.0):
17 return self.iCal.serialize()
18
19 - def __getstate__(self):
20 data = DataType.DataType.__getstate__(self) 21 data['ical'] = self.get_ical_string() 22 return data
23
24 - def __setstate__(self, data):
25 self.set_from_ical_string(data['ical']) 26 DataType.DataType.__setstate__(self, data)
27
28 - def get_hash(self):
29 return hash(self.get_ical_string())
30