code: def member_info(self, member_id):
          
          server_id = self._servers.host_to_server_id(
              self.member_id_to_host(member_id))
          server_info = self._servers.info(server_id)
          result = {'_id': member_id, 'server_id': server_id,
                    'mongodb_uri': server_info['mongodb_uri'],
                    'procInfo': server_info['procInfo'],
                    'statuses': server_info['statuses']}
          if self.login:
              result['mongodb_auth_uri'] = self.mongodb_auth_uri(
                  self._servers.hostname(server_id))
          result['rsInfo'] = {}
          if server_info['procInfo']['alive']:
              # Can't call serverStatus on arbiter when running with auth enabled.
              # (SERVER-5479)
              if self.login or self.auth_key:
                  arbiter_ids = [member['_id'] for member in self.arbiters()]
                  if member_id in arbiter_ids:
                      result['rsInfo'] = {
                          'arbiterOnly': True, 'secondary': False, 'primary': False}
                      return result
              repl = self.run_command('serverStatus', arg=None, is_eval=False, member_id=member_id)['repl']
              logger.debug("member {member_id} repl info: {repl}".format(**locals()))
              for key in ('votes', 'tags', 'arbiterOnly', 'buildIndexes', 'hidden', 'priority', 'slaveDelay', 'votes', 'secondary'):
                  if key in repl:
                      result['rsInfo'][key] = repl[key]
              result['rsInfo']['primary'] = repl.get('ismaster', False)
  
          return result
docs: return information about member