pyegeria 5.3.9.9.3__py3-none-any.whl → 5.5.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.
Potentially problematic release.
This version of pyegeria might be problematic. Click here for more details.
- commands/__init__.py +24 -0
- commands/cat/Dr-Egeria_md-orig.py +2 -2
- commands/cat/__init__.py +1 -17
- commands/cat/collection_actions.py +197 -0
- commands/cat/dr_egeria_command_help.py +372 -0
- commands/cat/dr_egeria_jupyter.py +7 -7
- commands/cat/dr_egeria_md.py +27 -182
- commands/cat/exp_list_glossaries.py +11 -14
- commands/cat/get_asset_graph.py +37 -267
- commands/cat/{get_collection.py → get_collection_tree.py} +10 -18
- commands/cat/get_project_dependencies.py +14 -14
- commands/cat/get_project_structure.py +15 -14
- commands/cat/get_tech_type_elements.py +16 -116
- commands/cat/glossary_actions.py +145 -298
- commands/cat/list_assets.py +3 -11
- commands/cat/list_cert_types.py +17 -63
- commands/cat/list_collections.py +46 -138
- commands/cat/list_deployed_catalogs.py +15 -27
- commands/cat/list_deployed_database_schemas.py +27 -43
- commands/cat/list_deployed_databases.py +16 -31
- commands/cat/list_deployed_servers.py +35 -54
- commands/cat/list_glossaries.py +18 -17
- commands/cat/list_projects.py +10 -12
- commands/cat/list_tech_type_elements.py +21 -37
- commands/cat/list_tech_types.py +13 -25
- commands/cat/list_terms.py +38 -79
- commands/cat/list_todos.py +4 -11
- commands/cat/list_user_ids.py +3 -10
- commands/cat/my_reports.py +559 -0
- commands/cat/run_report.py +394 -0
- commands/cat/run_report_orig.py +528 -0
- commands/cli/egeria.py +222 -247
- commands/cli/egeria_cat.py +68 -81
- commands/cli/egeria_my.py +13 -0
- commands/cli/egeria_ops.py +69 -74
- commands/cli/egeria_tech.py +17 -93
- commands/cli/ops_config.py +3 -6
- commands/{cat/list_categories.py → deprecated/list_data_designer.py} +53 -64
- commands/{cat/list_data_structures.py → deprecated/list_data_structures_full.py} +3 -6
- commands/deprecated/old_get_asset_graph.py +315 -0
- commands/my/__init__.py +0 -2
- commands/my/list_my_profile.py +27 -34
- commands/my/list_my_roles.py +1 -7
- commands/my/monitor_my_todos.py +1 -7
- commands/my/monitor_open_todos.py +6 -7
- commands/my/todo_actions.py +4 -5
- commands/ops/__init__.py +0 -2
- commands/ops/gov_server_actions.py +17 -21
- commands/ops/list_archives.py +17 -38
- commands/ops/list_catalog_targets.py +33 -40
- commands/ops/load_archive.py +35 -26
- commands/ops/{monitor_engine_activity_c.py → monitor_active_engine_activity.py} +51 -82
- commands/ops/{monitor_integ_daemon_status.py → monitor_daemon_status.py} +35 -55
- commands/ops/monitor_engine_activity.py +79 -77
- commands/ops/{monitor_gov_eng_status.py → monitor_engine_status.py} +10 -7
- commands/ops/monitor_platform_status.py +38 -50
- commands/ops/monitor_server_startup.py +6 -11
- commands/ops/monitor_server_status.py +7 -11
- commands/ops/orig_monitor_server_list.py +8 -8
- commands/ops/orig_monitor_server_status.py +1 -5
- commands/ops/refresh_integration_daemon.py +5 -5
- commands/ops/restart_integration_daemon.py +5 -5
- commands/ops/table_integ_daemon_status.py +6 -6
- commands/ops/x_engine_actions.py +7 -7
- commands/tech/__init__.py +0 -2
- commands/tech/{generic_actions.py → element_actions.py} +6 -11
- commands/tech/get_element_info.py +20 -29
- commands/tech/get_guid_info.py +23 -42
- commands/tech/get_tech_details.py +20 -35
- commands/tech/get_tech_type_template.py +28 -39
- commands/tech/list_all_om_type_elements.py +24 -30
- commands/tech/list_all_om_type_elements_x.py +22 -28
- commands/tech/list_all_related_elements.py +19 -28
- commands/tech/list_anchored_elements.py +22 -30
- commands/tech/list_asset_types.py +19 -24
- commands/tech/list_elements_by_classification_by_property_value.py +26 -32
- commands/tech/list_elements_by_property_value.py +19 -25
- commands/tech/list_elements_by_property_value_x.py +20 -28
- commands/tech/list_elements_for_classification.py +28 -41
- commands/tech/list_gov_action_processes.py +16 -27
- commands/tech/list_information_supply_chains.py +22 -30
- commands/tech/list_registered_services.py +14 -26
- commands/tech/list_related_elements_with_prop_value.py +15 -25
- commands/tech/list_related_specification.py +1 -4
- commands/tech/list_relationship_types.py +15 -25
- commands/tech/list_relationships.py +20 -36
- commands/tech/list_solution_blueprints.py +28 -33
- commands/tech/list_solution_components.py +23 -29
- commands/tech/list_solution_roles.py +21 -32
- commands/tech/list_tech_templates.py +51 -54
- commands/tech/list_valid_metadata_values.py +5 -9
- commands/tech/table_tech_templates.py +2 -6
- commands/tech/x_list_related_elements.py +1 -4
- examples/GeoSpatial Products Example.py +524 -0
- examples/Jupyter Notebooks/P-egeria-server-config.ipynb +2137 -0
- examples/Jupyter Notebooks/README.md +2 -0
- examples/Jupyter Notebooks/common/P-environment-check.ipynb +115 -0
- examples/Jupyter Notebooks/common/__init__.py +14 -0
- examples/Jupyter Notebooks/common/common-functions.ipynb +4694 -0
- examples/Jupyter Notebooks/common/environment-check.ipynb +52 -0
- examples/Jupyter Notebooks/common/globals.ipynb +184 -0
- examples/Jupyter Notebooks/common/globals.py +154 -0
- examples/Jupyter Notebooks/common/orig_globals.py +152 -0
- examples/format_sets/all_format_sets.json +910 -0
- examples/format_sets/custom_format_sets.json +268 -0
- examples/format_sets/subset_format_sets.json +187 -0
- examples/format_sets_save_load_example.py +291 -0
- examples/jacquard_data_sets.py +129 -0
- examples/output_formats_example.py +193 -0
- examples/test_jacquard_data_sets.py +54 -0
- examples/test_jacquard_data_sets_scenarios.py +94 -0
- md_processing/__init__.py +90 -0
- md_processing/command_dispatcher.py +33 -0
- md_processing/command_mapping.py +221 -0
- md_processing/data/commands/commands_data_designer.json +537 -0
- md_processing/data/commands/commands_external_reference.json +733 -0
- md_processing/data/commands/commands_feedback.json +155 -0
- md_processing/data/commands/commands_general.json +204 -0
- md_processing/data/commands/commands_glossary.json +218 -0
- md_processing/data/commands/commands_governance.json +3678 -0
- md_processing/data/commands/commands_product_manager.json +865 -0
- md_processing/data/commands/commands_project.json +642 -0
- md_processing/data/commands/commands_solution_architect.json +366 -0
- md_processing/data/commands.json +17568 -0
- md_processing/data/commands_working.json +30641 -0
- md_processing/data/gened_report_specs.py +6584 -0
- md_processing/data/generated_format_sets.json +6533 -0
- md_processing/data/generated_format_sets_old.json +4137 -0
- md_processing/data/generated_format_sets_old.py +45 -0
- md_processing/dr_egeria.py +182 -0
- md_processing/md_commands/__init__.py +3 -0
- md_processing/md_commands/data_designer_commands.py +1276 -0
- md_processing/md_commands/ext_ref_commands.py +530 -0
- md_processing/md_commands/feedback_commands.py +726 -0
- md_processing/md_commands/glossary_commands.py +684 -0
- md_processing/md_commands/governance_officer_commands.py +600 -0
- md_processing/md_commands/product_manager_commands.py +1266 -0
- md_processing/md_commands/project_commands.py +383 -0
- md_processing/md_commands/solution_architect_commands.py +1184 -0
- md_processing/md_commands/view_commands.py +295 -0
- md_processing/md_processing_utils/__init__.py +4 -0
- md_processing/md_processing_utils/common_md_proc_utils.py +1249 -0
- md_processing/md_processing_utils/common_md_utils.py +578 -0
- md_processing/md_processing_utils/determine_width.py +103 -0
- md_processing/md_processing_utils/extraction_utils.py +547 -0
- md_processing/md_processing_utils/gen_report_specs.py +643 -0
- md_processing/md_processing_utils/generate_dr_help.py +193 -0
- md_processing/md_processing_utils/generate_md_cmd_templates.py +144 -0
- md_processing/md_processing_utils/generate_md_templates.py +83 -0
- md_processing/md_processing_utils/md_processing_constants.py +1228 -0
- md_processing/md_processing_utils/message_constants.py +19 -0
- pyegeria/__init__.py +201 -443
- pyegeria/core/__init__.py +40 -0
- pyegeria/core/_base_platform_client.py +574 -0
- pyegeria/core/_base_server_client.py +573 -0
- pyegeria/core/_exceptions.py +457 -0
- pyegeria/core/_globals.py +60 -0
- pyegeria/core/_server_client.py +6073 -0
- pyegeria/core/_validators.py +257 -0
- pyegeria/core/config.py +654 -0
- pyegeria/{create_tech_guid_lists.py → core/create_tech_guid_lists.py} +0 -1
- pyegeria/core/load_config.py +37 -0
- pyegeria/core/logging_configuration.py +207 -0
- pyegeria/core/mcp_adapter.py +144 -0
- pyegeria/core/mcp_server.py +212 -0
- pyegeria/core/utils.py +405 -0
- pyegeria/deprecated/__init__.py +0 -0
- pyegeria/{_client.py → deprecated/_client.py} +62 -24
- pyegeria/{_deprecated_gov_engine.py → deprecated/_deprecated_gov_engine.py} +16 -16
- pyegeria/{classification_manager_omvs.py → deprecated/classification_manager_omvs.py} +1988 -1878
- pyegeria/deprecated/output_formatter_with_machine_keys.py +1127 -0
- pyegeria/{runtime_manager_omvs.py → deprecated/runtime_manager_omvs.py} +216 -229
- pyegeria/{valid_metadata_omvs.py → deprecated/valid_metadata_omvs.py} +93 -93
- pyegeria/{x_action_author_omvs.py → deprecated/x_action_author_omvs.py} +2 -3
- pyegeria/egeria_cat_client.py +25 -51
- pyegeria/egeria_client.py +140 -98
- pyegeria/egeria_config_client.py +48 -24
- pyegeria/egeria_tech_client.py +170 -83
- pyegeria/models/__init__.py +150 -0
- pyegeria/models/collection_models.py +168 -0
- pyegeria/models/models.py +654 -0
- pyegeria/omvs/__init__.py +84 -0
- pyegeria/omvs/action_author.py +342 -0
- pyegeria/omvs/actor_manager.py +5980 -0
- pyegeria/omvs/asset_catalog.py +842 -0
- pyegeria/omvs/asset_maker.py +2736 -0
- pyegeria/omvs/automated_curation.py +4403 -0
- pyegeria/omvs/classification_manager.py +11213 -0
- pyegeria/omvs/collection_manager.py +5780 -0
- pyegeria/omvs/community_matters_omvs.py +468 -0
- pyegeria/{core_omag_server_config.py → omvs/core_omag_server_config.py} +157 -157
- pyegeria/{data_designer_omvs.py → omvs/data_designer.py} +1991 -1691
- pyegeria/omvs/data_discovery.py +869 -0
- pyegeria/omvs/data_engineer.py +372 -0
- pyegeria/omvs/digital_business.py +1133 -0
- pyegeria/omvs/external_links.py +1752 -0
- pyegeria/omvs/feedback_manager.py +834 -0
- pyegeria/{full_omag_server_config.py → omvs/full_omag_server_config.py} +73 -69
- pyegeria/omvs/glossary_manager.py +3231 -0
- pyegeria/omvs/governance_officer.py +3009 -0
- pyegeria/omvs/lineage_linker.py +314 -0
- pyegeria/omvs/location_arena.py +1525 -0
- pyegeria/omvs/metadata_expert.py +668 -0
- pyegeria/omvs/metadata_explorer_omvs.py +2943 -0
- pyegeria/omvs/my_profile.py +1042 -0
- pyegeria/omvs/notification_manager.py +358 -0
- pyegeria/omvs/people_organizer.py +394 -0
- pyegeria/{platform_services.py → omvs/platform_services.py} +113 -193
- pyegeria/omvs/product_manager.py +1825 -0
- pyegeria/omvs/project_manager.py +1907 -0
- pyegeria/omvs/reference_data.py +1140 -0
- pyegeria/omvs/registered_info.py +334 -0
- pyegeria/omvs/runtime_manager.py +2817 -0
- pyegeria/omvs/schema_maker.py +446 -0
- pyegeria/{server_operations.py → omvs/server_operations.py} +27 -26
- pyegeria/omvs/solution_architect.py +6490 -0
- pyegeria/omvs/specification_properties.py +37 -0
- pyegeria/omvs/subject_area.py +1042 -0
- pyegeria/omvs/template_manager_omvs.py +236 -0
- pyegeria/omvs/time_keeper.py +1761 -0
- pyegeria/omvs/valid_metadata.py +3221 -0
- pyegeria/omvs/valid_metadata_lists.py +37 -0
- pyegeria/omvs/valid_type_lists.py +37 -0
- pyegeria/view/__init__.py +28 -0
- pyegeria/view/_output_format_models.py +514 -0
- pyegeria/view/_output_formats.py +14 -0
- pyegeria/view/base_report_formats.py +2719 -0
- pyegeria/view/dr_egeria_reports.py +56 -0
- pyegeria/view/format_set_executor.py +397 -0
- pyegeria/{md_processing_utils.py → view/md_processing_utils.py} +5 -5
- pyegeria/{mermaid_utilities.py → view/mermaid_utilities.py} +2 -154
- pyegeria/view/output_formatter.py +1297 -0
- pyegeria-5.5.3.3.dist-info/METADATA +218 -0
- pyegeria-5.5.3.3.dist-info/RECORD +241 -0
- {pyegeria-5.3.9.9.3.dist-info → pyegeria-5.5.3.3.dist-info}/WHEEL +2 -1
- pyegeria-5.5.3.3.dist-info/entry_points.txt +103 -0
- pyegeria-5.5.3.3.dist-info/top_level.txt +4 -0
- commands/cat/.DS_Store +0 -0
- commands/cat/README.md +0 -16
- commands/cli/txt_custom_v2.tcss +0 -19
- commands/my/README.md +0 -17
- commands/ops/README.md +0 -24
- commands/ops/monitor_asset_events.py +0 -108
- commands/tech/README.md +0 -24
- pyegeria/.DS_Store +0 -0
- pyegeria/README.md +0 -35
- pyegeria/_globals.py +0 -47
- pyegeria/_validators.py +0 -385
- pyegeria/asset_catalog_omvs.py +0 -864
- pyegeria/automated_curation_omvs.py +0 -3765
- pyegeria/collection_manager_omvs.py +0 -2744
- pyegeria/dr.egeria spec.md +0 -9
- pyegeria/egeria_my_client.py +0 -56
- pyegeria/feedback_manager_omvs.py +0 -4573
- pyegeria/glossary_browser_omvs.py +0 -3728
- pyegeria/glossary_manager_omvs.py +0 -2440
- pyegeria/m_test.py +0 -118
- pyegeria/md_processing_helpers.py +0 -58
- pyegeria/md_processing_utils_orig.py +0 -1103
- pyegeria/metadata_explorer_omvs.py +0 -2326
- pyegeria/my_profile_omvs.py +0 -1022
- pyegeria/output_formatter.py +0 -389
- pyegeria/project_manager_omvs.py +0 -1933
- pyegeria/registered_info.py +0 -167
- pyegeria/solution_architect_omvs.py +0 -2156
- pyegeria/template_manager_omvs.py +0 -1414
- pyegeria/utils.py +0 -197
- pyegeria-5.3.9.9.3.dist-info/METADATA +0 -72
- pyegeria-5.3.9.9.3.dist-info/RECORD +0 -143
- pyegeria-5.3.9.9.3.dist-info/entry_points.txt +0 -99
- /pyegeria/{_exceptions.py → deprecated/_exceptions.py} +0 -0
- {pyegeria-5.3.9.9.3.dist-info → pyegeria-5.5.3.3.dist-info/licenses}/LICENSE +0 -0
commands/cat/glossary_actions.py
CHANGED
|
@@ -8,116 +8,66 @@ Execute Glossary actions.
|
|
|
8
8
|
|
|
9
9
|
"""
|
|
10
10
|
|
|
11
|
-
import csv
|
|
12
11
|
import json
|
|
13
12
|
import os
|
|
14
13
|
import sys
|
|
15
|
-
import time
|
|
16
|
-
from datetime import datetime
|
|
17
14
|
|
|
18
15
|
import click
|
|
19
16
|
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
InvalidParameterException,
|
|
24
|
-
PropertyServerException,
|
|
25
|
-
print_exception_response,
|
|
17
|
+
from pyegeria import (
|
|
18
|
+
EgeriaTech, body_slimmer, settings, NO_ELEMENTS_FOUND, TERM_STATUS,
|
|
19
|
+
PyegeriaAPIException, PyegeriaClientException, print_basic_exception, print_exception_table
|
|
26
20
|
)
|
|
27
21
|
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
EGERIA_PLATFORM_URL = os.environ.get("EGERIA_PLATFORM_URL", "https://localhost:9443")
|
|
31
|
-
EGERIA_VIEW_SERVER = os.environ.get("EGERIA_VIEW_SERVER", "view-server")
|
|
32
|
-
EGERIA_VIEW_SERVER_URL = os.environ.get(
|
|
33
|
-
"EGERIA_VIEW_SERVER_URL", "https://localhost:9443"
|
|
34
|
-
)
|
|
35
|
-
EGERIA_INTEGRATION_DAEMON = os.environ.get("EGERIA_INTEGRATION_DAEMON", "integration-daemon")
|
|
36
|
-
EGERIA_INTEGRATION_DAEMON_URL = os.environ.get(
|
|
37
|
-
"EGERIA_INTEGRATION_DAEMON_URL", "https://localhost:9443"
|
|
38
|
-
)
|
|
39
|
-
EGERIA_ADMIN_USER = os.environ.get("ADMIN_USER", "garygeeke")
|
|
40
|
-
EGERIA_ADMIN_PASSWORD = os.environ.get("ADMIN_PASSWORD", "secret")
|
|
22
|
+
app_config = settings.Environment
|
|
23
|
+
|
|
41
24
|
EGERIA_USER = os.environ.get("EGERIA_USER", "erinoverview")
|
|
42
25
|
EGERIA_USER_PASSWORD = os.environ.get("EGERIA_USER_PASSWORD", "secret")
|
|
43
|
-
|
|
44
|
-
EGERIA_JUPYTER = os.environ.get("EGERIA_JUPYTER", False)
|
|
45
|
-
EGERIA_HOME_GLOSSARY_GUID = os.environ.get("EGERIA_HOME_GLOSSARY_GUID", None)
|
|
46
|
-
EGERIA_GLOSSARY_PATH = os.environ.get("EGERIA_GLOSSARY_PATH", None)
|
|
26
|
+
|
|
47
27
|
|
|
48
28
|
|
|
49
29
|
@click.command("create-glossary")
|
|
50
30
|
@click.option("--name", help="Name of Glossary", required=True)
|
|
51
31
|
@click.option("--language", help="Language of Glossary", default="English")
|
|
52
|
-
@click.option(
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
)
|
|
57
|
-
@click.option(
|
|
58
|
-
"--usage",
|
|
59
|
-
help="Purpose of glossary",
|
|
60
|
-
default="Definitions",
|
|
61
|
-
)
|
|
62
|
-
@click.option("--server", default=EGERIA_VIEW_SERVER, help="Egeria view server to use.")
|
|
63
|
-
@click.option(
|
|
64
|
-
"--url", default=EGERIA_VIEW_SERVER_URL, help="URL of Egeria platform to connect to"
|
|
65
|
-
)
|
|
32
|
+
@click.option("--description", help="Description of Glossary", default="A description goes here")
|
|
33
|
+
@click.option("--usage", help="Purpose of glossary", default="Definitions")
|
|
34
|
+
@click.option("--category", help="Category of glossary")
|
|
35
|
+
@click.option("--server", default=app_config.egeria_view_server, help="Egeria view server to use.")
|
|
36
|
+
@click.option("--url", default=app_config.egeria_view_server_url, help="URL of view server to connect to")
|
|
66
37
|
@click.option("--userid", default=EGERIA_USER, help="Egeria user")
|
|
67
38
|
@click.option("--password", default=EGERIA_USER_PASSWORD, help="Egeria user password")
|
|
68
39
|
@click.option("--timeout", default=60, help="Number of seconds to wait")
|
|
69
40
|
def create_glossary(
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
41
|
+
server: str,
|
|
42
|
+
url: str,
|
|
43
|
+
userid: str,
|
|
44
|
+
password: str,
|
|
45
|
+
timeout: int,
|
|
46
|
+
name: str,
|
|
47
|
+
language: str,
|
|
48
|
+
description: str,
|
|
49
|
+
usage: str,
|
|
50
|
+
category: str,
|
|
79
51
|
) -> None:
|
|
80
|
-
"""Create a new Glossary"""
|
|
52
|
+
"""Create a new Glossary """
|
|
81
53
|
|
|
82
54
|
try:
|
|
83
55
|
m_client = EgeriaTech(server, url, userid, password)
|
|
84
56
|
token = m_client.create_egeria_bearer_token()
|
|
85
57
|
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
for glossary in existing_glossary:
|
|
92
|
-
if (
|
|
93
|
-
glossary["glossaryProperties"]["qualifiedName"]
|
|
94
|
-
== "Glossary:" + name
|
|
95
|
-
):
|
|
96
|
-
click.echo(
|
|
97
|
-
(
|
|
98
|
-
f"\tFound existing glossary: {glossary['glossaryProperties']['qualifiedName']} with id of {glossary['elementHeader']['guid']}\n"
|
|
99
|
-
"Exiting\n"
|
|
100
|
-
)
|
|
101
|
-
)
|
|
102
|
-
sys.exit(0)
|
|
103
|
-
else:
|
|
104
|
-
click.echo(
|
|
105
|
-
"Found glossaries with similar names but different qualifiedNames...proceeding\n"
|
|
106
|
-
)
|
|
107
|
-
|
|
108
|
-
glossary_guid = m_client.create_glossary(name, description, language, usage)
|
|
109
|
-
print(f"New glossary {name} created with id of {glossary_guid}")
|
|
110
|
-
|
|
111
|
-
except (InvalidParameterException, PropertyServerException) as e:
|
|
112
|
-
print_exception_response(e)
|
|
58
|
+
glossary_guid = m_client.create_glossary(name, description, language, usage, category)
|
|
59
|
+
print(f"New glossary `{name}` created with id of `{glossary_guid}`")
|
|
60
|
+
|
|
61
|
+
except (PyegeriaAPIException, PyegeriaClientException) as e:
|
|
62
|
+
print_basic_exception(e)
|
|
113
63
|
finally:
|
|
114
64
|
m_client.close_session()
|
|
115
65
|
|
|
116
66
|
|
|
117
67
|
@click.command("delete-glossary")
|
|
118
|
-
@click.option("--server", default=
|
|
68
|
+
@click.option("--server", default=app_config.egeria_view_server, help="Egeria view server to use")
|
|
119
69
|
@click.option(
|
|
120
|
-
"--url", default=
|
|
70
|
+
"--url", default=app_config.egeria_view_server_url, help="URL of Egeria platform to connect to"
|
|
121
71
|
)
|
|
122
72
|
@click.option("--userid", default=EGERIA_USER, help="Egeria user")
|
|
123
73
|
@click.option("--password", default=EGERIA_USER_PASSWORD, help="Egeria user password")
|
|
@@ -128,12 +78,12 @@ def delete_glossary(server, url, userid, password, timeout, glossary_guid):
|
|
|
128
78
|
m_client = EgeriaTech(server, url, user_id=userid, user_pwd=password)
|
|
129
79
|
token = m_client.create_egeria_bearer_token()
|
|
130
80
|
try:
|
|
131
|
-
m_client.delete_glossary(glossary_guid, cascade
|
|
81
|
+
m_client.delete_glossary(glossary_guid, cascade=False)
|
|
132
82
|
|
|
133
|
-
click.echo(f"Deleted glossary: {glossary_guid}")
|
|
83
|
+
click.echo(f"Deleted glossary: `{glossary_guid}`")
|
|
134
84
|
|
|
135
|
-
except (
|
|
136
|
-
|
|
85
|
+
except (PyegeriaAPIException, PyegeriaClientException) as e:
|
|
86
|
+
print_basic_exception(e)
|
|
137
87
|
finally:
|
|
138
88
|
m_client.close_session()
|
|
139
89
|
|
|
@@ -141,50 +91,43 @@ def delete_glossary(server, url, userid, password, timeout, glossary_guid):
|
|
|
141
91
|
@click.command("create-term")
|
|
142
92
|
@click.option("--glossary-name", help="Name of Glossary", required=True)
|
|
143
93
|
@click.option("--term-name", help="Name of Term", required=True)
|
|
144
|
-
@click.option("--qualified-name",
|
|
145
|
-
@click.option(
|
|
146
|
-
|
|
147
|
-
help="Summary definition",
|
|
148
|
-
default="Summary goes here",
|
|
149
|
-
)
|
|
150
|
-
@click.option(
|
|
151
|
-
"--description",
|
|
152
|
-
help="Full description",
|
|
153
|
-
default="Description goes here",
|
|
154
|
-
)
|
|
94
|
+
@click.option("--qualified-name", help="Qualified name of Term", default=None)
|
|
95
|
+
@click.option("--summary", help="Summary definition", default="Summary goes here")
|
|
96
|
+
@click.option("--description", help="Full description", default="Description goes here")
|
|
155
97
|
@click.option("--abbrev", help="Abbreviation", default=None)
|
|
156
98
|
@click.option("--examples", help="Example usage", default=None)
|
|
157
99
|
@click.option("--usage", help="Usage notes", default=None)
|
|
158
100
|
@click.option("--version", help="Version", default="1.0")
|
|
159
|
-
@click.option(
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
default="DRAFT",
|
|
166
|
-
)
|
|
167
|
-
@click.option("--server", default=EGERIA_VIEW_SERVER, help="Egeria view server to use.")
|
|
168
|
-
@click.option(
|
|
169
|
-
"--url", default=EGERIA_VIEW_SERVER_URL, help="URL of Egeria platform to connect to"
|
|
170
|
-
)
|
|
101
|
+
@click.option("--status", help="Status",
|
|
102
|
+
type_name = click.Choice(TERM_STATUS, case_sensitive=False
|
|
103
|
+
), default="DRAFT")
|
|
104
|
+
@click.option("--server", default=app_config.egeria_view_server, help="Egeria view server to use.")
|
|
105
|
+
@click.option("--url", default=app_config.egeria_view_server_url,
|
|
106
|
+
help="URL of Egeria platform to connect to")
|
|
171
107
|
@click.option("--userid", default=EGERIA_USER, help="Egeria user")
|
|
172
108
|
@click.option("--password", default=EGERIA_USER_PASSWORD, help="Egeria user password")
|
|
173
109
|
@click.option("--timeout", default=60, help="Number of seconds to wait")
|
|
174
110
|
def create_term(server, url, userid, password, glossary_name, term_name, summary, description, abbrev, examples, usage,
|
|
175
111
|
version, status, timeout: int = 120, qualified_name=None) -> str:
|
|
176
|
-
"""Create a new term
|
|
177
|
-
|
|
178
|
-
Args:
|
|
179
|
-
qualified_name:
|
|
180
|
-
"""
|
|
112
|
+
"""Create a new term """
|
|
181
113
|
m_client = EgeriaTech(server, url, user_id=userid, user_pwd=password)
|
|
182
114
|
token = m_client.create_egeria_bearer_token()
|
|
183
115
|
if qualified_name is None:
|
|
184
|
-
qualified_name = m_client.__create_qualified_name__('Term', term_name
|
|
116
|
+
qualified_name = m_client.__create_qualified_name__('Term', term_name,
|
|
117
|
+
settings.User_Profile.egeria_local_qualifier)
|
|
185
118
|
try:
|
|
119
|
+
glossary_guid = m_client.__get_guid__(display_name = glossary_name, property_name = "displayName")
|
|
120
|
+
if glossary_guid == NO_ELEMENTS_FOUND:
|
|
121
|
+
click.echo(f"The glossary name {glossary_name} was not found..exiting\n")
|
|
122
|
+
sys.exit(0)
|
|
123
|
+
|
|
186
124
|
body = {
|
|
187
|
-
"class": "
|
|
125
|
+
"class": "NewElementRequestBody",
|
|
126
|
+
"parentGUID" : glossary_guid,
|
|
127
|
+
"parentRelationshipTypeName" : "CollectionMembership",
|
|
128
|
+
"anchorScopeGUID" : glossary_guid,
|
|
129
|
+
"isOwnAnchor": True,
|
|
130
|
+
"parentAtEnd1": True,
|
|
188
131
|
"elementProperties": {
|
|
189
132
|
"class": "GlossaryTermProperties",
|
|
190
133
|
"qualifiedName": qualified_name,
|
|
@@ -198,124 +141,131 @@ def create_term(server, url, userid, password, glossary_name, term_name, summary
|
|
|
198
141
|
},
|
|
199
142
|
"initialStatus": status,
|
|
200
143
|
}
|
|
201
|
-
exists = False
|
|
202
|
-
glossary_info = m_client.find_glossaries(glossary_name)
|
|
203
|
-
if type(glossary_info) is list:
|
|
204
|
-
for glossary in glossary_info:
|
|
205
|
-
if glossary["glossaryProperties"]["displayName"] == glossary_name:
|
|
206
|
-
exists = True
|
|
207
|
-
glossary_guid = glossary["elementHeader"]["guid"]
|
|
208
|
-
|
|
209
|
-
if not exists:
|
|
210
|
-
click.echo(f"The glossary name {glossary_name} was not found..exiting\n")
|
|
211
|
-
sys.exit(0)
|
|
212
144
|
|
|
213
|
-
term_guid = m_client.
|
|
214
|
-
glossary_guid, body_slimmer(body)
|
|
145
|
+
term_guid = m_client.create_glossary_term(body_slimmer(body)
|
|
215
146
|
)
|
|
216
147
|
|
|
217
148
|
click.echo(
|
|
218
|
-
f"Successfully created term {term_name} with GUID {term_guid}
|
|
149
|
+
f"Successfully created term `{term_name}` with GUID `{term_guid}`, in glossary `{glossary_name}`.\n"
|
|
219
150
|
)
|
|
220
151
|
return term_guid
|
|
221
|
-
except (
|
|
222
|
-
|
|
152
|
+
except (PyegeriaAPIException, PyegeriaClientException) as e:
|
|
153
|
+
print_basic_exception(e)
|
|
223
154
|
finally:
|
|
224
155
|
m_client.close_session()
|
|
225
156
|
|
|
226
157
|
|
|
227
|
-
@click.command("
|
|
228
|
-
@click.option("--
|
|
229
|
-
@click.option(
|
|
230
|
-
|
|
231
|
-
)
|
|
158
|
+
@click.command("update-term")
|
|
159
|
+
@click.option("--term-guid", help="GUID of the Term", required=True)
|
|
160
|
+
@click.option("--summary", help="Summary definition", default="Summary goes here")
|
|
161
|
+
@click.option("--description", help="Full description", default="Description goes here")
|
|
162
|
+
@click.option("--abbrev", help="Abbreviation", default=None)
|
|
163
|
+
@click.option("--examples", help="Example usage", default=None)
|
|
164
|
+
@click.option("--usage", help="Usage notes", default=None)
|
|
165
|
+
@click.option("--version", help="Version", default="1.0")
|
|
166
|
+
@click.option("--server", default=app_config.egeria_view_server, help="Egeria view server to use.")
|
|
167
|
+
@click.option("--url", default=app_config.egeria_view_server_url,
|
|
168
|
+
help="URL of Egeria platform to connect to")
|
|
232
169
|
@click.option("--userid", default=EGERIA_USER, help="Egeria user")
|
|
233
170
|
@click.option("--password", default=EGERIA_USER_PASSWORD, help="Egeria user password")
|
|
234
171
|
@click.option("--timeout", default=60, help="Number of seconds to wait")
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
"""
|
|
172
|
+
def update_term(server, url, userid, password, term_name, summary, description, abbrev, examples, usage,
|
|
173
|
+
version, timeout: int = 120) -> None:
|
|
174
|
+
"""Update a term """
|
|
238
175
|
m_client = EgeriaTech(server, url, user_id=userid, user_pwd=password)
|
|
239
176
|
token = m_client.create_egeria_bearer_token()
|
|
177
|
+
|
|
240
178
|
try:
|
|
241
|
-
|
|
242
|
-
|
|
179
|
+
body = {
|
|
180
|
+
"class": "UpdateElementRequestBody",
|
|
181
|
+
"mergeUpdate": True,
|
|
182
|
+
"elementProperties": {
|
|
183
|
+
"class": "GlossaryTermProperties",
|
|
184
|
+
"displayName": term_name,
|
|
185
|
+
"summary": summary,
|
|
186
|
+
"description": description,
|
|
187
|
+
"abbreviation": abbrev,
|
|
188
|
+
"examples": examples,
|
|
189
|
+
"usage": usage,
|
|
190
|
+
"publishVersionIdentifier": version,
|
|
191
|
+
},
|
|
192
|
+
}
|
|
243
193
|
|
|
244
|
-
m_client.
|
|
194
|
+
term_guid = m_client.update_glossary_term(body_slimmer(body)
|
|
195
|
+
)
|
|
245
196
|
|
|
246
197
|
click.echo(
|
|
247
|
-
f"
|
|
198
|
+
f"Successfully updated term `{term_name}` with GUID `{term_guid}`.\n"
|
|
248
199
|
)
|
|
249
200
|
|
|
250
|
-
except (
|
|
251
|
-
|
|
201
|
+
except (PyegeriaAPIException, PyegeriaClientException) as e:
|
|
202
|
+
print_basic_exception(e)
|
|
252
203
|
finally:
|
|
253
204
|
m_client.close_session()
|
|
254
205
|
|
|
255
|
-
|
|
256
|
-
@click.
|
|
257
|
-
@click.option(
|
|
258
|
-
|
|
259
|
-
)
|
|
206
|
+
|
|
207
|
+
@click.command("update-term-status")
|
|
208
|
+
@click.option("--term-guid", help="GUID of the Term", required=True)
|
|
209
|
+
@click.option("--status", help="Status",
|
|
210
|
+
type_name = click.Choice(TERM_STATUS, case_sensitive=False), default="DRAFT")
|
|
211
|
+
@click.option("--server", default=app_config.egeria_view_server, help="Egeria view server to use.")
|
|
212
|
+
@click.option("--url", default=app_config.egeria_view_server_url,
|
|
213
|
+
help="URL of Egeria platform to connect to")
|
|
260
214
|
@click.option("--userid", default=EGERIA_USER, help="Egeria user")
|
|
261
215
|
@click.option("--password", default=EGERIA_USER_PASSWORD, help="Egeria user password")
|
|
262
216
|
@click.option("--timeout", default=60, help="Number of seconds to wait")
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
def add_term_to_category(server, url, userid, password, timeout, term_guid, category_guid):
|
|
267
|
-
"""Add a glossary term to a category"""
|
|
217
|
+
def update_term_status(server, url, userid, password, term_guid, status, timeout: int = 120) -> None:
|
|
218
|
+
"""Update a term """
|
|
268
219
|
m_client = EgeriaTech(server, url, user_id=userid, user_pwd=password)
|
|
269
220
|
token = m_client.create_egeria_bearer_token()
|
|
221
|
+
|
|
270
222
|
try:
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
m_client.add_term_to_category(term_guid, category_guid)
|
|
223
|
+
|
|
224
|
+
term_guid = m_client.update_glossary_term_status(term_guid, status)
|
|
274
225
|
|
|
275
226
|
click.echo(
|
|
276
|
-
f"
|
|
227
|
+
f"Successfully updated term {term_guid} with status `{status}`.\n"
|
|
277
228
|
)
|
|
278
229
|
|
|
279
|
-
except (
|
|
280
|
-
|
|
230
|
+
except (PyegeriaAPIException, PyegeriaClientException) as e:
|
|
231
|
+
print_basic_exception(e)
|
|
281
232
|
finally:
|
|
282
233
|
m_client.close_session()
|
|
283
234
|
|
|
284
|
-
|
|
285
|
-
@click.
|
|
235
|
+
|
|
236
|
+
@click.command("delete-term")
|
|
237
|
+
@click.option("--server", default=app_config.egeria_view_server, help="Egeria view server to use")
|
|
286
238
|
@click.option(
|
|
287
|
-
"--url", default=
|
|
239
|
+
"--url", default=app_config.egeria_view_server_url, help="URL of Egeria View Server to connect to"
|
|
288
240
|
)
|
|
289
241
|
@click.option("--userid", default=EGERIA_USER, help="Egeria user")
|
|
290
242
|
@click.option("--password", default=EGERIA_USER_PASSWORD, help="Egeria user password")
|
|
291
243
|
@click.option("--timeout", default=60, help="Number of seconds to wait")
|
|
292
|
-
@click.
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
def remove_term_from_category(server, url, userid, password, timeout, term_guid, category_guid):
|
|
296
|
-
"""Add a glossary term to a category"""
|
|
244
|
+
@click.argument("term-guid")
|
|
245
|
+
def delete_term(server, url, userid, password, timeout, term_guid):
|
|
246
|
+
"""Delete a glossary term"""
|
|
297
247
|
m_client = EgeriaTech(server, url, user_id=userid, user_pwd=password)
|
|
298
248
|
token = m_client.create_egeria_bearer_token()
|
|
299
249
|
try:
|
|
300
250
|
term_guid = term_guid.strip()
|
|
301
|
-
|
|
302
|
-
|
|
251
|
+
term_info = m_client.get_terms_by_guid(term_guid)
|
|
252
|
+
|
|
253
|
+
m_client.delete_term(term_guid)
|
|
303
254
|
|
|
304
255
|
click.echo(
|
|
305
|
-
f"
|
|
256
|
+
f"Deleted term with GUID: {term_guid} and Display Name: {term_info['glossaryTermProperties']['displayName']}"
|
|
306
257
|
)
|
|
307
258
|
|
|
308
|
-
except (
|
|
309
|
-
|
|
259
|
+
except (PyegeriaAPIException, PyegeriaClientException) as e:
|
|
260
|
+
print_basic_exception(e)
|
|
310
261
|
finally:
|
|
311
262
|
m_client.close_session()
|
|
312
263
|
|
|
313
|
-
|
|
314
264
|
@click.command("import-terms-from-csv")
|
|
315
265
|
@click.option("--glossary_name", help="Name of Glossary", required=True)
|
|
316
266
|
@click.option("--file_name", help="Name of CSV file", required=True)
|
|
317
267
|
@click.option(
|
|
318
|
-
"--
|
|
268
|
+
"--input_file", help="Path of CSV file", default=app_config.egeria_glossary_path, required=False
|
|
319
269
|
)
|
|
320
270
|
@click.option(
|
|
321
271
|
"--verbose",
|
|
@@ -329,24 +279,24 @@ def remove_term_from_category(server, url, userid, password, timeout, term_guid,
|
|
|
329
279
|
default=True,
|
|
330
280
|
help="If set, terms will be updated if they exist; otherwise they would be appended",
|
|
331
281
|
)
|
|
332
|
-
@click.option("--server", default=
|
|
282
|
+
@click.option("--server", default=app_config.egeria_view_server, help="Egeria view server to use")
|
|
333
283
|
@click.option(
|
|
334
|
-
"--url", default=
|
|
284
|
+
"--url", default=app_config.egeria_view_server_url, help="URL of Egeria platform to connect to"
|
|
335
285
|
)
|
|
336
286
|
@click.option("--userid", default=EGERIA_USER, help="Egeria user")
|
|
337
287
|
@click.option("--password", default=EGERIA_USER_PASSWORD, help="Egeria user password")
|
|
338
288
|
@click.option("--timeout", default=60, help="Number of seconds to wait")
|
|
339
289
|
def import_terms_csv(
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
290
|
+
glossary_name: str,
|
|
291
|
+
file_path: str,
|
|
292
|
+
file_name: str,
|
|
293
|
+
verbose: bool,
|
|
294
|
+
upsert: bool,
|
|
295
|
+
server: str,
|
|
296
|
+
url: str,
|
|
297
|
+
userid: str,
|
|
298
|
+
password: str,
|
|
299
|
+
timeout: int,
|
|
350
300
|
):
|
|
351
301
|
"""Load terms from file into the glossary specified"""
|
|
352
302
|
m_client = EgeriaTech(server, url, user_id=userid, user_pwd=password)
|
|
@@ -364,10 +314,10 @@ def import_terms_csv(
|
|
|
364
314
|
f"Loaded terms from into glossary: {glossary_name} from {file_name}"
|
|
365
315
|
)
|
|
366
316
|
if verbose:
|
|
367
|
-
print(f"\n Verbose output:\n{json.dumps(result, indent
|
|
317
|
+
print(f"\n Verbose output:\n{json.dumps(result, indent=2)}")
|
|
368
318
|
|
|
369
|
-
except (
|
|
370
|
-
|
|
319
|
+
except (PyegeriaAPIException, PyegeriaClientException) as e:
|
|
320
|
+
print_basic_exception(e)
|
|
371
321
|
finally:
|
|
372
322
|
m_client.close_session()
|
|
373
323
|
|
|
@@ -380,17 +330,17 @@ def import_terms_csv(
|
|
|
380
330
|
)
|
|
381
331
|
@click.option("--file_name", help="Name of CSV file", required=True)
|
|
382
332
|
@click.option(
|
|
383
|
-
"--
|
|
333
|
+
"--input_file", help="Path of CSV file", default=app_config.egeria_glossary_path, required=False
|
|
384
334
|
)
|
|
385
|
-
@click.option("--server", default=
|
|
335
|
+
@click.option("--server", default=app_config.egeria_view_server, help="Egeria view server to use")
|
|
386
336
|
@click.option(
|
|
387
|
-
"--url", default=
|
|
337
|
+
"--url", default=app_config.egeria_view_server_url, help="URL of Egeria platform to connect to"
|
|
388
338
|
)
|
|
389
339
|
@click.option("--userid", default=EGERIA_USER, help="Egeria user")
|
|
390
340
|
@click.option("--password", default=EGERIA_USER_PASSWORD, help="Egeria user password")
|
|
391
341
|
@click.option("--timeout", default=60, help="Number of seconds to wait")
|
|
392
342
|
def export_terms_csv(
|
|
393
|
-
|
|
343
|
+
glossary_guid: str, file_name, file_path, server, url, userid, password, timeout
|
|
394
344
|
):
|
|
395
345
|
"""Export the glossary specified"""
|
|
396
346
|
m_client = EgeriaTech(server, url, user_id=userid, user_pwd=password)
|
|
@@ -402,111 +352,8 @@ def export_terms_csv(
|
|
|
402
352
|
f"Exported {result} terms from glossary: {glossary_guid} into {file_name}"
|
|
403
353
|
)
|
|
404
354
|
|
|
405
|
-
except (
|
|
406
|
-
|
|
407
|
-
finally:
|
|
408
|
-
m_client.close_session()
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
@click.command("create-category")
|
|
412
|
-
@click.option("--name", help="Name of glossary Category", required=True)
|
|
413
|
-
@click.option("--glossary_name", help="Glossary name", required=True)
|
|
414
|
-
@click.option(
|
|
415
|
-
"--description",
|
|
416
|
-
help="Description of Category",
|
|
417
|
-
default="A description goes here",
|
|
418
|
-
)
|
|
419
|
-
@click.option(
|
|
420
|
-
"--is_root",
|
|
421
|
-
help="Is this a root category?",
|
|
422
|
-
default=True,
|
|
423
|
-
is_flag=True,
|
|
424
|
-
)
|
|
425
|
-
@click.option("--server", default=EGERIA_VIEW_SERVER, help="Egeria view server to use.")
|
|
426
|
-
@click.option(
|
|
427
|
-
"--url", default=EGERIA_VIEW_SERVER_URL, help="URL of Egeria platform to connect to"
|
|
428
|
-
)
|
|
429
|
-
@click.option("--userid", default=EGERIA_USER, help="Egeria user")
|
|
430
|
-
@click.option("--password", default=EGERIA_USER_PASSWORD, help="Egeria user password")
|
|
431
|
-
@click.option("--timeout", default=60, help="Number of seconds to wait")
|
|
432
|
-
def create_category(
|
|
433
|
-
server: str,
|
|
434
|
-
url: str,
|
|
435
|
-
userid: str,
|
|
436
|
-
password: str,
|
|
437
|
-
timeout: int,
|
|
438
|
-
name: str,
|
|
439
|
-
glossary_name: str,
|
|
440
|
-
description: str,
|
|
441
|
-
is_root: bool,
|
|
442
|
-
) -> None:
|
|
443
|
-
"""Create a new Glossary Category"""
|
|
444
|
-
|
|
445
|
-
try:
|
|
446
|
-
m_client = EgeriaTech(server, url, userid, password)
|
|
447
|
-
token = m_client.create_egeria_bearer_token()
|
|
448
|
-
|
|
449
|
-
existing_glossary = m_client.find_glossaries(glossary_name)
|
|
450
|
-
if type(existing_glossary) is str:
|
|
451
|
-
click.echo(existing_glossary)
|
|
452
|
-
sys.exit(0)
|
|
453
|
-
if type(existing_glossary) is list and len(existing_glossary) == 1:
|
|
454
|
-
q_name = existing_glossary["glossaryProperties"]["qualifiedName"]
|
|
455
|
-
glossary_guid = existing_glossary["elementHeader"]["guid"]
|
|
456
|
-
category_guid = m_client.create_category(glossary_guid,name,description, is_root)
|
|
457
|
-
print(f"New categry \'{name}\' created with id of \'{category_guid}\'")
|
|
458
|
-
|
|
459
|
-
except (InvalidParameterException, PropertyServerException) as e:
|
|
460
|
-
print_exception_response(e)
|
|
461
|
-
finally:
|
|
462
|
-
m_client.close_session()
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
@click.command("update-category")
|
|
466
|
-
@click.option("--server", default=EGERIA_VIEW_SERVER, help="Egeria view server to use")
|
|
467
|
-
@click.option(
|
|
468
|
-
"--url", default=EGERIA_VIEW_SERVER_URL, help="URL of Egeria platform to connect to"
|
|
469
|
-
)
|
|
470
|
-
@click.option("--userid", default=EGERIA_USER, help="Egeria user")
|
|
471
|
-
@click.option("--password", default=EGERIA_USER_PASSWORD, help="Egeria user password")
|
|
472
|
-
@click.option("--timeout", default=60, help="Number of seconds to wait")
|
|
473
|
-
@click.argument("category-guid")
|
|
474
|
-
@click.option("--name", help="Name of glossary Category", required=True)
|
|
475
|
-
@click.option("--glossary_name", help="Glossary name", required=True)
|
|
476
|
-
@click.option("--description", help="Description of Category", default="A description goes here")
|
|
477
|
-
def update_category(category_guid, name, description, server, url, userid, password, timeout, ):
|
|
478
|
-
"""Delete the glossary specified"""
|
|
479
|
-
m_client = EgeriaTech(server, url, user_id=userid, user_pwd=password)
|
|
480
|
-
token = m_client.create_egeria_bearer_token()
|
|
481
|
-
try:
|
|
482
|
-
m_client.update_category(category_guid, name, description)
|
|
483
|
-
|
|
484
|
-
click.echo(f"Updated glossary: {category_guid}")
|
|
485
|
-
|
|
486
|
-
except (InvalidParameterException, PropertyServerException) as e:
|
|
487
|
-
print_exception_response(e)
|
|
355
|
+
except (PyegeriaAPIException, PyegeriaClientException) as e:
|
|
356
|
+
print_basic_exception(e)
|
|
488
357
|
finally:
|
|
489
358
|
m_client.close_session()
|
|
490
359
|
|
|
491
|
-
@click.command("delete-category")
|
|
492
|
-
@click.option("--server", default=EGERIA_VIEW_SERVER, help="Egeria view server to use")
|
|
493
|
-
@click.option(
|
|
494
|
-
"--url", default=EGERIA_VIEW_SERVER_URL, help="URL of Egeria platform to connect to"
|
|
495
|
-
)
|
|
496
|
-
@click.option("--userid", default=EGERIA_USER, help="Egeria user")
|
|
497
|
-
@click.option("--password", default=EGERIA_USER_PASSWORD, help="Egeria user password")
|
|
498
|
-
@click.option("--timeout", default=60, help="Number of seconds to wait")
|
|
499
|
-
@click.argument("category-guid")
|
|
500
|
-
def delete_category(server, url, userid, password, timeout, category_guid):
|
|
501
|
-
"""Delete the glossary specified"""
|
|
502
|
-
m_client = EgeriaTech(server, url, user_id=userid, user_pwd=password)
|
|
503
|
-
token = m_client.create_egeria_bearer_token()
|
|
504
|
-
try:
|
|
505
|
-
m_client.delete_category(category_guid)
|
|
506
|
-
|
|
507
|
-
click.echo(f"Deleted glossary: {category_guid}")
|
|
508
|
-
|
|
509
|
-
except (InvalidParameterException, PropertyServerException) as e:
|
|
510
|
-
print_exception_response(e)
|
|
511
|
-
finally:
|
|
512
|
-
m_client.close_session()
|
commands/cat/list_assets.py
CHANGED
|
@@ -20,10 +20,7 @@ from rich.text import Text
|
|
|
20
20
|
|
|
21
21
|
from pyegeria import (
|
|
22
22
|
AssetCatalog,
|
|
23
|
-
|
|
24
|
-
PropertyServerException,
|
|
25
|
-
UserNotAuthorizedException,
|
|
26
|
-
print_exception_response,
|
|
23
|
+
PyegeriaAPIException, PyegeriaClientException, print_basic_exception, print_exception_table
|
|
27
24
|
)
|
|
28
25
|
|
|
29
26
|
EGERIA_METADATA_STORE = os.environ.get("EGERIA_METADATA_STORE", "active-metadata-store")
|
|
@@ -89,7 +86,6 @@ def display_assets(
|
|
|
89
86
|
ends_with=False,
|
|
90
87
|
ignore_case=True,
|
|
91
88
|
page_size=100,
|
|
92
|
-
time_out=time_out,
|
|
93
89
|
)
|
|
94
90
|
if type(assets) is str:
|
|
95
91
|
return table
|
|
@@ -138,12 +134,8 @@ def display_assets(
|
|
|
138
134
|
with console.pager(styles=True):
|
|
139
135
|
console.print(generate_table(search_string), soft_wrap=True)
|
|
140
136
|
|
|
141
|
-
except (
|
|
142
|
-
|
|
143
|
-
PropertyServerException,
|
|
144
|
-
UserNotAuthorizedException,
|
|
145
|
-
) as e:
|
|
146
|
-
console.print_exception()
|
|
137
|
+
except (PyegeriaAPIException, PyegeriaClientException) as e:
|
|
138
|
+
print_basic_exception(e)
|
|
147
139
|
sys.exit(1)
|
|
148
140
|
|
|
149
141
|
except ValueError as e:
|