Return a json list with information about threads in the group.

        :param enforce_re=True:        Whether to require titles to match
                                       regexp in self.topic_re.

        :param latest_date=None:       Optional datetime.datetime for latest
                                       date to consider. Things past this
                                       are ignored.

        ~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-

        :return:  List of github items found.

        ~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-

        PURPOSE:   Return a json list with information about threads
                   in the group. Along with latest_date, this can be used
                   to show issues.

def get_thread_info(self, enforce_re=True, latest_date=None):
        """Return a json list with information about threads in the group.

        :param enforce_re=True:        Whether to require titles to match
                                       regexp in self.topic_re.

        :param latest_date=None:       Optional datetime.datetime for latest
                                       date to consider. Things past this
                                       are ignored.

        ~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-

        :return:  List of github items found.

        ~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-

        PURPOSE:   Return a json list with information about threads
                   in the group. Along with latest_date, this can be used
                   to show issues.

        """
        result = []
        my_re = re.compile(self.topic_re)
        url = '%s/issues?sort=updated' % (self.base_url)
        latest_date = self.parse_date(latest_date) if latest_date else None
        while url:
            kwargs = {} if not self.gh_info.user else {'auth': (
                self.gh_info.user, self.gh_info.token)}
            my_req = requests.get(url, params=self.params, **kwargs)
            my_json = my_req.json()
            for item in my_json:
                if (not enforce_re) or my_re.search(item['title']):
                    idate = self.parse_date(item['updated_at'])
                    if (latest_date is not None and idate > latest_date):
                        logging.debug('Skip %s since updated at %s > %s',
                                      item['title'], idate, latest_date)
                        continue
                    result.append(item)
                    if self.max_threads is not None and len(
                            result) >= self.max_threads:
                        logging.debug('Stopping after max_threads=%i threads.',
                                      len(result))
                        return result
            url = None
            if 'link' in my_req.headers:
                link = my_req.headers['link'].split(',')
                for thing in link:
                    potential_url, part = thing.split('; ')
                    if part == 'rel="next"':
                        url = potential_url.lstrip(' <').rstrip('> ')

        return result