def __init__(self, *, parent=None, con=None, **kwargs):
if parent and con:<EOL><INDENT>raise ValueError('<STR_LIT>')<EOL><DEDENT>self.con = parent.con if parent else con<EOL>main_resource = kwargs.pop('<STR_LIT>', None) or (<EOL>getattr(parent, '<STR_LIT>', None) if parent else None)<EOL>super().__init__(<EOL>protocol=parent.protocol if parent else kwargs.get('<STR_LIT>'),<EOL>main_resource=main_resource)<EOL>cc = self._cc  <EOL>self._track_changes = TrackerSet(casing=cc)<EOL>self.calendar_id = kwargs.get('<STR_LIT>', None)<EOL>download_attachments = kwargs.get('<STR_LIT>')<EOL>cloud_data = kwargs.get(self._cloud_data_key, {})<EOL>self.object_id = cloud_data.get(cc('<STR_LIT:id>'), None)<EOL>self.__subject = cloud_data.get(cc('<STR_LIT>'),<EOL>kwargs.get('<STR_LIT>', '<STR_LIT>') or '<STR_LIT>')<EOL>body = cloud_data.get(cc('<STR_LIT:body>'), {})<EOL>self.__body = body.get(cc('<STR_LIT:content>'), '<STR_LIT>')<EOL>self.body_type = body.get(cc('<STR_LIT>'),<EOL>'<STR_LIT>')  <EOL>self.__attendees = Attendees(event=self, attendees={<EOL>self._cloud_data_key: cloud_data.get(cc('<STR_LIT>'), [])})<EOL>self.__categories = cloud_data.get(cc('<STR_LIT>'), [])<EOL>self.__created = cloud_data.get(cc('<STR_LIT>'), None)<EOL>self.__modified = cloud_data.get(cc('<STR_LIT>'), None)<EOL>local_tz = self.protocol.timezone<EOL>self.__created = parse(self.__created).astimezone(<EOL>local_tz) if self.__created else None<EOL>self.__modified = parse(self.__modified).astimezone(<EOL>local_tz) if self.__modified else None<EOL>start_obj = cloud_data.get(cc('<STR_LIT:start>'), {})<EOL>self.__start = self._parse_date_time_time_zone(start_obj)<EOL>end_obj = cloud_data.get(cc('<STR_LIT:end>'), {})<EOL>self.__end = self._parse_date_time_time_zone(end_obj)<EOL>self.has_attachments = cloud_data.get(cc('<STR_LIT>'), False)<EOL>self.__attachments = EventAttachments(parent=self, attachments=[])<EOL>if self.has_attachments and download_attachments:<EOL><INDENT>self.attachments.download_attachments()<EOL><DEDENT>self.__categories = cloud_data.get(cc('<STR_LIT>'), [])<EOL>self.ical_uid = cloud_data.get(cc('<STR_LIT>'), None)<EOL>self.__importance = ImportanceLevel.from_value(<EOL>cloud_data.get(cc('<STR_LIT>'), '<STR_LIT>') or '<STR_LIT>')<EOL>self.__is_all_day = cloud_data.get(cc('<STR_LIT>'), False)<EOL>self.is_cancelled = cloud_data.get(cc('<STR_LIT>'), False)<EOL>self.is_organizer = cloud_data.get(cc('<STR_LIT>'), True)<EOL>self.__location = cloud_data.get(cc('<STR_LIT:location>'), {}).get(<EOL>cc('<STR_LIT>'), '<STR_LIT>')<EOL>self.locations = cloud_data.get(cc('<STR_LIT>'), [])  <EOL>self.online_meeting_url = cloud_data.get(cc('<STR_LIT>'), None)<EOL>self.__organizer = self._recipient_from_cloud(<EOL>cloud_data.get(cc('<STR_LIT>'), None), field=cc('<STR_LIT>'))<EOL>self.__recurrence = EventRecurrence(event=self,<EOL>recurrence=cloud_data.get(<EOL>cc('<STR_LIT>'), None))<EOL>self.__is_reminder_on = cloud_data.get(cc('<STR_LIT>'), True)<EOL>self.__remind_before_minutes = cloud_data.get(<EOL>cc('<STR_LIT>'), <NUM_LIT:15>)<EOL>self.__response_requested = cloud_data.get(cc('<STR_LIT>'),<EOL>True)<EOL>self.__response_status = ResponseStatus(parent=self,<EOL>response_status=cloud_data.get(<EOL>cc('<STR_LIT>'), {}))<EOL>self.__sensitivity = EventSensitivity.from_value(<EOL>cloud_data.get(cc('<STR_LIT>'), '<STR_LIT>'))<EOL>self.series_master_id = cloud_data.get(cc('<STR_LIT>'), None)<EOL>self.__show_as = EventShowAs.from_value(cloud_data.get(cc('<STR_LIT>'), '<STR_LIT>'))<EOL>self.__event_type = EventType.from_value(cloud_data.get(cc('<STR_LIT:type>'), '<STR_LIT>'))<EOL>
Create a calendar event representation

        :param parent: parent for this operation
        :type parent: Calendar or Schedule or ApiComponent
        :param Connection con: connection to use if no parent specified
        :param Protocol protocol: protocol to use if no parent specified
         (kwargs)
        :param str main_resource: use this resource instead of parent resource
         (kwargs)
        :param str calendar_id: id of the calender to add this event in
         (kwargs)
        :param bool download_attachments: whether or not to download attachments
         (kwargs)
        :param str subject: subject of the event (kwargs)