pyegeria 5.4.3.1__py3-none-any.whl → 5.4.3.3__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- commands/cat/debug_log.2025-09-01_07-02-58_818650.log.zip +0 -0
- commands/cat/debug_log.log +4242 -8144
- md_processing/data/commands.json +1255 -612
- md_processing/dr_egeria_inbox/data_spec_test.md +38 -86
- md_processing/dr_egeria_inbox/gov_def.md +239 -3
- md_processing/dr_egeria_inbox/product.md +6 -6
- md_processing/dr_egeria_outbox/monday/processed-2025-09-01 14:03-product.md +209 -0
- md_processing/dr_egeria_outbox/monday/processed-2025-09-01 14:24-product.md +263 -0
- md_processing/dr_egeria_outbox/monday/processed-2025-09-01 16:03-data_spec_test.md +2374 -0
- md_processing/dr_egeria_outbox/monday/processed-2025-09-01 16:05-data_spec_test.md +2374 -0
- md_processing/dr_egeria_outbox/monday/processed-2025-09-02 08:28-data_spec_test.md +2321 -0
- md_processing/dr_egeria_outbox/monday/processed-2025-09-02 08:37-data_spec_test.md +2304 -0
- md_processing/dr_egeria_outbox/monday/processed-2025-09-02 08:56-data_spec_test.md +2324 -0
- md_processing/dr_egeria_outbox/monday/processed-2025-09-02 09:00-data_spec_test.md +2324 -0
- md_processing/dr_egeria_outbox/tuesday/processed-2025-09-02 13:07-gov_def.md +492 -0
- md_processing/dr_egeria_outbox/tuesday/processed-2025-09-02 13:25-gov_def.md +520 -0
- md_processing/dr_egeria_outbox/tuesday/processed-2025-09-02 16:43-gov_def.md +636 -0
- md_processing/dr_egeria_outbox/tuesday/processed-2025-09-02 16:46-gov_def.md +636 -0
- md_processing/md_commands/data_designer_commands.py +88 -153
- md_processing/md_commands/product_manager_commands.py +1 -1
- md_processing/md_processing_utils/common_md_utils.py +5 -12
- pyegeria/___external_references.py +3267 -0
- pyegeria/data_designer.py +6 -7
- pyegeria/project_manager.py +1 -1
- {pyegeria-5.4.3.1.dist-info → pyegeria-5.4.3.3.dist-info}/METADATA +1 -1
- {pyegeria-5.4.3.1.dist-info → pyegeria-5.4.3.3.dist-info}/RECORD +29 -21
- md_processing/dr_egeria_outbox/friday/processed-2025-08-29 16:30-output_tests.md +0 -103
- md_processing/dr_egeria_outbox/friday/processed-2025-08-29 16:40-output_tests.md +0 -115
- md_processing/dr_egeria_outbox/friday/processed-2025-08-30 21:15-glossary_test1.md +0 -326
- md_processing/dr_egeria_outbox/friday/processed-2025-08-31 13:27-glossary_test1.md +0 -369
- md_processing/dr_egeria_outbox/friday/processed-2025-08-31 13:33-glossary_test1.md +0 -392
- md_processing/dr_egeria_outbox/friday/processed-2025-08-31 20:57-glossary_test1.md +0 -400
- {pyegeria-5.4.3.1.dist-info → pyegeria-5.4.3.3.dist-info}/LICENSE +0 -0
- {pyegeria-5.4.3.1.dist-info → pyegeria-5.4.3.3.dist-info}/WHEEL +0 -0
- {pyegeria-5.4.3.1.dist-info → pyegeria-5.4.3.3.dist-info}/entry_points.txt +0 -0
@@ -11,8 +11,10 @@ from rich import print
|
|
11
11
|
from rich.console import Console
|
12
12
|
from rich.markdown import Markdown
|
13
13
|
|
14
|
-
from md_processing.md_processing_utils.common_md_proc_utils import (parse_upsert_command, parse_view_command)
|
15
|
-
from md_processing.md_processing_utils.common_md_utils import update_element_dictionary
|
14
|
+
from md_processing.md_processing_utils.common_md_proc_utils import (parse_upsert_command, parse_view_command )
|
15
|
+
from md_processing.md_processing_utils.common_md_utils import (update_element_dictionary, set_find_body, set_create_body,
|
16
|
+
set_element_prop_body, set_update_body, set_create_body, set_find_body, set_rel_request_body, set_update_status_body,
|
17
|
+
set_rel_prop_body)
|
16
18
|
from md_processing.md_processing_utils.extraction_utils import (extract_command_plus, update_a_command)
|
17
19
|
from md_processing.md_processing_utils.md_processing_constants import (load_commands, ERROR)
|
18
20
|
from pyegeria import DEBUG_LEVEL, body_slimmer
|
@@ -53,7 +55,7 @@ def add_member_to_data_collections(egeria_client: EgeriaTech, collection_list: l
|
|
53
55
|
Add member to data dictionaries and data specifications.
|
54
56
|
"""
|
55
57
|
body = {
|
56
|
-
"class": "
|
58
|
+
"class": "NewRelationshipRequestBody", "properties": {
|
57
59
|
"class": "CollectionMembershipProperties", "membershipRationale": "User Specified",
|
58
60
|
"notes": "Added by Dr.Egeria"
|
59
61
|
}
|
@@ -431,29 +433,9 @@ def process_data_spec_upsert_command(egeria_client: EgeriaTech, txt: str, direct
|
|
431
433
|
logger.debug(json.dumps(parsed_output, indent=4))
|
432
434
|
|
433
435
|
attributes = parsed_output['attributes']
|
434
|
-
|
435
|
-
|
436
|
-
anchor_guid = attributes.get('Anchor ID', {}).get('guid', None)
|
437
|
-
parent_guid = attributes.get('Parent ID', {}).get('guid', None)
|
438
|
-
parent_relationship_type_name = attributes.get('Parent Relationship Type Name', {}).get('value',
|
439
|
-
"CollectionMembership")
|
440
|
-
parent_at_end1 = attributes.get('Parent at End1', {}).get('value', True)
|
441
|
-
|
442
|
-
anchor_scope_guid = attributes.get('Anchor Scope GUID', {}).get('value', None)
|
443
|
-
is_own_anchor = attributes.get('Is Own Anchor', {}).get('value', True)
|
444
|
-
if parent_guid is None:
|
445
|
-
is_own_anchor = True
|
446
|
-
|
447
|
-
collection_type = attributes.get('Collection Type', {}).get('value', None)
|
448
|
-
|
449
|
-
replace_all_props = not attributes.get('Merge Update', {}).get('value', True)
|
450
|
-
|
451
|
-
additional_prop = attributes.get('Additional Properties', {}).get('value', None)
|
452
|
-
additional_properties = json.loads(additional_prop) if additional_prop is not None else None
|
453
|
-
extended_prop = attributes.get('Extended Properties', {}).get('value', None)
|
454
|
-
extended_properties = json.loads(extended_prop) if extended_prop is not None else None
|
436
|
+
display_name = attributes.get('Display Name', {}).get('value', "None Found")
|
437
|
+
status = attributes.get('Status', {}).get('value', None)
|
455
438
|
|
456
|
-
replace_all_props = not attributes.get('Merge Update', {}).get('value', True)
|
457
439
|
in_data_spec_list = attributes.get('In Data Specification', {}).get('value', None)
|
458
440
|
in_data_spec_valid = attributes.get('In Data Specification', {}).get('valid', None)
|
459
441
|
in_data_spec_exists = attributes.get('In Data Specification', {}).get('exists', None)
|
@@ -469,6 +451,7 @@ def process_data_spec_upsert_command(egeria_client: EgeriaTech, txt: str, direct
|
|
469
451
|
return valid
|
470
452
|
|
471
453
|
elif directive == "process":
|
454
|
+
|
472
455
|
try:
|
473
456
|
if object_action == "Update":
|
474
457
|
if not exists:
|
@@ -482,17 +465,20 @@ def process_data_spec_upsert_command(egeria_client: EgeriaTech, txt: str, direct
|
|
482
465
|
print(Markdown(
|
483
466
|
f"==> Validation of {command} completed successfully! Proceeding to apply the changes.\n"))
|
484
467
|
|
485
|
-
|
486
|
-
|
487
|
-
|
468
|
+
body = set_update_body(object_type, attributes)
|
469
|
+
body['properties'] = set_element_prop_body("Data Spec", qualified_name, attributes)
|
470
|
+
|
471
|
+
egeria_client.update_collection(guid, body)
|
472
|
+
if status:
|
473
|
+
egeria_client.update_collection_status(guid, status)
|
474
|
+
|
488
475
|
logger.success(f"Updated {object_type} `{display_name}` with GUID {guid}\n\n___")
|
489
476
|
update_element_dictionary(qualified_name, {
|
490
477
|
'guid': guid, 'display_name': display_name
|
491
|
-
|
492
|
-
return egeria_client.get_collection_by_guid(guid,
|
478
|
+
})
|
479
|
+
return egeria_client.get_collection_by_guid(guid, element_type='Data Specification',
|
493
480
|
output_format='MD')
|
494
481
|
|
495
|
-
|
496
482
|
elif object_action == "Create":
|
497
483
|
if valid is False and exists:
|
498
484
|
msg = (f" Data Specification `{display_name}` already exists and result document updated changing "
|
@@ -505,24 +491,27 @@ def process_data_spec_upsert_command(egeria_client: EgeriaTech, txt: str, direct
|
|
505
491
|
logger.error(msg)
|
506
492
|
return None
|
507
493
|
else:
|
508
|
-
|
509
|
-
|
510
|
-
|
511
|
-
|
512
|
-
|
494
|
+
body = set_create_body(object_type, attributes)
|
495
|
+
body["properties"] = set_element_prop_body(object_type, qualified_name, attributes)
|
496
|
+
parent_guid = body.get('parentGuid', None)
|
497
|
+
if parent_guid:
|
498
|
+
body['parentRelationshipTypeName'] = "CollectionMembership"
|
499
|
+
body['parentAtEnd1'] = True
|
500
|
+
|
501
|
+
guid = egeria_client.create_collection(body=body)
|
513
502
|
if guid:
|
514
503
|
update_element_dictionary(qualified_name, {
|
515
504
|
'guid': guid, 'display_name': display_name
|
516
|
-
|
505
|
+
})
|
517
506
|
msg = f"Created Element `{display_name}` with GUID {guid}\n\n___"
|
518
507
|
logger.success(msg)
|
519
|
-
return egeria_client.get_collection_by_guid(guid,
|
520
|
-
output_format='MD')
|
508
|
+
return egeria_client.get_collection_by_guid(guid, object_type, output_format='MD')
|
521
509
|
else:
|
522
510
|
msg = f"Failed to create element `{display_name}` with GUID {guid}\n\n___"
|
523
511
|
logger.error(msg)
|
524
512
|
return None
|
525
513
|
|
514
|
+
|
526
515
|
except Exception as e:
|
527
516
|
logger.error(f"Error performing {command}: {e}")
|
528
517
|
return None
|
@@ -644,8 +633,8 @@ def process_data_dict_upsert_command(egeria_client: EgeriaTech, txt: str, direct
|
|
644
633
|
|
645
634
|
|
646
635
|
@logger.catch
|
647
|
-
def process_data_structure_upsert_command(egeria_client: EgeriaTech, txt: str,
|
648
|
-
|
636
|
+
def process_data_structure_upsert_command(egeria_client: EgeriaTech, txt: str,
|
637
|
+
directive: str = "display") -> Optional[str]:
|
649
638
|
"""
|
650
639
|
Processes a data structure create or update object_action by extracting key attributes such as
|
651
640
|
spec name, parent_guid, parent_relationship_type, parent_at_end_1, category
|
@@ -655,9 +644,7 @@ def process_data_structure_upsert_command(egeria_client: EgeriaTech, txt: str, d
|
|
655
644
|
:param directive: an optional string indicating the directive to be used - display, validate or execute
|
656
645
|
:return: A string summarizing the outcome of the processing.
|
657
646
|
"""
|
658
|
-
from md_processing.md_processing_utils.common_md_utils import set_debug_level
|
659
647
|
|
660
|
-
set_debug_level(directive)
|
661
648
|
|
662
649
|
command, object_type, object_action = extract_command_plus(txt)
|
663
650
|
print(Markdown(f"# {command}\n"))
|
@@ -685,48 +672,16 @@ def process_data_structure_upsert_command(egeria_client: EgeriaTech, txt: str, d
|
|
685
672
|
elif directive == "process":
|
686
673
|
logger.debug(json.dumps(parsed_output, indent=4))
|
687
674
|
attributes = parsed_output['attributes']
|
688
|
-
|
689
|
-
|
690
|
-
|
691
|
-
|
692
|
-
|
693
|
-
|
694
|
-
|
695
|
-
|
696
|
-
|
697
|
-
|
698
|
-
parent_relationship_type_name = attributes.get('Parent Relationship Type Name', {}).get('value', None)
|
699
|
-
parent_relationship_properties = attributes.get('Parent Relationship Properties', {}).get('value', None)
|
700
|
-
parent_at_end1 = attributes.get('Parent at End1', {}).get('value', None)
|
701
|
-
|
702
|
-
display_name = attributes['Display Name'].get('value', None)
|
703
|
-
|
704
|
-
namespace = attributes.get('Namespace', {}).get('value', None)
|
705
|
-
description = attributes.get('Description', {}).get('value', None)
|
706
|
-
version_id = attributes.get('Version Identifier', {}).get('value', None)
|
707
|
-
aliases = attributes.get('Aliases', {}).get('value', None)
|
708
|
-
name_patterns = attributes.get('Name Patterns', {}).get('value', None)
|
709
|
-
is_nullable = attributes.get('Is Nullable', {}).get('value', None)
|
710
|
-
default_value = attributes.get('Default Value', {}).get('value', None)
|
711
|
-
data_type = attributes.get('Data Type', {}).get('value', None)
|
712
|
-
min_length = attributes.get('Minimum Length', {}).get('value', None)
|
713
|
-
length = attributes.get('Length', {}).get('value', None)
|
714
|
-
precision = attributes.get('Precision', {}).get('value', None)
|
715
|
-
ordered_values = attributes.get('Ordered Values', {}).get('value', None)
|
716
|
-
sort_order = attributes.get('Sort Order', {}).get('value', None)
|
717
|
-
additional_properties = attributes.get('Additional Properties', {}).get('value', None)
|
718
|
-
effective_from = attributes.get('Effective From', {}).get('value', None)
|
719
|
-
effective_to = attributes.get('Effective To', {}).get('value', None)
|
720
|
-
|
721
|
-
position = attributes.get('Position', {}).get('value', None)
|
722
|
-
min_cardinality = attributes.get('Minimum Cardinality', {}).get('value', None)
|
723
|
-
max_cardinality = attributes.get('Maximum Cardinality', {}).get('value', None)
|
724
|
-
in_data_structure = attributes.get('In Data Structure', {}).get('value', None)
|
725
|
-
data_class = attributes.get('Data Class', {}).get('value', None)
|
726
|
-
glossary_term = attributes.get('Glossary Term', {}).get('value', None)
|
727
|
-
glossary_term_guid = attributes.get('Glossary Term', {}).get('guid', None)
|
728
|
-
|
729
|
-
# name_details_list = attributes.get("dict_list", None)
|
675
|
+
display_name = attributes.get('Display Name', {}).get('value', None)
|
676
|
+
qualified_name = attributes.get('Qualified Name',{}).get('value', None)
|
677
|
+
if qualified_name is None:
|
678
|
+
qualified_name = attributes.get('Display Name',{}).get('qualified_name', None)
|
679
|
+
if qualified_name is None:
|
680
|
+
logger.error(f"Element `{display_name}` does not have a valid specification? No qualified name..Review..\n\n___ ")
|
681
|
+
return None
|
682
|
+
prop_body = set_element_prop_body(object_type, qualified_name, attributes)
|
683
|
+
prop_body['namespace'] = attributes.get('Namespace', {}).get('value', None)
|
684
|
+
display_name = attributes.get('Display Name',{}).get('value', None)
|
730
685
|
|
731
686
|
data_spec_name_list = attributes.get("In Data Specification", {}).get("name_list", "")
|
732
687
|
data_spec_value = attributes.get("In Data Specification", {}).get("value", None)
|
@@ -736,79 +691,58 @@ def process_data_structure_upsert_command(egeria_client: EgeriaTech, txt: str, d
|
|
736
691
|
data_dict_name_list = attributes.get('In Data Dictionary', {}).get('name_list', "")
|
737
692
|
data_dict_value_list = attributes.get('In Data Dictionary', {}).get('value', None)
|
738
693
|
data_dict_guid_list = attributes.get("In Data Dictionary", {}).get("guid_list", None)
|
739
|
-
|
740
|
-
parent_data_field = attributes.get('Parent Data Field', {}).get('value', None)
|
741
|
-
parent_data_field_guid = attributes.get('Parent Data Field', {}).get('guid', None)
|
742
|
-
|
743
|
-
anchor_scope_guid = attributes.get('Anchor Scope GUID', {}).get('value', None)
|
744
|
-
|
745
|
-
collection_type = object_type
|
746
|
-
replace_all_props = True
|
747
|
-
if not valid:
|
748
|
-
if exists and object_action == "Create":
|
749
|
-
msg = (f"Create failed because Element `{display_name}` exists - changing `Create` to `Update` in "
|
750
|
-
f"processed output \n\n___")
|
751
|
-
logger.error(msg)
|
752
|
-
return update_a_command(txt, object_action, object_type, qualified_name, guid)
|
753
|
-
else:
|
754
|
-
return None
|
755
|
-
elif object_action == "Update" and not exists:
|
756
|
-
logger.error(f"Element `{display_name}` does not exist! Updating result document with Create "
|
757
|
-
f"object_action\n\n___")
|
758
|
-
return update_a_command(txt, object_action, object_type, qualified_name, guid)
|
759
|
-
|
760
|
-
else:
|
761
|
-
print(Markdown(f"==> Validation of {command} completed successfully! Proceeding to apply the changes.\n"))
|
694
|
+
merge_update = attributes.get('Merge Update', {}).get('value', True)
|
762
695
|
|
763
696
|
try:
|
764
697
|
if object_action == "Update":
|
765
|
-
|
766
|
-
"
|
767
|
-
|
768
|
-
|
769
|
-
|
770
|
-
|
771
|
-
|
772
|
-
|
773
|
-
|
774
|
-
|
775
|
-
|
776
|
-
|
777
|
-
|
778
|
-
|
779
|
-
|
780
|
-
|
698
|
+
if not exists:
|
699
|
+
logger.error(f"Element `{qualified_name}` does not exist! Updating result document with Create "
|
700
|
+
f"object_action\n\n___")
|
701
|
+
return update_a_command(txt, object_action, object_type, qualified_name, guid)
|
702
|
+
elif not valid:
|
703
|
+
logger.error(f"Element `{qualified_name}` does not have a valid specification? Review..\n\n___ ")
|
704
|
+
return None
|
705
|
+
else:
|
706
|
+
update_body = set_update_body(object_type,attributes)
|
707
|
+
update_body['properties'] = prop_body
|
708
|
+
egeria_client.update_data_structure(guid, update_body)
|
709
|
+
update_element_dictionary(qualified_name, {
|
710
|
+
'guid': guid, 'display_name': display_name
|
711
|
+
})
|
712
|
+
logger.success(f"Updated {object_type} `{display_name}` with GUID {guid}\n\n___")
|
713
|
+
|
714
|
+
core_props = egeria_client.get_data_structure_by_guid(guid, output_format='MD')
|
715
|
+
|
716
|
+
update_element_dictionary(qualified_name, {
|
717
|
+
'guid': guid, 'display_name': display_name
|
781
718
|
})
|
782
719
|
|
783
|
-
|
784
|
-
|
785
|
-
|
786
|
-
|
787
|
-
|
788
|
-
|
720
|
+
update_data_collection_memberships(egeria_client, object_type, data_spec_guid_list, "DataSpec", guid,
|
721
|
+
display_name, merge_update)
|
722
|
+
core_props += f"## In Data Dictionary\n\n{data_dict_name_list}\n\n"
|
723
|
+
core_props += f"## In Data Specification\n\n{data_spec_name_list}\n\n"
|
724
|
+
logger.success(f"Updated {object_type} `{display_name}` with GUID {guid}\n\n___")
|
725
|
+
return core_props
|
726
|
+
|
727
|
+
|
728
|
+
if not valid:
|
729
|
+
if exists and object_action == "Create":
|
730
|
+
msg = (f"Create failed because Element `{display_name}` exists - changing `Create` to `Update` in "
|
731
|
+
f"processed output \n\n___")
|
732
|
+
logger.error(msg)
|
733
|
+
return update_a_command(txt, object_action, object_type, qualified_name, guid)
|
734
|
+
else:
|
735
|
+
return None
|
736
|
+
|
789
737
|
|
790
738
|
elif object_action == "Create":
|
791
739
|
if exists:
|
792
740
|
logger.warning(f"\nTerm `{display_name}` already exists and result document updated\n\n___")
|
793
741
|
return update_a_command(txt, object_action, object_type, qualified_name, guid)
|
794
742
|
else:
|
795
|
-
|
796
|
-
body =
|
797
|
-
|
798
|
-
"externalSourceName": external_source_name, "effectiveTime": effective_time,
|
799
|
-
"forLineage": False, "forDuplicateProcessing": False, "anchorGUID": anchor_guid,
|
800
|
-
"isOwnAnchor": is_own_anchor, "parentGUID": parent_guid,
|
801
|
-
"parentRelationshipTypeName": parent_relationship_type_name,
|
802
|
-
"parentRelationshipProperties": parent_relationship_properties, "parentAtEnd1": parent_at_end1,
|
803
|
-
"properties": {
|
804
|
-
"class": "DataStructureProperties", "qualifiedName": qualified_name,
|
805
|
-
"displayName": display_name, "description": description, "namespace": namespace,
|
806
|
-
"versionIdentifier": version_id, "additionalProperties": additional_properties,
|
807
|
-
"effectiveFrom": effective_from, "effectiveTo": effective_to
|
808
|
-
}
|
809
|
-
}
|
810
|
-
|
811
|
-
guid = egeria_client.create_data_structure_w_body(body_slimmer(body))
|
743
|
+
body = set_create_body(object_type, attributes)
|
744
|
+
body['properties'] = prop_body
|
745
|
+
guid = egeria_client.create_data_structure(body_slimmer(body))
|
812
746
|
if guid:
|
813
747
|
update_element_dictionary(qualified_name, {
|
814
748
|
'guid': guid, 'display_name': display_name
|
@@ -834,12 +768,11 @@ def process_data_structure_upsert_command(egeria_client: EgeriaTech, txt: str, d
|
|
834
768
|
logger.error(f"Failed to create Data Structure `{display_name}`\n\n___")
|
835
769
|
return None
|
836
770
|
|
837
|
-
|
838
771
|
except Exception as e:
|
839
772
|
logger.error(f"Error performing {object_action}: {e}\n\n___")
|
840
773
|
return None
|
841
|
-
|
842
|
-
|
774
|
+
else:
|
775
|
+
return None
|
843
776
|
|
844
777
|
|
845
778
|
@logger.catch
|
@@ -1461,7 +1394,8 @@ def process_data_collection_list_command(egeria_client: EgeriaTech, txt: str, di
|
|
1461
1394
|
return None
|
1462
1395
|
|
1463
1396
|
|
1464
|
-
def process_data_structure_list_command(egeria_client: EgeriaTech, txt: str,
|
1397
|
+
def process_data_structure_list_command(egeria_client: EgeriaTech, txt: str,
|
1398
|
+
directive: str = "display") -> Optional[
|
1465
1399
|
str]:
|
1466
1400
|
"""
|
1467
1401
|
Processes a Data Dictionary list object_action by extracting key attributes such as
|
@@ -1495,9 +1429,10 @@ def process_data_structure_list_command(egeria_client: EgeriaTech, txt: str, dir
|
|
1495
1429
|
|
1496
1430
|
elif directive == "process":
|
1497
1431
|
attributes = parsed_output['attributes']
|
1432
|
+
body = set_find_body(object_type, attributes)
|
1498
1433
|
search_string = attributes.get('Search String', {}).get('value', '*')
|
1434
|
+
output_format_set = attributes.get('Output Format Set', {}).get('value', 'Data Structure')
|
1499
1435
|
output_format = attributes.get('Output Format', {}).get('value', 'LIST')
|
1500
|
-
detailed = attributes.get('Detailed', {}).get('value', False)
|
1501
1436
|
|
1502
1437
|
try:
|
1503
1438
|
if not valid: # First validate the command before we process it
|
@@ -1506,7 +1441,7 @@ def process_data_structure_list_command(egeria_client: EgeriaTech, txt: str, dir
|
|
1506
1441
|
return None
|
1507
1442
|
|
1508
1443
|
list_md = f"\n# `{object_type}` with filter: `{search_string}`\n\n"
|
1509
|
-
struct = egeria_client.find_data_structures(search_string, output_format=output_format)
|
1444
|
+
struct = egeria_client.find_data_structures(search_string, body = body, output_format=output_format, output_format_set=output_format_set )
|
1510
1445
|
|
1511
1446
|
if output_format == "DICT":
|
1512
1447
|
list_md += f"```\n{json.dumps(struct, indent=4)}\n```\n"
|
@@ -953,7 +953,7 @@ def process_attach_subscriber_command(egeria_client: EgeriaTech, txt: str,
|
|
953
953
|
logger.debug(json.dumps(parsed_output, indent=4))
|
954
954
|
|
955
955
|
attributes = parsed_output['attributes']
|
956
|
-
subscriber_guid = attributes.get('Subscriber', {}).get('guid', None)
|
956
|
+
subscriber_guid = attributes.get('Subscriber Id', {}).get('guid', None)
|
957
957
|
subscription_guid = attributes.get('Subscription', {}).get('guid', None)
|
958
958
|
|
959
959
|
valid = parsed_output['valid']
|
@@ -216,23 +216,17 @@ def find_key_with_value(value: str) -> str | None:
|
|
216
216
|
|
217
217
|
def set_find_body(object_type: str, attributes: dict)->dict:
|
218
218
|
prop_name = object_type.replace(" ", "")
|
219
|
-
|
220
|
-
|
221
|
-
start_from = int(start) if start else 0
|
222
|
-
page = attributes.get('Page Size', {}).get('value', 0)
|
223
|
-
page_size = int(page) if page else 0
|
224
|
-
depth = attributes.get('Graph Query Depth', {}).get('value', 0)
|
225
|
-
depth = int(depth) if depth else 0
|
226
|
-
|
219
|
+
s = attributes.get('Search String', {}).get('value', None)
|
220
|
+
search_string = None if s =='*' else s
|
227
221
|
|
228
222
|
|
229
223
|
body = {
|
230
224
|
"class": "SearchStringRequestBody",
|
231
|
-
"searchString":
|
225
|
+
"searchString": search_string,
|
232
226
|
"startsWith": attributes.get('Start With', {}).get('value', True),
|
233
227
|
"endWith": attributes.get('End With', {}).get('value', False),
|
234
228
|
"ignoreCase": attributes.get('Ignore Case', {}).get('value', False),
|
235
|
-
"limitResultsByStatus": attributes.get('Limit Results By Status', {}).get('value',
|
229
|
+
"limitResultsByStatus": attributes.get('Limit Results By Status', {}).get('value', []),
|
236
230
|
"startFrom": int(attributes.get('Start From', {}).get('value', 0)),
|
237
231
|
"pageSize": int(attributes.get('Page Size', {}).get('value', 0)),
|
238
232
|
# "metadataElementSubtypeNames": attributes.get('Metadata Element Subtype Name', {}).get('value', None),
|
@@ -240,8 +234,7 @@ def set_find_body(object_type: str, attributes: dict)->dict:
|
|
240
234
|
"effectiveTime": attributes.get('Effective Time', {}).get('value', None),
|
241
235
|
"governanceZoneFilter" : attributes.get('Governance Zone Filter', {}).get('value', None),
|
242
236
|
"graphQueryDepth": int(attributes.get('Graph Query Depth', {}).get('value', 0)),
|
243
|
-
|
244
|
-
"initialClassifications": {}}
|
237
|
+
}
|
245
238
|
|
246
239
|
return body
|
247
240
|
|