'Get a dictionary that pulls together information about the poster
safely for both authenticated and non-authenticated comments.
This dict will have ``name``, ``email``, and ``url`` fields.'

def _get_userinfo(self):

    if (not hasattr(self, '_userinfo')):
        userinfo = {'name': self.user_name, 'email': self.user_email, 'url': self.user_url}
        if self.user_id:
            u = self.user
            if u.email:
                userinfo['email'] = u.email
            if u.get_full_name():
                userinfo['name'] = self.user.get_full_name()
            elif (not self.user_name):
                userinfo['name'] = u.get_username()
        self._userinfo = userinfo
    return self._userinfo
