docs: def parse_end_date(self, request, start_date):
          """
          Return period in days after the start date to show event occurrences,
          which is one of the following in order of priority:
           - `end_date` GET parameter value, if given and valid. The filtering
             will be *inclusive* of the end date: until end-of-day of this date
           - `days_to_show` GET parameter value, if given and valid
           - page's `default_days_to_show` if set
           - the value of the app setting `DEFAULT_DAYS_TO_SHOW`
          """
          if request.GET.get('end_date'):
              try:
                  return djtz.parse('%s 00:00' % request.GET.get('end_date'))
              except ValueError:
                  pass
          days_to_show = self.default_days_to_show or \
              appsettings.DEFAULT_DAYS_TO_SHOW
          if 'days_to_show' in request.GET:
              try:
                  days_to_show = int(request.GET.get('days_to_show'))
              except ValueError:
                  pass
          return start_date + timedelta(days=days_to_show)