@@ -882,9 +882,9 @@ def insert(self, table, documents):
882
882
except exceptions .NotFound :
883
883
pid = None
884
884
885
- if ( 'uuid' == pid or not pid ) and "uuid" in documents [ 0 ] :
885
+ if table in { 'Component' , 'Deployment' } :
886
886
for r in documents :
887
- self [table , r ['identifier' ], r ['uuid' ]] = r
887
+ self [table , r ['component' ], r [ ' identifier' ], r ['uuid' ]] = r
888
888
ids .append (r ['uuid' ])
889
889
elif pid :
890
890
pid = self .primary_id (table )
@@ -944,13 +944,7 @@ def do_test(r):
944
944
return False
945
945
return True
946
946
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' }:
954
948
pid = self .primary_id (query .table )
955
949
956
950
if pid in filter_kwargs :
@@ -966,31 +960,33 @@ def do_test(r):
966
960
else :
967
961
968
962
if not filter_kwargs :
969
- keys = self .keys (query .table , '*' , '*' )
963
+ keys = self .keys (query .table , '*' , '*' , '*' )
970
964
docs = [self [k ] for k in keys ]
971
965
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' ])
973
967
docs = [self [k ] for k in keys ]
974
968
elif set (filter_kwargs .keys ()) == {'identifier' }:
975
969
assert filter_kwargs ['identifier' ]['op' ] == '=='
976
-
977
970
keys = self .keys (query .table , filter_kwargs ['identifier' ]['value' ], '*' )
978
971
docs = [self [k ] for k in keys ]
979
- elif set (filter_kwargs .keys ()) == {'identifier' , 'uuid' }:
972
+ elif set (filter_kwargs .keys ()) == {'component' , ' identifier' , 'uuid' }:
980
973
assert filter_kwargs ['identifier' ]['op' ] == '=='
981
974
assert filter_kwargs ['uuid' ]['op' ] == '=='
975
+ assert filter_kwargs ['component' ]['op' ] == '=='
982
976
983
977
r = self [
984
978
query .table ,
979
+ filter_kwargs ['component' ]['value' ],
985
980
filter_kwargs ['identifier' ]['value' ],
986
981
filter_kwargs ['uuid' ]['value' ],
987
982
]
988
983
if r is None :
989
984
docs = []
990
985
else :
991
986
docs = [r ]
992
- elif set (filter_kwargs .keys ()) == {'identifier' , 'version' }:
987
+ elif set (filter_kwargs .keys ()) == {'component' , ' identifier' , 'version' }:
993
988
assert filter_kwargs ['identifier' ]['op' ] == '=='
989
+ assert filter_kwargs ['component' ]['op' ] == '=='
994
990
assert filter_kwargs ['version' ]['op' ] == '=='
995
991
996
992
keys = self .keys (query .table , filter_kwargs ['identifier' ]['value' ], '*' )
@@ -999,8 +995,7 @@ def do_test(r):
999
995
r for r in docs if r ['version' ] == filter_kwargs ['version' ]['value' ]
1000
996
]
1001
997
else :
1002
-
1003
- keys = self .keys (query .table , '*' , '*' )
998
+ keys = self .keys (query .table , '*' , '*' , '*' )
1004
999
docs = [self [k ] for k in keys ]
1005
1000
docs = [r for r in docs if do_test (r )]
1006
1001
0 commit comments