def open_file(self, file_path): with open(file_path) as f: data = f.read() cal = Calendar.from_ical(data) for component in cal.walk(): if component.name == 'VEVENT': tz_offset = timedelta(seconds=time.timezone) name = component.get('summary') start = component.get('dtstart').dt - tz_offset end = component.get('dtend').dt - tz_offset location = component.get('location') event = Event() event.name = name event.location = location event.year = start.year event.month = start.month event.day = start.day event.start_hour = int(start.strftime('%H')) + 1 event.start_minute = int(start.strftime('%M')) event.end_hour = int(end.strftime('%H')) + 1 event.end_minute = int(end.strftime('%M')) if self.config.get('google_sync'): google = self.get_google_client() google.set_calendar_id() google.export_event(event) event.save() self.show_message('Successfully added event') self.current_view.update_gui()
def hour_click(self, calendar_hour, *args): if not calendar_hour.is_blocked: event = Event() event.date = calendar_hour.date event.start_hour = calendar_hour.hour event.start_minute = 0 event.end_hour = calendar_hour.hour + 1 event.end_minute = 0 EventEditor(event, calendar_hour)
def date_click(self, calendar_day, *args): ''' Open an Event edit window for a CalendarDay :param calendar_day: The CalendarDay :type calendar_day: CalendarDay ''' if not calendar_day.is_blocked: event = Event() event.date = calendar_day.date now = datetime.now() event.start_hour = now.hour event.end_hour = now.hour + 1 event.start_minute = 0 event.end_minute = 0 EventEditor(event, calendar_day)