Skip to content

Commit f447d7d

Browse files
added additional logging to the link to direct ancestor triggers to show ancestors linked, unliked, or if there are none. Also rewrote link_sample_to_direct_ancestored to better handling ancestors as lists or strings
1 parent 194033a commit f447d7d

File tree

1 file changed

+23
-8
lines changed

1 file changed

+23
-8
lines changed

src/schema/schema_triggers.py

Lines changed: 23 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -907,18 +907,22 @@ def link_dataset_to_direct_ancestors(property_key, normalized_type, request, use
907907
activity_uuid = activity_data_dict['uuid']
908908
create_activity = True
909909

910-
if new_ancestors:
911-
910+
if new_ancestors:
911+
logger.info(f"Linking the following new ancestors: {', '.join(new_ancestors)}")
912912
try:
913913
schema_neo4j_queries.add_new_ancestors_to_existing_activity(schema_manager.get_neo4j_driver_instance(), list(new_ancestors), activity_uuid, create_activity, activity_data_dict, dataset_uuid)
914914
except TransactionError:
915915
raise
916916

917917
if ancestors_to_unlink:
918+
logger.info(f"Unlinking the following ancestors: {', '.join(ancestors_to_unlink)}")
918919
try:
919920
schema_neo4j_queries.delete_ancestor_linkages_tx(schema_manager.get_neo4j_driver_instance(), dataset_uuid, list(ancestors_to_unlink))
920921
except TransactionError:
921922
raise
923+
924+
if not(ancestors_to_unlink or new_ancestors):
925+
logger.info("No new ancestors linked, nor old ancestors unlinked")
922926

923927

924928
"""
@@ -1921,13 +1925,19 @@ def link_sample_to_direct_ancestor(property_key, normalized_type, request, user_
19211925
create_activity = False
19221926
activity_data_dict = {}
19231927
sample_uuid = existing_data_dict['uuid']
1928+
new_ancestors = None
1929+
ancestors_to_unlink = None
19241930

19251931
# Build a list of direct ancestor uuids
19261932
# Only one uuid in the list in this case
19271933
direct_ancestor_uuids = [new_data_dict['direct_ancestor_uuid']]
19281934
existing_sample_ancestor_uuids = schema_neo4j_queries.get_sample_direct_ancestor(schema_manager.get_neo4j_driver_instance(), sample_uuid, "uuid")
1929-
new_ancestors = set(direct_ancestor_uuids)-set(existing_sample_ancestor_uuids)
1930-
ancestors_to_unlink = set(existing_sample_ancestor_uuids)-set(direct_ancestor_uuids)
1935+
if isinstance(existing_sample_ancestor_uuids, list):
1936+
existing_sample_ancestor_uuids = existing_sample_ancestor_uuids[0]
1937+
if existing_sample_ancestor_uuids and existing_sample_ancestor_uuids != direct_ancestor_uuids:
1938+
new_ancestors = direct_ancestor_uuids
1939+
if not existing_sample_ancestor_uuids:
1940+
new_ancestors = direct_ancestor_uuids
19311941
activity_uuid = schema_neo4j_queries.get_parent_activity_uuid_from_entity(schema_manager.get_neo4j_driver_instance(), sample_uuid)
19321942

19331943
if not activity_uuid:
@@ -1936,17 +1946,22 @@ def link_sample_to_direct_ancestor(property_key, normalized_type, request, user_
19361946
create_activity = True
19371947

19381948
if new_ancestors:
1939-
1949+
ancestors_to_unlink = existing_sample_ancestor_uuids
1950+
logger.info(f"Linking the following new ancestors: {new_ancestors}")
19401951
try:
1941-
schema_neo4j_queries.add_new_ancestors_to_existing_activity(schema_manager.get_neo4j_driver_instance(), list(new_ancestors), activity_uuid, create_activity, activity_data_dict, sample_uuid)
1952+
schema_neo4j_queries.add_new_ancestors_to_existing_activity(schema_manager.get_neo4j_driver_instance(), new_ancestors, activity_uuid, create_activity, activity_data_dict, sample_uuid)
19421953
except TransactionError:
19431954
raise
1944-
1955+
19451956
if ancestors_to_unlink:
1957+
logger.info(f"Unlinking the following ancestor: {ancestors_to_unlink}")
19461958
try:
1947-
schema_neo4j_queries.delete_ancestor_linkages_tx(schema_manager.get_neo4j_driver_instance(), sample_uuid, list(ancestors_to_unlink))
1959+
schema_neo4j_queries.delete_ancestor_linkages_tx(schema_manager.get_neo4j_driver_instance(), sample_uuid, [ancestors_to_unlink])
19481960
except TransactionError:
19491961
raise
1962+
1963+
if not(ancestors_to_unlink or new_ancestors):
1964+
logger.info("No new ancestors linked, nor old ancestors unlinked")
19501965

19511966
"""
19521967
TriggerTypeEnum.BEFORE_CREATE and TriggerTypeEnum.BEFORE_UPDATE

0 commit comments

Comments
 (0)