def _backend_servers_stats(self, *args, **kwargs): verb = kwargs.get('verb', None) if verb is not None: try: params = web.input() backend_id = params.get('backend_id', None) if backend_id is not None: backend = backends.backend_get({'_id': backend_id}) if backend is not None: transport = get_xmlrpc_transport( backend['backend_url'], backend['is_kerberos']) s = Servers(transport) count_servers = s.count() result = self._prepare_output(result={ 'backend_id': backend_id, 'server_count': count_servers}) return result except KerberosError as e: (first, last) = e.message (message, error_no) = last result = self._prepare_output(result={ 'backend_id': backend_id, 'error': True, 'error_type': 'Kerberos', 'error_msg': message, 'error_no': error_no}) return result result = self._prepare_output(result={ 'backend_id': backend_id, 'server_count': 0}) return result