@@ -262,11 +262,18 @@ def _import_users(
262262 # get matching emails from the backend
263263 output_email_id : Dict [str , int ] = {}
264264 if input_id_email :
265- output_email_id = dict (
266- orm .QueryBuilder (backend = backend_to )
267- .append (orm .User , filters = {'email' : {'in' : list (input_id_email .values ())}}, project = ['email' , 'id' ])
268- .all (batch_size = query_params .batch_size )
269- )
265+ output_email_id = {
266+ key : value
267+ for query_results in [
268+ dict (
269+ orm .QueryBuilder (backend = backend_to )
270+ .append (orm .User , filters = {'email' : {'in' : chunk }}, project = ['email' , 'id' ])
271+ .all (batch_size = query_params .batch_size )
272+ )
273+ for _ , chunk in batch_iter (set (input_id_email .values ()), query_params .filter_size )
274+ ]
275+ for key , value in query_results .items ()
276+ }
270277
271278 new_users = len (input_id_email ) - len (output_email_id )
272279 existing_users = len (output_email_id )
@@ -300,11 +307,18 @@ def _import_computers(
300307 # get matching uuids from the backend
301308 backend_uuid_id : Dict [str , int ] = {}
302309 if input_id_uuid :
303- backend_uuid_id = dict (
304- orm .QueryBuilder (backend = backend_to )
305- .append (orm .Computer , filters = {'uuid' : {'in' : list (input_id_uuid .values ())}}, project = ['uuid' , 'id' ])
306- .all (batch_size = query_params .batch_size )
307- )
310+ backend_uuid_id = {
311+ key : value
312+ for query_results in [
313+ dict (
314+ orm .QueryBuilder (backend = backend_to )
315+ .append (orm .Computer , filters = {'uuid' : {'in' : chunk }}, project = ['uuid' , 'id' ])
316+ .all (batch_size = query_params .batch_size )
317+ )
318+ for _ , chunk in batch_iter (set (input_id_uuid .values ()), query_params .filter_size )
319+ ]
320+ for key , value in query_results .items ()
321+ }
308322
309323 new_computers = len (input_id_uuid ) - len (backend_uuid_id )
310324 existing_computers = len (backend_uuid_id )
@@ -460,17 +474,20 @@ def _import_nodes(
460474
461475 # get matching uuids from the backend
462476 backend_uuid_id : Dict [str , int ] = {}
463- input_id_uuid_uuids = list (input_id_uuid .values ())
464477
465478 if input_id_uuid :
466- for _ , batch in batch_iter (input_id_uuid_uuids , query_params .filter_size ):
467- backend_uuid_id .update (
479+ backend_uuid_id = {
480+ key : value
481+ for query_results in [
468482 dict (
469483 orm .QueryBuilder (backend = backend_to )
470- .append (orm .Node , filters = {'uuid' : {'in' : batch }}, project = ['uuid' , 'id' ])
484+ .append (orm .Node , filters = {'uuid' : {'in' : chunk }}, project = ['uuid' , 'id' ])
471485 .all (batch_size = query_params .batch_size )
472486 )
473- )
487+ for _ , chunk in batch_iter (set (input_id_uuid .values ()), query_params .filter_size )
488+ ]
489+ for key , value in query_results .items ()
490+ }
474491
475492 new_nodes = len (input_id_uuid ) - len (backend_uuid_id )
476493
@@ -544,12 +561,20 @@ def _import_logs(
544561
545562 # get matching uuids from the backend
546563 backend_uuid_id : Dict [str , int ] = {}
564+
547565 if input_id_uuid :
548- backend_uuid_id = dict (
549- orm .QueryBuilder (backend = backend_to )
550- .append (orm .Log , filters = {'uuid' : {'in' : list (input_id_uuid .values ())}}, project = ['uuid' , 'id' ])
551- .all (batch_size = query_params .batch_size )
552- )
566+ backend_uuid_id = {
567+ key : value
568+ for query_results in [
569+ dict (
570+ orm .QueryBuilder (backend = backend_to )
571+ .append (orm .Log , filters = {'uuid' : {'in' : chunk }}, project = ['uuid' , 'id' ])
572+ .all (batch_size = query_params .batch_size )
573+ )
574+ for _ , chunk in batch_iter (set (input_id_uuid .values ()), query_params .filter_size )
575+ ]
576+ for key , value in query_results .items ()
577+ }
553578
554579 new_logs = len (input_id_uuid ) - len (backend_uuid_id )
555580 existing_logs = len (backend_uuid_id )
0 commit comments