@@ -882,9 +882,9 @@ def insert(self, table, documents):
882882 except exceptions .NotFound :
883883 pid = None
884884
885- if ( 'uuid' == pid or not pid ) and "uuid" in documents [ 0 ] :
885+ if table in { 'Component' , 'Deployment' } :
886886 for r in documents :
887- self [table , r ['identifier' ], r ['uuid' ]] = r
887+ self [table , r ['component' ], r [ ' identifier' ], r ['uuid' ]] = r
888888 ids .append (r ['uuid' ])
889889 elif pid :
890890 pid = self .primary_id (table )
@@ -944,13 +944,7 @@ def do_test(r):
944944 return False
945945 return True
946946
947- tables = self .get_many ('Table' , query .table , '*' )
948- if not tables :
949- raise exceptions .NotFound ("Table" , query .table )
950-
951- is_component = max (tables , key = lambda x : x ['version' ])['is_component' ]
952-
953- if not is_component :
947+ if query .table not in {'Component' , 'Deployment' }:
954948 pid = self .primary_id (query .table )
955949
956950 if pid in filter_kwargs :
@@ -966,31 +960,33 @@ def do_test(r):
966960 else :
967961
968962 if not filter_kwargs :
969- keys = self .keys (query .table , '*' , '*' )
963+ keys = self .keys (query .table , '*' , '*' , '*' )
970964 docs = [self [k ] for k in keys ]
971965 elif set (filter_kwargs .keys ()) == {'uuid' }:
972- keys = self .keys (query .table , '*' , filter_kwargs ['uuid' ]['value' ])
966+ keys = self .keys (query .table , '*' , '*' , filter_kwargs ['uuid' ]['value' ])
973967 docs = [self [k ] for k in keys ]
974968 elif set (filter_kwargs .keys ()) == {'identifier' }:
975969 assert filter_kwargs ['identifier' ]['op' ] == '=='
976-
977970 keys = self .keys (query .table , filter_kwargs ['identifier' ]['value' ], '*' )
978971 docs = [self [k ] for k in keys ]
979- elif set (filter_kwargs .keys ()) == {'identifier' , 'uuid' }:
972+ elif set (filter_kwargs .keys ()) == {'component' , ' identifier' , 'uuid' }:
980973 assert filter_kwargs ['identifier' ]['op' ] == '=='
981974 assert filter_kwargs ['uuid' ]['op' ] == '=='
975+ assert filter_kwargs ['component' ]['op' ] == '=='
982976
983977 r = self [
984978 query .table ,
979+ filter_kwargs ['component' ]['value' ],
985980 filter_kwargs ['identifier' ]['value' ],
986981 filter_kwargs ['uuid' ]['value' ],
987982 ]
988983 if r is None :
989984 docs = []
990985 else :
991986 docs = [r ]
992- elif set (filter_kwargs .keys ()) == {'identifier' , 'version' }:
987+ elif set (filter_kwargs .keys ()) == {'component' , ' identifier' , 'version' }:
993988 assert filter_kwargs ['identifier' ]['op' ] == '=='
989+ assert filter_kwargs ['component' ]['op' ] == '=='
994990 assert filter_kwargs ['version' ]['op' ] == '=='
995991
996992 keys = self .keys (query .table , filter_kwargs ['identifier' ]['value' ], '*' )
@@ -999,8 +995,7 @@ def do_test(r):
999995 r for r in docs if r ['version' ] == filter_kwargs ['version' ]['value' ]
1000996 ]
1001997 else :
1002-
1003- keys = self .keys (query .table , '*' , '*' )
998+ keys = self .keys (query .table , '*' , '*' , '*' )
1004999 docs = [self [k ] for k in keys ]
10051000 docs = [r for r in docs if do_test (r )]
10061001
0 commit comments