Fixed #141 list index out of range
If the number of events exceeded the number of lines allocated for events, a *list index out of range* exception was thrown. This has been fixed now by providing an additional check.
This commit is contained in:
		| @@ -297,28 +297,30 @@ class Calendar(inkycal_module): | |||||||
|  |  | ||||||
|         cursor = 0 |         cursor = 0 | ||||||
|         for event in upcoming_events: |         for event in upcoming_events: | ||||||
|           name = event['title'] |           if cursor < len(event_lines): | ||||||
|           date = event['begin'].format(self.date_format, locale=lang) |             name = event['title'] | ||||||
|           time = event['begin'].format(self.time_format, locale=lang) |             date = event['begin'].format(self.date_format, locale=lang) | ||||||
|  |             time = event['begin'].format(self.time_format, locale=lang) | ||||||
|  |             #logger.debug(f"name:{name}   date:{date} time:{time}") | ||||||
|  |  | ||||||
|           if now < event['end']: |             if now < event['end']: | ||||||
|             write(im_colour, event_lines[cursor], (date_width, line_height), |               write(im_colour, event_lines[cursor], (date_width, line_height), | ||||||
|                   date, font=self.font, alignment = 'left') |                     date, font=self.font, alignment = 'left') | ||||||
|  |  | ||||||
|             # Check if event is all day |               # Check if event is all day | ||||||
|             if parser.all_day(event) == True: |               if parser.all_day(event) == True: | ||||||
|               write(im_black, (date_width, event_lines[cursor][1]), |                 write(im_black, (date_width, event_lines[cursor][1]), | ||||||
|                   (event_width_l, line_height), name, font=self.font, |                     (event_width_l, line_height), name, font=self.font, | ||||||
|                   alignment = 'left') |                     alignment = 'left') | ||||||
|             else: |               else: | ||||||
|               write(im_black, (date_width, event_lines[cursor][1]), |                 write(im_black, (date_width, event_lines[cursor][1]), | ||||||
|                   (time_width, line_height), time, font=self.font, |                     (time_width, line_height), time, font=self.font, | ||||||
|                   alignment = 'left') |                     alignment = 'left') | ||||||
|  |  | ||||||
|               write(im_black, (date_width+time_width,event_lines[cursor][1]), |                 write(im_black, (date_width+time_width,event_lines[cursor][1]), | ||||||
|                   (event_width_s, line_height), name, font=self.font, |                     (event_width_s, line_height), name, font=self.font, | ||||||
|                   alignment = 'left') |                     alignment = 'left') | ||||||
|             cursor += 1 |               cursor += 1 | ||||||
|       else: |       else: | ||||||
|         symbol = '- ' |         symbol = '- ' | ||||||
|         while self.font.getsize(symbol)[0] < im_width*0.9: |         while self.font.getsize(symbol)[0] < im_width*0.9: | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user