pyegeria 5.3.9.5__py3-none-any.whl → 5.3.9.7__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.
- {pyegeria/commands → commands}/cat/Dr-Egeria_md-orig.py +10 -11
- {pyegeria/commands → commands}/cat/dr_egeria_jupyter.py +4 -4
- {pyegeria/commands → commands}/cat/dr_egeria_md.py +36 -16
- {pyegeria/commands → commands}/cat/list_categories.py +3 -3
- {pyegeria/commands → commands}/cat/list_collections.py +59 -16
- commands/cat/list_data_structures.py +223 -0
- {pyegeria/commands → commands}/cat/list_glossaries.py +3 -3
- {pyegeria/commands → commands}/cat/list_terms.py +4 -4
- {pyegeria/commands → commands}/cli/__init__.py +1 -1
- {pyegeria/commands → commands}/cli/egeria.py +91 -87
- {pyegeria/commands → commands}/cli/egeria_cat.py +29 -29
- {pyegeria/commands → commands}/cli/egeria_login_tui.py +1 -1
- {pyegeria/commands → commands}/cli/egeria_my.py +8 -8
- {pyegeria/commands → commands}/cli/egeria_ops.py +24 -24
- {pyegeria/commands → commands}/cli/egeria_tech.py +34 -34
- commands/tech/generic_actions.py +74 -0
- {pyegeria/commands → commands}/tech/list_information_supply_chains.py +3 -1
- pyegeria/__init__.py +11 -9
- pyegeria/_client.py +2 -49
- pyegeria/collection_manager_omvs.py +484 -735
- pyegeria/data_designer_omvs.py +251 -103
- pyegeria/egeria_client.py +5 -0
- pyegeria/egeria_tech_client.py +10 -1
- pyegeria/glossary_browser_omvs.py +144 -260
- pyegeria/md_processing_helpers.py +1 -1
- pyegeria/md_processing_utils.py +114 -32
- pyegeria/md_processing_utils_orig.py +19 -19
- pyegeria/mermaid_utilities.py +2 -2
- pyegeria/output_formatter.py +389 -0
- {pyegeria-5.3.9.5.dist-info → pyegeria-5.3.9.7.dist-info}/METADATA +1 -1
- pyegeria-5.3.9.7.dist-info/RECORD +141 -0
- pyegeria-5.3.9.7.dist-info/entry_points.txt +99 -0
- pyegeria/commands/README.md +0 -47
- pyegeria/commands/__init__.py +0 -30
- pyegeria/commands/cat/dr_egeria_inbox/glossary_creation_experiment.ipynb +0 -341
- pyegeria/commands/doc/README.md +0 -145
- pyegeria/commands/doc/Visual Command Reference/README.md +0 -511
- pyegeria/commands/doc/Visual Command Reference/cat/show/assets/asset-graph 2024-11-20 at 15.56.42.png +0 -0
- pyegeria/commands/doc/Visual Command Reference/cat/show/assets/assets-in-domain 2024-11-20 at 15.49.55@2x.png +0 -0
- pyegeria/commands/doc/Visual Command Reference/cat/show/assets/elements-of-type 2024-11-20 at 16.01.35.png +0 -0
- pyegeria/commands/doc/Visual Command Reference/cat/show/assets/tech-type-elements 2024-11-20 at 16.05.05.png +0 -0
- pyegeria/commands/doc/Visual Command Reference/cat/show/deployed-data/deployed-data-catalogs 2024-12-17 at 15.43.27@2x.png +0 -0
- pyegeria/commands/doc/Visual Command Reference/cat/show/deployed-data/deployed-data-catalogs-2024-11-20 at 16.17.43@2x.png +0 -0
- pyegeria/commands/doc/Visual Command Reference/cat/show/deployed-data/deployed-schemas 2024-11-25 at 20.14.50@2x.png +0 -0
- pyegeria/commands/doc/Visual Command Reference/cat/show/deployed-data/deployed-schemas 2024-12-17 at 15.48.38@2x.png +0 -0
- pyegeria/commands/doc/Visual Command Reference/cat/show/deployed-data/deployed-servers 2024-11-25 at 20.21.25@2x.png +0 -0
- pyegeria/commands/doc/Visual Command Reference/cat/show/deployed-data/deployed-servers 2024-12-17 at 15.52.16@2x.png +0 -0
- pyegeria/commands/doc/Visual Command Reference/cat/show/deployed-data/deployed_databases 2024-12-16 at 16.40.31@2x.png +0 -0
- pyegeria/commands/doc/Visual Command Reference/cat/show/glossary/list-glossaries 2024-11-25 at 20.30.02.png +0 -0
- pyegeria/commands/doc/Visual Command Reference/cat/show/glossary/list-terms 2024-11-25 at 20.32.11.png +0 -0
- pyegeria/commands/doc/Visual Command Reference/cat/show/info/asset-types 2024-11-25 at 20.34.19@2x.png +0 -0
- pyegeria/commands/doc/Visual Command Reference/cat/show/info/certification-types 2024-11-25 at 20.37.07.png +0 -0
- pyegeria/commands/doc/Visual Command Reference/cat/show/info/collection-graph 2024-12-12 at 11.33.18@2x.png +0 -0
- pyegeria/commands/doc/Visual Command Reference/cat/show/info/list-collections 2024-12-10 at 14.25.51@2x.png +0 -0
- pyegeria/commands/doc/Visual Command Reference/cat/show/info/list-todos 2024-12-12 at 11.46.30@2x.png +0 -0
- pyegeria/commands/doc/Visual Command Reference/cat/show/info/list-user-ids 2024-12-12 at 11.51.09@2x.png +0 -0
- pyegeria/commands/doc/Visual Command Reference/cat/show/info/tech-types 2024-12-12 at 11.37.20@2x.png +0 -0
- pyegeria/commands/doc/Visual Command Reference/cat/show/projects/project_dependencies 2024-12-14 at 16.24.39@2x.png +0 -0
- pyegeria/commands/doc/Visual Command Reference/cat/show/projects/project_structure 2024-12-14 at 16.21.35@2x.png +0 -0
- pyegeria/commands/doc/Visual Command Reference/cat/show/projects/projects 2024-12-14 at 16.18.10@2x.png +0 -0
- pyegeria/commands/doc/Visual Command Reference/hey_egeria tui 2024-12-16 at 16.58.22@2x.png +0 -0
- pyegeria/commands/doc/Visual Command Reference/my/show/my_profile 2024-12-14 at 16.29.27@2x.png +0 -0
- pyegeria/commands/doc/Visual Command Reference/my/show/my_roles 2024-12-14 at 16.32.10@2x.png +0 -0
- pyegeria/commands/doc/Visual Command Reference/my/show/my_todos 2024-12-15 at 16.24.13@2x.png +0 -0
- pyegeria/commands/doc/Visual Command Reference/my/show/open_todos 2024-12-14 at 16.36.12@2x.png +0 -0
- pyegeria/commands/doc/Visual Command Reference/ops/show/engines/list_engine_activity compressed 2024-12-15 at 16.48.48@2x.png +0 -0
- pyegeria/commands/doc/Visual Command Reference/ops/show/engines/monitor_engine_activity 2024-12-15 at 16.32.55@2x.png +0 -0
- pyegeria/commands/doc/Visual Command Reference/ops/show/engines/monitor_engine_activity compressed 2024-12-15 at 16.38.29@2x.png +0 -0
- pyegeria/commands/doc/Visual Command Reference/ops/show/engines/monitor_engine_status 2024-12-15 at 16.51.26.jpeg +0 -0
- pyegeria/commands/doc/Visual Command Reference/ops/show/integrations/monitor_integration_daemon_status 2024-12-15 at 16.57.12@2x.png +0 -0
- pyegeria/commands/doc/Visual Command Reference/ops/show/integrations/monitor_integration_targets 2024-12-15 at 17.02.19@2x.png +0 -0
- pyegeria/commands/doc/Visual Command Reference/ops/show/platforms/monitor_platform_status 2024-12-15 at 19.53.18@2x.png +0 -0
- pyegeria/commands/doc/Visual Command Reference/ops/show/servers/monitor_server_status 2024-12-15 at 19.59.39@2x.png +0 -0
- pyegeria/commands/doc/Visual Command Reference/ops/show/servers/monitor_server_status full 2024-12-15 at 20.01.57@2x.png +0 -0
- pyegeria/commands/doc/Visual Command Reference/ops/show/servers/monitor_startup_servers 2024-12-15 at 19.56.07@2x.png +0 -0
- pyegeria/commands/doc/Visual Command Reference/tech/show/elements/get_anchored_elements 2024-12-15 at 21.25.41@2x.png +0 -0
- pyegeria/commands/doc/Visual Command Reference/tech/show/elements/get_elements_of_om_type 2024-12-16 at 14.39.59@2x.png +0 -0
- pyegeria/commands/doc/Visual Command Reference/tech/show/elements/info_for_guid 2024-12-16 at 11.35.29@2x.png +0 -0
- pyegeria/commands/doc/Visual Command Reference/tech/show/elements/list_elements_by_om-type 2024-12-16 at 14.24.18@2x.png +0 -0
- pyegeria/commands/doc/Visual Command Reference/tech/show/elements/list_elements_by_om-type extended 2024-12-16 at 14.28.46@2x.png +0 -0
- pyegeria/commands/doc/Visual Command Reference/tech/show/elements/list_elements_of_om_type_by_classification 2024-12-16 at 14.35.26@2x.png +0 -0
- pyegeria/commands/doc/Visual Command Reference/tech/show/elements/related_elements 2024-12-16 at 14.55.01@2x.png +0 -0
- pyegeria/commands/doc/Visual Command Reference/tech/show/elements/show_related_specifications 2024-12-16 at 15.04.55@2x.png +0 -0
- pyegeria/commands/doc/Visual Command Reference/tech/show/tech-info/asset_types 2024-12-16 at 15.10.16@2x.png +0 -0
- pyegeria/commands/doc/Visual Command Reference/tech/show/tech-info/detailed_governance_action_processes 2024-12-16 at 15.16.26@2x.png +0 -0
- pyegeria/commands/doc/Visual Command Reference/tech/show/tech-info/governance_action_processes 2024-12-16 at 15.13.01@2x.png +0 -0
- pyegeria/commands/doc/Visual Command Reference/tech/show/tech-info/registered_services 2024-12-16 at 16.44.54@2x.png +0 -0
- pyegeria/commands/doc/Visual Command Reference/tech/show/tech-info/relationship_types 2024-12-16 at 16.20.34@2x.png +0 -0
- pyegeria/commands/doc/Visual Command Reference/tech/show/tech-info/relationship_types 2024-12-19 at 10.51.54@2x.png +0 -0
- pyegeria/commands/doc/Visual Command Reference/tech/show/tech-info/valid_metadata_values 2024-12-16 at 15.31.56@2x.png +0 -0
- pyegeria/commands/doc/Visual Command Reference/tech/show/tech-types/list_tech_type_template_specs 2024-12-16 at 16.03.22@2x.png +0 -0
- pyegeria/commands/doc/Visual Command Reference/tech/show/tech-types/list_technology_types 2024-12-16 at 15.39.20@2x.png +0 -0
- pyegeria/commands/doc/Visual Command Reference/tech/show/tech-types/tech_type_details 2024-12-16 at 15.37.21@2x.png +0 -0
- pyegeria/commands/doc/Visual Command Reference/tech/show/tech-types/tech_type_templates 2024-12-16 at 16.11.48@2x.png +0 -0
- pyegeria/commands/doc/glossary/basic-glossary-tui.md +0 -109
- pyegeria/commands/doc/glossary/images/delete-glossary-step1 2024-11-06 at 15.47.23@2x.png +0 -0
- pyegeria/commands/doc/glossary/images/delete-glossary-step2 2024-11-06 at 15.51.29@2x.png +0 -0
- pyegeria/commands/doc/glossary/images/delete-glossary-step3 2024-11-06 at 15.53.19@2x.png +0 -0
- pyegeria/commands/doc/glossary/images/delete-glossary-step4 2024-11-06 at 15.55.11@2x.png +0 -0
- pyegeria/commands/doc/glossary/images/out-create-glossary example 2024-11-05 at 20.38.04@2x.png +0 -0
- pyegeria/commands/doc/glossary/images/out-create-term 2024-11-06 at 20.48.29.png +0 -0
- pyegeria/commands/doc/glossary/images/out-delete-term 2024-11-07 at 03.57.25.png +0 -0
- pyegeria/commands/doc/glossary/images/out-display-terms-for-glossary-test 2024-11-06 at 20.51.28.png +0 -0
- pyegeria/commands/doc/glossary/images/out-export-example 2024-11-07 at 09.54.57.png +0 -0
- pyegeria/commands/doc/glossary/images/out-exported-terms 2024-11-06 at 21.06.32.png +0 -0
- pyegeria/commands/doc/glossary/images/out-glossary-list example 2024-11-05 at 20.41.02@2x.png +0 -0
- pyegeria/commands/doc/glossary/images/out-import-terms 2024-11-07 at 08.15.18.png +0 -0
- pyegeria/commands/doc/glossary/images/out-list-all-terms 2024-11-06 at 16.22.20@2x.png +0 -0
- pyegeria/commands/doc/glossary/images/out-list-terms-for-example 2024-11-06 at 16.40.12.png +0 -0
- pyegeria/commands/doc/glossary/images/out-list-terms-second 2024-11-06 at 16.45.13.png +0 -0
- pyegeria/commands/doc/glossary/images/out-pipx install pyegeria 2024-11-10 at 18.12.21.png +0 -0
- pyegeria/commands/doc/glossary/images/out-server-status-full 2024-11-10 at 18.25.14.png +0 -0
- pyegeria/commands/doc/glossary/images/out-servers-status 2024-11-10 at 18.15.42.png +0 -0
- pyegeria/commands/doc/glossary/images/out-upsert-import 2024-11-07 at 19.37.00.png +0 -0
- pyegeria/commands/doc/glossary/images/tui-2024-11-10 at 18.26.29.png +0 -0
- pyegeria/commands/doc/glossary/images/tui-create-glossary example 2024-11-05 at 20.34.24@2x.png +0 -0
- pyegeria/commands/doc/glossary/images/tui-create-term 2024-11-06 at 20.46.35.png +0 -0
- pyegeria/commands/doc/glossary/images/tui-delete-term 2024-11-07 at 03.51.57.png +0 -0
- pyegeria/commands/doc/glossary/images/tui-display-terms-for-example 2024-11-06 at 20.56.49.png +0 -0
- pyegeria/commands/doc/glossary/images/tui-export-example 2024-11-07 at 09.52.59.png +0 -0
- pyegeria/commands/doc/glossary/images/tui-hey-egeria 2024-11-10 at 18.31.01.png +0 -0
- pyegeria/commands/doc/glossary/images/tui-import-upsert-example 2024-11-07 at 10.08.37.png +0 -0
- pyegeria/commands/doc/glossary/images/tui-list-terms-second 2024-11-06 at 16.46.34.png +0 -0
- pyegeria/commands/doc/glossary/images/tui-load-archive.png +0 -0
- pyegeria/commands/doc/glossary/images/tui-server-status-full 2024-11-10 at 19.14.36.png +0 -0
- pyegeria/commands/doc/glossary/images/tui-show-glossaries 2024-11-07 at 20.00.05.png +0 -0
- pyegeria/commands/doc/glossary/images/tui-show-glossary-terms 2024-11-05 at 19.37.53@2x.png +0 -0
- pyegeria/commands/doc/glossary/images/tui-upsert 2024-11-07 at 11.49.04.png +0 -0
- pyegeria/commands/doc/glossary/images/upsert-example.om-terms 2024-11-07 at 11.44.05.png +0 -0
- pyegeria/commands/doc/hey_egeria: a pyegeria command line interface/README.md +0 -346
- pyegeria/commands/doc/hey_egeria: a pyegeria command line interface/images/CleanShot 2024-11-18 at 21.32.03@2x.png +0 -0
- pyegeria/commands/doc/hey_egeria: a pyegeria command line interface/images/Xmind 1731421782704.png +0 -0
- pyegeria/commands/doc/hey_egeria: a pyegeria command line interface/images/Xmind 1731422134920.png +0 -0
- pyegeria/commands/doc/hey_egeria: a pyegeria command line interface/images/hey_egeria 2024-11-12 at 20.38.43.png +0 -0
- pyegeria/commands/doc/hey_egeria: a pyegeria command line interface/images/hey_egeria cat 2024-11-12 at 21.41.43.png +0 -0
- pyegeria/commands/doc/hey_egeria: a pyegeria command line interface/images/out-integ-status-list 2024-11-12 at 16.45.26.png +0 -0
- pyegeria/commands/doc/hey_egeria: a pyegeria command line interface/images/out-integ-status-live 2024-11-12 at 16.44.12@2x.png +0 -0
- pyegeria/commands/doc/hey_egeria: a pyegeria command line interface/images/out-server-status 2024-11-10 at 18.15.42@2x.png +0 -0
- pyegeria/commands/doc/hey_egeria: a pyegeria command line interface/images/out-server-status-full 2024-11-10 at 18.25.14@2x.png +0 -0
- pyegeria/commands/doc/hey_egeria: a pyegeria command line interface/images/short-cut commands 2024-11-12 at 22.22.13.png +0 -0
- pyegeria/commands/doc/hey_egeria: a pyegeria command line interface/images/tui-hey-egeria.png +0 -0
- pyegeria/commands/doc/hey_egeria: a pyegeria command line interface/images/tui-integration-status-paging.png +0 -0
- pyegeria/commands/doc/hey_egeria: a pyegeria command line interface/images/tui-load-archive 2024-11-10 at 19.19.09@2x.png +0 -0
- pyegeria/commands/doc/hey_egeria: a pyegeria command line interface/images/tui-show-server-status 2024-11-10 at 18.52.01@2x.png +0 -0
- pyegeria/commands/doc/hey_egeria: a pyegeria command line interface/images/tui-show-server-status-full 2024-11-10.png +0 -0
- pyegeria/commands/doc/hey_egeria: a pyegeria command line interface/images/tui-status-paging 2024-11-12 at 16.26.14@2x.png +0 -0
- pyegeria/dr_egeria_state.py +0 -67
- pyegeria/md_processing/__init__.py +0 -51
- pyegeria/md_processing/commands/__init__.py +0 -3
- pyegeria/md_processing/commands/blueprint_commands.py +0 -307
- pyegeria/md_processing/commands/category_commands.py +0 -242
- pyegeria/md_processing/commands/glossary_commands.py +0 -225
- pyegeria/md_processing/commands/project_commands.py +0 -169
- pyegeria/md_processing/commands/term_commands.py +0 -524
- pyegeria/md_processing/utils/__init__.py +0 -3
- pyegeria/md_processing/utils/common_utils.py +0 -101
- pyegeria/md_processing/utils/display_utils.py +0 -53
- pyegeria/md_processing/utils/extraction_utils.py +0 -177
- pyegeria/md_processing/utils/validation_utils.py +0 -208
- pyegeria-5.3.9.5.dist-info/RECORD +0 -265
- pyegeria-5.3.9.5.dist-info/entry_points.txt +0 -98
- {pyegeria/commands → commands}/cat/README.md +0 -0
- {pyegeria/commands → commands}/cat/__init__.py +0 -0
- {pyegeria/commands → commands}/cat/exp_list_glossaries.py +0 -0
- {pyegeria/commands → commands}/cat/get_asset_graph.py +0 -0
- {pyegeria/commands → commands}/cat/get_collection.py +0 -0
- {pyegeria/commands → commands}/cat/get_project_dependencies.py +0 -0
- {pyegeria/commands → commands}/cat/get_project_structure.py +0 -0
- {pyegeria/commands → commands}/cat/get_tech_type_elements.py +0 -0
- {pyegeria/commands → commands}/cat/glossary_actions.py +0 -0
- {pyegeria/commands → commands}/cat/list_assets.py +0 -0
- {pyegeria/commands → commands}/cat/list_cert_types.py +0 -0
- {pyegeria/commands → commands}/cat/list_deployed_catalogs.py +0 -0
- {pyegeria/commands → commands}/cat/list_deployed_database_schemas.py +0 -0
- {pyegeria/commands → commands}/cat/list_deployed_databases.py +0 -0
- {pyegeria/commands → commands}/cat/list_deployed_servers.py +0 -0
- {pyegeria/commands → commands}/cat/list_projects.py +0 -0
- {pyegeria/commands → commands}/cat/list_tech_type_elements.py +0 -0
- {pyegeria/commands → commands}/cat/list_tech_types.py +0 -0
- {pyegeria/commands → commands}/cat/list_todos.py +0 -0
- {pyegeria/commands → commands}/cat/list_user_ids.py +0 -0
- {pyegeria/commands → commands}/cli/ops_config.py +0 -0
- {pyegeria/commands → commands}/cli/txt_custom_v2.tcss +0 -0
- {pyegeria/commands → commands}/my/README.md +0 -0
- {pyegeria/commands → commands}/my/__init__.py +0 -0
- {pyegeria/commands → commands}/my/list_my_profile.py +0 -0
- {pyegeria/commands → commands}/my/list_my_roles.py +0 -0
- {pyegeria/commands → commands}/my/monitor_my_todos.py +0 -0
- {pyegeria/commands → commands}/my/monitor_open_todos.py +0 -0
- {pyegeria/commands → commands}/my/todo_actions.py +0 -0
- {pyegeria/commands → commands}/ops/README.md +0 -0
- {pyegeria/commands → commands}/ops/__init__.py +0 -0
- {pyegeria/commands → commands}/ops/gov_server_actions.py +0 -0
- {pyegeria/commands → commands}/ops/list_archives.py +0 -0
- {pyegeria/commands → commands}/ops/list_catalog_targets.py +0 -0
- {pyegeria/commands → commands}/ops/load_archive.py +0 -0
- {pyegeria/commands → commands}/ops/monitor_asset_events.py +0 -0
- {pyegeria/commands → commands}/ops/monitor_engine_activity.py +0 -0
- {pyegeria/commands → commands}/ops/monitor_engine_activity_c.py +0 -0
- {pyegeria/commands → commands}/ops/monitor_gov_eng_status.py +0 -0
- {pyegeria/commands → commands}/ops/monitor_integ_daemon_status.py +0 -0
- {pyegeria/commands → commands}/ops/monitor_platform_status.py +0 -0
- {pyegeria/commands → commands}/ops/monitor_server_startup.py +0 -0
- {pyegeria/commands → commands}/ops/monitor_server_status.py +0 -0
- {pyegeria/commands → commands}/ops/orig_monitor_server_list.py +0 -0
- {pyegeria/commands → commands}/ops/orig_monitor_server_status.py +0 -0
- {pyegeria/commands → commands}/ops/refresh_integration_daemon.py +0 -0
- {pyegeria/commands → commands}/ops/restart_integration_daemon.py +0 -0
- {pyegeria/commands → commands}/ops/table_integ_daemon_status.py +0 -0
- {pyegeria/commands → commands}/ops/x_engine_actions.py +0 -0
- {pyegeria/commands → commands}/tech/README.md +0 -0
- {pyegeria/commands → commands}/tech/__init__.py +0 -0
- {pyegeria/commands → commands}/tech/get_element_info.py +0 -0
- {pyegeria/commands → commands}/tech/get_guid_info.py +0 -0
- {pyegeria/commands → commands}/tech/get_tech_details.py +0 -0
- {pyegeria/commands → commands}/tech/get_tech_type_template.py +0 -0
- {pyegeria/commands → commands}/tech/list_all_om_type_elements.py +0 -0
- {pyegeria/commands → commands}/tech/list_all_om_type_elements_x.py +0 -0
- {pyegeria/commands → commands}/tech/list_all_related_elements.py +0 -0
- {pyegeria/commands → commands}/tech/list_anchored_elements.py +0 -0
- {pyegeria/commands → commands}/tech/list_asset_types.py +0 -0
- {pyegeria/commands → commands}/tech/list_elements_by_classification_by_property_value.py +0 -0
- {pyegeria/commands → commands}/tech/list_elements_by_property_value.py +0 -0
- {pyegeria/commands → commands}/tech/list_elements_by_property_value_x.py +0 -0
- {pyegeria/commands → commands}/tech/list_elements_for_classification.py +0 -0
- {pyegeria/commands → commands}/tech/list_gov_action_processes.py +0 -0
- {pyegeria/commands → commands}/tech/list_registered_services.py +0 -0
- {pyegeria/commands → commands}/tech/list_related_elements_with_prop_value.py +0 -0
- {pyegeria/commands → commands}/tech/list_related_specification.py +0 -0
- {pyegeria/commands → commands}/tech/list_relationship_types.py +0 -0
- {pyegeria/commands → commands}/tech/list_relationships.py +0 -0
- {pyegeria/commands → commands}/tech/list_solution_blueprints.py +0 -0
- {pyegeria/commands → commands}/tech/list_solution_components.py +0 -0
- {pyegeria/commands → commands}/tech/list_solution_roles.py +0 -0
- {pyegeria/commands → commands}/tech/list_tech_templates.py +0 -0
- {pyegeria/commands → commands}/tech/list_valid_metadata_values.py +0 -0
- {pyegeria/commands → commands}/tech/table_tech_templates.py +0 -0
- {pyegeria/commands → commands}/tech/x_list_related_elements.py +0 -0
- {pyegeria-5.3.9.5.dist-info → pyegeria-5.3.9.7.dist-info}/LICENSE +0 -0
- {pyegeria-5.3.9.5.dist-info → pyegeria-5.3.9.7.dist-info}/WHEEL +0 -0
pyegeria/md_processing_utils.py
CHANGED
@@ -17,11 +17,22 @@ from rich.markdown import Markdown
|
|
17
17
|
|
18
18
|
from pyegeria import body_slimmer
|
19
19
|
from pyegeria._globals import (NO_GLOSSARIES_FOUND, NO_ELEMENTS_FOUND, NO_PROJECTS_FOUND, NO_CATEGORIES_FOUND, DEBUG_LEVEL)
|
20
|
-
from pyegeria.dr_egeria_state import get_element_dictionary, update_element_dictionary, find_key_with_value
|
21
20
|
from pyegeria.egeria_tech_client import EgeriaTech
|
22
|
-
|
21
|
+
from md_processing.md_processing_utils.md_processing_constants import (message_types,
|
22
|
+
pre_command, EXISTS_REQUIRED, load_commands, get_command_spec, get_attribute, get_attribute_labels, get_alternate_names)
|
23
|
+
|
24
|
+
|
23
25
|
from pyegeria.project_manager_omvs import ProjectManager
|
24
26
|
|
27
|
+
ALWAYS = "ALWAYS"
|
28
|
+
ERROR = "ERROR"
|
29
|
+
INFO = "INFO"
|
30
|
+
WARNING = "WARNING"
|
31
|
+
pre_command = "\n---\n==> Processing object_action:"
|
32
|
+
command_seperator = Markdown("\n---\n")
|
33
|
+
EXISTS_REQUIRED = "Exists Required"
|
34
|
+
|
35
|
+
|
25
36
|
EGERIA_WIDTH = int(os.environ.get("EGERIA_WIDTH", "170"))
|
26
37
|
console = Console(width=EGERIA_WIDTH)
|
27
38
|
|
@@ -41,7 +52,7 @@ ALWAYS = "ALWAYS"
|
|
41
52
|
ERROR = "ERROR"
|
42
53
|
INFO = "INFO"
|
43
54
|
WARNING = "WARNING"
|
44
|
-
pre_command = "\n---\n==> Processing
|
55
|
+
pre_command = "\n---\n==> Processing object_action:"
|
45
56
|
command_seperator = Markdown("\n---\n")
|
46
57
|
EXISTS_REQUIRED = "Exists Required"
|
47
58
|
|
@@ -83,6 +94,77 @@ TERM_RELATIONSHPS = [
|
|
83
94
|
"ISARelationship"
|
84
95
|
]
|
85
96
|
|
97
|
+
# Dictionary to store element information to avoid redundant API calls
|
98
|
+
element_dictionary = {}
|
99
|
+
|
100
|
+
|
101
|
+
def get_element_dictionary():
|
102
|
+
"""
|
103
|
+
Get the shared element dictionary.
|
104
|
+
|
105
|
+
Returns:
|
106
|
+
dict: The shared element dictionary
|
107
|
+
"""
|
108
|
+
global element_dictionary
|
109
|
+
return element_dictionary
|
110
|
+
|
111
|
+
|
112
|
+
def update_element_dictionary(key, value):
|
113
|
+
"""
|
114
|
+
Update the shared element dictionary with a new key-value pair.
|
115
|
+
|
116
|
+
Args:
|
117
|
+
key (str): The key to update
|
118
|
+
value (dict): The value to associate with the key
|
119
|
+
"""
|
120
|
+
global element_dictionary
|
121
|
+
if (key is None or value is None):
|
122
|
+
print(f"===>ERROR Key is {key} and value is {value}")
|
123
|
+
return
|
124
|
+
element_dictionary[key] = value
|
125
|
+
|
126
|
+
|
127
|
+
def clear_element_dictionary():
|
128
|
+
"""
|
129
|
+
Clear the shared element dictionary.
|
130
|
+
"""
|
131
|
+
global element_dictionary
|
132
|
+
element_dictionary.clear()
|
133
|
+
|
134
|
+
|
135
|
+
def is_present(value: str) -> bool:
|
136
|
+
global element_dictionary
|
137
|
+
present = value in element_dictionary.keys() or any(
|
138
|
+
value in inner_dict.values() for inner_dict in element_dictionary.values())
|
139
|
+
return present
|
140
|
+
|
141
|
+
|
142
|
+
def find_key_with_value(value: str) -> str | None:
|
143
|
+
"""
|
144
|
+
Finds the top-level key whose nested dictionary contains the given value.
|
145
|
+
|
146
|
+
Args:
|
147
|
+
data (dict): A dictionary where keys map to nested dictionaries.
|
148
|
+
value (str): The value to search for.
|
149
|
+
|
150
|
+
Returns:
|
151
|
+
str | None: The top-level key that contains the value, or None if not found.
|
152
|
+
"""
|
153
|
+
global element_dictionary
|
154
|
+
# Check if the value matches a top-level key
|
155
|
+
if value in element_dictionary.keys():
|
156
|
+
return value
|
157
|
+
|
158
|
+
# Check if the value exists in any of the nested dictionaries
|
159
|
+
for key, inner_dict in element_dictionary.items():
|
160
|
+
if value in inner_dict.values():
|
161
|
+
return key
|
162
|
+
|
163
|
+
return None # If value not found
|
164
|
+
|
165
|
+
|
166
|
+
|
167
|
+
|
86
168
|
def render_markdown(markdown_text: str) -> None:
|
87
169
|
"""Renders the given markdown text in the console."""
|
88
170
|
console.print(Markdown(markdown_text))
|
@@ -189,10 +271,10 @@ def extract_command_plus(block: str) -> tuple[str, str, str] | None:
|
|
189
271
|
|
190
272
|
Args:
|
191
273
|
block: A string containing the block of text to search for the
|
192
|
-
|
274
|
+
object_action and action.
|
193
275
|
|
194
276
|
Returns:
|
195
|
-
A tuple containing the
|
277
|
+
A tuple containing the object_action, the object type and the object action if a
|
196
278
|
match is found. Otherwise, returns None.
|
197
279
|
"""
|
198
280
|
# Filter out lines beginning with '>'
|
@@ -217,7 +299,7 @@ def extract_command_plus(block: str) -> tuple[str, str, str] | None:
|
|
217
299
|
|
218
300
|
def extract_command(block: str) -> str | None:
|
219
301
|
"""
|
220
|
-
Extracts a
|
302
|
+
Extracts a object_action from a block of text that is contained between a single hash ('#') and
|
221
303
|
either a double hash ('##'), a newline character, or the end of the string.
|
222
304
|
|
223
305
|
The function searches for a specific pattern within the block of text and extracts the
|
@@ -226,10 +308,10 @@ def extract_command(block: str) -> str | None:
|
|
226
308
|
|
227
309
|
Args:
|
228
310
|
block: A string representing the block of text to process. Contains the content
|
229
|
-
in which the
|
311
|
+
in which the object_action and delimiters are expected to be present.
|
230
312
|
|
231
313
|
Returns:
|
232
|
-
The extracted
|
314
|
+
The extracted object_action as a string if a match is found, otherwise None.
|
233
315
|
"""
|
234
316
|
match = re.search(r"#(.*?)(?:##|\n|$)", block) # Using a non capturing group
|
235
317
|
if match:
|
@@ -316,7 +398,7 @@ def process_simple_attribute(txt: str, labels: list[str], if_missing: str = INFO
|
|
316
398
|
Parameters:
|
317
399
|
----------
|
318
400
|
txt: str
|
319
|
-
The block of
|
401
|
+
The block of object_action text to extract attributes from.
|
320
402
|
labels: list
|
321
403
|
The possible attribute labels to search for. The first label will be used in messages.
|
322
404
|
if_missing: str, default is INFO
|
@@ -340,27 +422,27 @@ def process_simple_attribute(txt: str, labels: list[str], if_missing: str = INFO
|
|
340
422
|
|
341
423
|
def update_a_command(txt: str, command: str, obj_type: str, q_name: str, u_guid: str) -> str:
|
342
424
|
"""
|
343
|
-
Updates a
|
344
|
-
The function processes the provided
|
345
|
-
sections in the text, including
|
425
|
+
Updates a object_action by modifying the input text with corresponding actions, GUID, and qualified name.
|
426
|
+
The function processes the provided object_action based on the given parameters, updating the relevant
|
427
|
+
sections in the text, including object_action actions, GUID, qualified name, and optionally the status
|
346
428
|
of the attributes. It ensures that proper formatting and necessary fields are present in the text.
|
347
429
|
|
348
430
|
Args:
|
349
431
|
txt (str): The input text containing the content to be updated.
|
350
|
-
command (str): The
|
351
|
-
obj_type (str): The object type related to the
|
432
|
+
command (str): The object_action to be processed (e.g., "Create Term", "Update Term").
|
433
|
+
obj_type (str): The object type related to the object_action (e.g., "Term", "Category").
|
352
434
|
q_name (str): The qualified name to be added or updated in the text.
|
353
435
|
u_guid (str): The unique identifier (GUID) to be added or updated in the text. If not provided,
|
354
436
|
it defaults to an empty string.
|
355
437
|
|
356
438
|
Returns:
|
357
|
-
str: The updated text containing the modifications based on the provided
|
439
|
+
str: The updated text containing the modifications based on the provided object_action.
|
358
440
|
|
359
441
|
"""
|
360
442
|
u_guid = u_guid if u_guid else " "
|
361
443
|
verb = command.split(' ')[0].strip()
|
362
444
|
action = "Update" if (verb == "Create" and u_guid is not None) else "Create"
|
363
|
-
txt = txt.replace(f"{command}", f'{action} {obj_type}\n') # update the
|
445
|
+
txt = txt.replace(f"{command}", f'{action} {obj_type}\n') # update the object_action
|
364
446
|
|
365
447
|
if "Qualified Name" not in txt:
|
366
448
|
txt += f"\n## Qualified Name\n{q_name}\n"
|
@@ -376,7 +458,7 @@ def update_a_command(txt: str, command: str, obj_type: str, q_name: str, u_guid:
|
|
376
458
|
|
377
459
|
|
378
460
|
def process_provenance_command(file_path: str, txt: [str]) -> str:
|
379
|
-
"""This
|
461
|
+
"""This md_commands processes a provenence object_action by pre-pending the current file name and time to the provenance
|
380
462
|
output"""
|
381
463
|
output = (f"* Derived from processing file {file_path} on "
|
382
464
|
f"{get_current_datetime_string()}\n")
|
@@ -410,7 +492,7 @@ def process_element_identifiers(egeria_client: EgeriaTech, element_type: str, el
|
|
410
492
|
txt: str
|
411
493
|
A string representing the input text to be processed for extracting element identifiers.
|
412
494
|
action: str
|
413
|
-
The action
|
495
|
+
The action object_action to be executed (e.g., 'Create', 'Update', 'Display', ...)
|
414
496
|
version: str, optional = None
|
415
497
|
An optional version identifier used if we need to construct the qualified name
|
416
498
|
|
@@ -625,7 +707,7 @@ list[Any], bool | Any, bool | None | Any] | None:
|
|
625
707
|
|
626
708
|
def process_blueprint_upsert_command(egeria_client: EgeriaTech, txt: str, directive: str = "display") -> Optional[str]:
|
627
709
|
"""
|
628
|
-
Processes a blueprint create or update
|
710
|
+
Processes a blueprint create or update object_action by extracting key attributes such as
|
629
711
|
blueprint name, description, and version from the given cell.
|
630
712
|
|
631
713
|
Parameters:
|
@@ -635,7 +717,7 @@ def process_blueprint_upsert_command(egeria_client: EgeriaTech, txt: str, direct
|
|
635
717
|
A string representing the input cell to be processed for
|
636
718
|
extracting element attributes.
|
637
719
|
directive: str, optional, default "display"
|
638
|
-
An optional string indicating the directive to be used - display, validate or execute
|
720
|
+
An optional string indicating the directive to be used - display, validate, or execute
|
639
721
|
|
640
722
|
Returns: str
|
641
723
|
A string summarizing the outcome of the processing.
|
@@ -734,7 +816,7 @@ def process_blueprint_upsert_command(egeria_client: EgeriaTech, txt: str, direct
|
|
734
816
|
def process_solution_component_upsert_command(egeria_client: EgeriaTech, txt: str, directive: str = "display") -> \
|
735
817
|
Optional[str]:
|
736
818
|
"""
|
737
|
-
Processes a solution componentt create or update
|
819
|
+
Processes a solution componentt create or update object_action by extracting key attributes such as
|
738
820
|
solution component name, description, version, solution component type etc from the given cell.
|
739
821
|
|
740
822
|
Parameters:
|
@@ -830,7 +912,7 @@ Optional[str]:
|
|
830
912
|
version_identifier=version)
|
831
913
|
update_element_dictionary(known_q_name, {'display_name': display_name, 'guid': known_guid})
|
832
914
|
|
833
|
-
elif object_action == 'Create': # if the
|
915
|
+
elif object_action == 'Create': # if the object_action is create, check that it doesn't already exist
|
834
916
|
if exists:
|
835
917
|
msg = f"{object_type} `{display_name}` already exists."
|
836
918
|
print_msg("ERROR", msg, debug_level)
|
@@ -902,7 +984,7 @@ Optional[str]:
|
|
902
984
|
|
903
985
|
def process_glossary_upsert_command(egeria_client: EgeriaTech, txt: str, directive: str = "display") -> Optional[str]:
|
904
986
|
"""
|
905
|
-
Processes a glossary create or update
|
987
|
+
Processes a glossary create or update object_action by extracting key attributes such as
|
906
988
|
glossary name, language, description, and usage from the given text.
|
907
989
|
|
908
990
|
:param txt: A string representing the input cell to be processed for
|
@@ -988,7 +1070,7 @@ def process_glossary_upsert_command(egeria_client: EgeriaTech, txt: str, directi
|
|
988
1070
|
if object_action == "Update":
|
989
1071
|
if not glossary_exists:
|
990
1072
|
print(f"\n{ERROR}Glossary `{glossary_name}` does not exist! Updating result document with Create "
|
991
|
-
f"
|
1073
|
+
f"object_action\n")
|
992
1074
|
return update_a_command(txt, command, object_type, known_q_name, known_guid)
|
993
1075
|
|
994
1076
|
body = {
|
@@ -1019,7 +1101,7 @@ def process_glossary_upsert_command(egeria_client: EgeriaTech, txt: str, directi
|
|
1019
1101
|
update_element_dictionary(qualified_name, {
|
1020
1102
|
'guid': glossary_guid, 'display_name': glossary_name
|
1021
1103
|
})
|
1022
|
-
# return update_a_command(txt,
|
1104
|
+
# return update_a_command(txt, object_action, object_type, qualified_name, glossary_guid)
|
1023
1105
|
print_msg(ALWAYS, f"Created Glossary `{glossary_name}` with GUID {glossary_guid}", debug_level)
|
1024
1106
|
return egeria_client.get_glossary_by_guid(glossary_guid, output_format='FORM')
|
1025
1107
|
else:
|
@@ -1030,7 +1112,7 @@ def process_glossary_upsert_command(egeria_client: EgeriaTech, txt: str, directi
|
|
1030
1112
|
|
1031
1113
|
def process_category_upsert_command(egeria_client: EgeriaTech, txt: str, directive: str = "display") -> Optional[str]:
|
1032
1114
|
"""
|
1033
|
-
Processes a glossary category create or update
|
1115
|
+
Processes a glossary category create or update object_action by extracting key attributes such as
|
1034
1116
|
category name, qualified, description, and anchor glossary from the given txt..
|
1035
1117
|
|
1036
1118
|
:param txt: A string representing the input cell to be processed for
|
@@ -1136,7 +1218,7 @@ def process_category_upsert_command(egeria_client: EgeriaTech, txt: str, directi
|
|
1136
1218
|
if object_action == "Update":
|
1137
1219
|
if not category_exists:
|
1138
1220
|
print(f"\n{ERROR}category `{category_name}` does not exist! Updating result document with Create "
|
1139
|
-
f"
|
1221
|
+
f"object_action\n")
|
1140
1222
|
return update_a_command(txt, command, object_type, known_q_name, known_guid)
|
1141
1223
|
|
1142
1224
|
# Update the basic category properties
|
@@ -1272,7 +1354,7 @@ def update_category_parent(egeria_client, category_guid: str, parent_category_na
|
|
1272
1354
|
|
1273
1355
|
def process_term_upsert_command(egeria_client: EgeriaTech, txt: str, directive: str = "display") -> Optional[str]:
|
1274
1356
|
"""
|
1275
|
-
Processes a term create or update
|
1357
|
+
Processes a term create or update object_action by extracting key attributes such as
|
1276
1358
|
term name, summary, description, abbreviation, examples, usage, version, and status from the given cell.
|
1277
1359
|
|
1278
1360
|
:param txt: A string representing the input cell to be processed for
|
@@ -1364,7 +1446,7 @@ def process_term_upsert_command(egeria_client: EgeriaTech, txt: str, directive:
|
|
1364
1446
|
print_msg(ERROR, msg, debug_level)
|
1365
1447
|
valid = False
|
1366
1448
|
|
1367
|
-
elif object_action == 'Create': # if the
|
1449
|
+
elif object_action == 'Create': # if the object_action is create, check that it doesn't already exist
|
1368
1450
|
term_display = (f"\n* Command: {command}\n\t* Glossary: {known_glossary_q_name}\n\t"
|
1369
1451
|
f"* Term Name: {term_name}\n\t* Categories: {categories}\n\t* Summary: {summary}\n\t"
|
1370
1452
|
f"* Qualified Name: {q_name}\n\t* Aliases: {aliases}\n\t* Description: {description}\n\t"
|
@@ -1412,7 +1494,7 @@ def process_term_upsert_command(egeria_client: EgeriaTech, txt: str, directive:
|
|
1412
1494
|
f"\tUpdated Term `{term_name}` with GUID {known_guid}\n\tand categories `{categories}`",
|
1413
1495
|
debug_level)
|
1414
1496
|
return egeria_client.get_term_by_guid(known_guid,
|
1415
|
-
'md') # return update_a_command(txt,
|
1497
|
+
'md') # return update_a_command(txt, object_action, object_type,
|
1416
1498
|
# known_q_name, known_guid)
|
1417
1499
|
elif object_action == "Update" and directive == "validate": # is sthis reachable?
|
1418
1500
|
return egeria_client.get_term_by_guid(known_guid, 'md')
|
@@ -1459,7 +1541,7 @@ def process_term_upsert_command(egeria_client: EgeriaTech, txt: str, directive:
|
|
1459
1541
|
update_element_dictionary(known_q_name, {'guid': term_guid, 'display_name': term_name})
|
1460
1542
|
print_msg(ALWAYS, f"Created term `{term_name}` with GUID {term_guid}", debug_level)
|
1461
1543
|
return egeria_client.get_term_by_guid(term_guid,
|
1462
|
-
'MD') # return update_a_command(txt,
|
1544
|
+
'MD') # return update_a_command(txt, object_action,
|
1463
1545
|
# object_type, q_name, term_guid)
|
1464
1546
|
except Exception as e:
|
1465
1547
|
print(f"{ERROR}Error creating term {term_name}: {e}")
|
@@ -1528,7 +1610,7 @@ def process_create_term_term_relationship_command(egeria_client: EgeriaTech, txt
|
|
1528
1610
|
|
1529
1611
|
def process_per_proj_upsert_command(egeria_client: ProjectManager, txt: str, directive: str = "display") -> str | None:
|
1530
1612
|
"""
|
1531
|
-
Processes a personal project create or update
|
1613
|
+
Processes a personal project create or update object_action by extracting key attributes such as
|
1532
1614
|
glossary name, language, description, and usage from the given cell.
|
1533
1615
|
|
1534
1616
|
:param txt: A string representing the input cell to be processed for
|
@@ -37,7 +37,7 @@ command_list = ["Provenance",
|
|
37
37
|
ERROR = "ERROR-> "
|
38
38
|
INFO = "INFO- "
|
39
39
|
WARNING = "WARNING-> "
|
40
|
-
pre_command = "\n---\n==> Processing
|
40
|
+
pre_command = "\n---\n==> Processing object_action:"
|
41
41
|
|
42
42
|
element_dictionary = {}
|
43
43
|
|
@@ -120,7 +120,7 @@ def update_a_command(txt: str, command: str, obj_type: str, q_name: str, u_guid:
|
|
120
120
|
u_guid = u_guid if u_guid else " "
|
121
121
|
verb = command.split(' ')[0].strip()
|
122
122
|
action = "Update" if (verb == "Create" and u_guid is not None) else "Create"
|
123
|
-
txt = txt.replace(f"{command}", f'{action} {obj_type}\n') # update the
|
123
|
+
txt = txt.replace(f"{command}", f'{action} {obj_type}\n') # update the object_action
|
124
124
|
txt = txt.replace('<GUID>', f'GUID\n{u_guid}') # update with GUID
|
125
125
|
txt = txt.replace('<Qualified Name>', f"Qualified Name\n{q_name}")
|
126
126
|
if "Qualified Name" not in txt:
|
@@ -128,7 +128,7 @@ def update_a_command(txt: str, command: str, obj_type: str, q_name: str, u_guid:
|
|
128
128
|
if "GUID" not in txt:
|
129
129
|
txt += f"\n## GUID\n{u_guid}\n"
|
130
130
|
|
131
|
-
# if (
|
131
|
+
# if (object_action in {"Update Term", "Update Category", 'Update Glossary'}) and ("Update Description" not in txt):
|
132
132
|
# txt += '\n** Update Description\n\n\n'
|
133
133
|
# elif "Update Description" in txt:
|
134
134
|
# pattern = r"(## Update Description\n).*?(#)"
|
@@ -143,7 +143,7 @@ def update_a_command(txt: str, command: str, obj_type: str, q_name: str, u_guid:
|
|
143
143
|
return txt
|
144
144
|
|
145
145
|
def process_provenance_command(file_path: str, txt: [str]) -> str:
|
146
|
-
"""This
|
146
|
+
"""This md_commands processes a provenence object_action by pre-pending the current file name and time to the provenance
|
147
147
|
output"""
|
148
148
|
output = (f"* Derived from processing file {file_path} on "
|
149
149
|
f"{get_current_datetime_string()}\n")
|
@@ -219,7 +219,7 @@ def process_element_identifiers(egeria_client: EgeriaTech, txt: str) -> tuple[st
|
|
219
219
|
def process_blueprint_upsert_command(egeria_client: EgeriaTech, element_dictionary: dict, txt: str,
|
220
220
|
directive: str = "display") -> Optional[str]:
|
221
221
|
"""
|
222
|
-
Processes a blueprint create or update
|
222
|
+
Processes a blueprint create or update object_action by extracting key attributes such as
|
223
223
|
blueprint name, description, and version from the given cell.
|
224
224
|
|
225
225
|
Parameters:
|
@@ -269,7 +269,7 @@ def process_blueprint_upsert_command(egeria_client: EgeriaTech, element_dictiona
|
|
269
269
|
valid = False
|
270
270
|
element_dictionary[known_q_name] = {'display_name': display_name, 'guid': known_guid}
|
271
271
|
|
272
|
-
elif obj_action == 'Create': # if the
|
272
|
+
elif obj_action == 'Create': # if the object_action is create, check that it doesn't already exist
|
273
273
|
if exists:
|
274
274
|
msg += f"\n{WARNING}Element \'{display_name}\' already exists.\n"
|
275
275
|
elif not valid:
|
@@ -338,7 +338,7 @@ def process_blueprint_upsert_command(egeria_client: EgeriaTech, element_dictiona
|
|
338
338
|
def process_glossary_upsert_command(egeria_client: GlossaryManager, element_dictionary: dict, txt: str,
|
339
339
|
directive: str = "display") -> Optional[str]:
|
340
340
|
"""
|
341
|
-
Processes a glossary create or update
|
341
|
+
Processes a glossary create or update object_action by extracting key attributes such as
|
342
342
|
glossary name, language, description, and usage from the given text.
|
343
343
|
|
344
344
|
:param txt: A string representing the input cell to be processed for
|
@@ -445,7 +445,7 @@ def process_glossary_upsert_command(egeria_client: GlossaryManager, element_dict
|
|
445
445
|
if object_action == "Update":
|
446
446
|
if not exists:
|
447
447
|
print(
|
448
|
-
f"\n{ERROR}Glossary {glossary_name} does not exist! Updating result document with Create
|
448
|
+
f"\n{ERROR}Glossary {glossary_name} does not exist! Updating result document with Create object_action\n")
|
449
449
|
return update_a_command(txt, command, object_type, known_q_name, known_guid)
|
450
450
|
|
451
451
|
body = {
|
@@ -459,7 +459,7 @@ def process_glossary_upsert_command(egeria_client: GlossaryManager, element_dict
|
|
459
459
|
element_dictionary[known_q_name] = {
|
460
460
|
'guid': known_guid, 'display_name': glossary_name
|
461
461
|
}
|
462
|
-
# return update_a_command(txt,
|
462
|
+
# return update_a_command(txt, object_action, object_type, known_q_name, known_guid)
|
463
463
|
return egeria_client.get_glossary_by_guid(known_guid, output_format='MD')
|
464
464
|
elif object_action == "Create":
|
465
465
|
glossary_guid = None
|
@@ -477,14 +477,14 @@ def process_glossary_upsert_command(egeria_client: GlossaryManager, element_dict
|
|
477
477
|
element_dictionary[qualified_name] = {
|
478
478
|
'guid': glossary_guid, 'display_name': glossary_name
|
479
479
|
}
|
480
|
-
# return update_a_command(txt,
|
480
|
+
# return update_a_command(txt, object_action, object_type, qualified_name, glossary_guid)
|
481
481
|
return egeria_client.get_glossary_by_guid(glossary_guid, output_format = 'MD')
|
482
482
|
|
483
483
|
|
484
484
|
def process_categories_upsert_command(egeria_client: GlossaryManager, element_dictionary: dict, txt: str,
|
485
485
|
directive: str = "display") -> Optional[str]:
|
486
486
|
"""
|
487
|
-
Processes a glossary category create or update
|
487
|
+
Processes a glossary category create or update object_action by extracting key attributes such as
|
488
488
|
category name, qualified, description, and anchor glossary from the given txt..
|
489
489
|
|
490
490
|
:param txt: A string representing the input cell to be processed for
|
@@ -619,7 +619,7 @@ def process_categories_upsert_command(egeria_client: GlossaryManager, element_di
|
|
619
619
|
if not exists:
|
620
620
|
print(
|
621
621
|
f"\n{ERROR}category `{category_name}` does not exist! Updating result document with Create "
|
622
|
-
f"
|
622
|
+
f"object_action\n")
|
623
623
|
return update_a_command(txt, command, object_type, known_q_name, known_guid)
|
624
624
|
|
625
625
|
egeria_client.update_category(glossary_guid, category_name, description, known_q_name, None,
|
@@ -628,7 +628,7 @@ def process_categories_upsert_command(egeria_client: GlossaryManager, element_di
|
|
628
628
|
element_dictionary[known_q_name] = {
|
629
629
|
'guid': known_guid, 'display_name': category_name
|
630
630
|
}
|
631
|
-
# return update_a_command(txt,
|
631
|
+
# return update_a_command(txt, object_action, object_type, known_q_name, known_guid)
|
632
632
|
return egeria_client.get_category_by_guid(known_guid, output_format='FORM')
|
633
633
|
|
634
634
|
elif object_action == "Create":
|
@@ -648,14 +648,14 @@ def process_categories_upsert_command(egeria_client: GlossaryManager, element_di
|
|
648
648
|
element_dictionary[qualified_name] = {
|
649
649
|
'guid': category_guid, 'display_name': category_name
|
650
650
|
}
|
651
|
-
# return update_a_command(txt,
|
651
|
+
# return update_a_command(txt, object_action, object_type, qualified_name, category_guid)
|
652
652
|
return egeria_client.get_category_by_guid(category_guid, output_format='MD')
|
653
653
|
|
654
654
|
|
655
655
|
def process_term_upsert_command(egeria_client: GlossaryManager, element_dictionary: dict, txt: str,
|
656
656
|
directive: str = "display") -> Optional[str]:
|
657
657
|
"""
|
658
|
-
Processes a term create or update
|
658
|
+
Processes a term create or update object_action by extracting key attributes such as
|
659
659
|
term name, summary, description, abbreviation, examples, usage, version, and status from the given cell.
|
660
660
|
|
661
661
|
:param txt: A string representing the input cell to be processed for
|
@@ -812,7 +812,7 @@ def process_term_upsert_command(egeria_client: GlossaryManager, element_dictiona
|
|
812
812
|
print(Markdown(msg))
|
813
813
|
return valid, term_exists, known_term_guid, known_q_name
|
814
814
|
|
815
|
-
elif obj_action == 'Create': # if the
|
815
|
+
elif obj_action == 'Create': # if the object_action is create, check that it doesn't already exist
|
816
816
|
if term_exists:
|
817
817
|
msg += f"\n{WARNING}Term \'{term_name}\' already exists.\n"
|
818
818
|
elif not valid:
|
@@ -893,7 +893,7 @@ def process_term_upsert_command(egeria_client: GlossaryManager, element_dictiona
|
|
893
893
|
element_dictionary)
|
894
894
|
print(f"\n-->Updated Term {term_name} with GUID {known_guid} and categories {categories_list}")
|
895
895
|
return egeria_client.get_terms_by_guid(known_guid, 'md')
|
896
|
-
# return update_a_command(txt,
|
896
|
+
# return update_a_command(txt, object_action, object_type, known_q_name, known_guid)
|
897
897
|
elif object_action == "Update" and directive == "validate":
|
898
898
|
return egeria_client.get_terms_by_guid(known_guid, 'md')
|
899
899
|
|
@@ -947,7 +947,7 @@ def process_term_upsert_command(egeria_client: GlossaryManager, element_dictiona
|
|
947
947
|
print(f"\n-->Created Term {term_name} with GUID {term_guid}")
|
948
948
|
element_dictionary[q_name] = {'guid': term_guid, 'display_name': term_name}
|
949
949
|
return egeria_client.get_terms_by_guid(term_guid, 'MD')
|
950
|
-
# return update_a_command(txt,
|
950
|
+
# return update_a_command(txt, object_action, object_type, q_name, term_guid)
|
951
951
|
except Exception as e:
|
952
952
|
print(f"{ERROR}Error creating term {term_name}: {e}")
|
953
953
|
console.print_exception(show_locals=True)
|
@@ -956,7 +956,7 @@ def process_term_upsert_command(egeria_client: GlossaryManager, element_dictiona
|
|
956
956
|
def process_per_proj_upsert_command(egeria_client: ProjectManager, element_dictionary: dict, txt: str,
|
957
957
|
directive: str = "display") -> str | None:
|
958
958
|
"""
|
959
|
-
Processes a personal project create or update
|
959
|
+
Processes a personal project create or update object_action by extracting key attributes such as
|
960
960
|
glossary name, language, description, and usage from the given cell.
|
961
961
|
|
962
962
|
:param txt: A string representing the input cell to be processed for
|
pyegeria/mermaid_utilities.py
CHANGED
@@ -54,7 +54,7 @@ def load_mermaid():
|
|
54
54
|
<script>
|
55
55
|
document.addEventListener('DOMContentLoaded', function() {
|
56
56
|
mermaid.initialize({startOnLoad: true},
|
57
|
-
{maxTextSize:
|
57
|
+
{maxTextSize: 300000});
|
58
58
|
});
|
59
59
|
</script>
|
60
60
|
|
@@ -125,7 +125,7 @@ def construct_mermaid_web(mermaid_str: str) -> str:
|
|
125
125
|
<style type="text/css">
|
126
126
|
#mySvgId {
|
127
127
|
width: 100%;
|
128
|
-
height:
|
128
|
+
height: 1200px;
|
129
129
|
overflow: scroll;
|
130
130
|
border: 2px solid #ccc;
|
131
131
|
position: relative;
|