pyegeria 5.3.3.10.dev9__py3-none-any.whl → 5.3.3.11__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/__init__.py +4 -3
- pyegeria/commands/tech/list_information_supply_chains.py +151 -0
- pyegeria/commands/tech/list_isolution_blueprints.py +166 -0
- pyegeria/commands/tech/list_isolution_blueprints2.py +164 -0
- pyegeria/commands/tech/work/mermaid_graphs/Clinical Trial Subject Onboarding.mmd +49 -0
- pyegeria/commands/tech/work/mermaid_graphs/Clinical Trial Treatment Validation.mmd +129 -0
- pyegeria/commands/tech/work/mermaid_graphs/Employee Expense Payment.mmd +40 -0
- pyegeria/commands/tech/work/mermaid_graphs/New Drug Product Information Distribution.mmd +55 -0
- pyegeria/commands/tech/work/mermaid_graphs/New Employee Onboarding.mmd +52 -0
- pyegeria/commands/tech/work/mermaid_graphs/Personalized Treatment Ordering.mmd +57 -0
- pyegeria/commands/tech/work/mermaid_graphs/Physical Inventory Tracking.mmd +92 -0
- pyegeria/commands/tech/work/mermaid_graphs/Sustainability Reporting.mmd +117 -0
- pyegeria/commands/tech/work/mermaid_graphs/{{displayName}}.mmd +29 -0
- pyegeria/egeria_client.py +5 -0
- pyegeria/egeria_tech_client.py +5 -2
- pyegeria/mermaid_utilities.py +31 -1
- pyegeria/solution_architect_omvs.py +8 -1
- {pyegeria-5.3.3.10.dev9.dist-info → pyegeria-5.3.3.11.dist-info}/METADATA +1 -1
- {pyegeria-5.3.3.10.dev9.dist-info → pyegeria-5.3.3.11.dist-info}/RECORD +22 -11
- {pyegeria-5.3.3.10.dev9.dist-info → pyegeria-5.3.3.11.dist-info}/entry_points.txt +1 -1
- pyegeria/commands/cat/get_information_supply_chains.py +0 -207
- {pyegeria-5.3.3.10.dev9.dist-info → pyegeria-5.3.3.11.dist-info}/LICENSE +0 -0
- {pyegeria-5.3.3.10.dev9.dist-info → pyegeria-5.3.3.11.dist-info}/WHEEL +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
pyegeria/.DS_Store,sha256=NXvKqE04FGJAyq25tRApO9AJj14vF1vzFC-R0JjEWhc,6148
|
2
2
|
pyegeria/README.md,sha256=PwX5OC7-YSZUCIsoyHh1O-WBM2hE84sm3Bd4O353NOk,1464
|
3
|
-
pyegeria/__init__.py,sha256
|
3
|
+
pyegeria/__init__.py,sha256=-yvL4_Qv-lt7Fh85wvtVFYA_VBUXE1vO5Fq-EvvXNDM,22023
|
4
4
|
pyegeria/_client.py,sha256=Hj8Tmo6DuKJPLROZrUw7NXzo7O_BgbewlvRwJZPKPBA,30889
|
5
5
|
pyegeria/_deprecated_gov_engine.py,sha256=dWNcwVsE5__dF2u4QiIyQrssozzzOjBbLld8MdpmVCQ,17264
|
6
6
|
pyegeria/_exceptions.py,sha256=NJ7vAhmvusK1ENvY2MMrBB6A6TgpYjzS9QJxFH56b8c,18470
|
@@ -41,7 +41,6 @@ pyegeria/commands/cat/__pycache__/list_user_ids.cpython-312.pyc,sha256=d03sLltHH
|
|
41
41
|
pyegeria/commands/cat/exp_list_glossaries.py,sha256=HxMa5r7XxsH29KJ9GLOqIXD_PpUvrzsHe41LBWCZUTc,5811
|
42
42
|
pyegeria/commands/cat/get_asset_graph.py,sha256=tHTib3AjbXzrGkOHE2SO51O_ARPjmmDq1UDbE8XSd7o,12454
|
43
43
|
pyegeria/commands/cat/get_collection.py,sha256=ukUZA4Ot_Gjaym6LmFiWoGezshbcygJPowwHLooVHck,5359
|
44
|
-
pyegeria/commands/cat/get_information_supply_chains.py,sha256=j8G5ZBqEjipxOLbQKxdueERopRBmULxSyHOVHJC_Bow,7642
|
45
44
|
pyegeria/commands/cat/get_project_dependencies.py,sha256=NCUTAHAzScjQwoAHLf1DC9rGPg53VfjaTR96eahgjq8,5988
|
46
45
|
pyegeria/commands/cat/get_project_structure.py,sha256=h6q5Ps3xRhV2Zqh6295nDCgVThUrWX5O-JC0qaSIM5s,5976
|
47
46
|
pyegeria/commands/cat/get_tech_type_elements.py,sha256=9F0wBy8ireLFHLNChxkM4A7xJ4uFL4XKdXlm6roDk2I,6185
|
@@ -273,6 +272,9 @@ pyegeria/commands/tech/list_elements_by_property_value.py,sha256=3OG8uyPKY3zX-K_
|
|
273
272
|
pyegeria/commands/tech/list_elements_by_property_value_x.py,sha256=y77Nszqg5XtyQXwKm3XjB38gwmlpiULEn4NLr_SnRug,7065
|
274
273
|
pyegeria/commands/tech/list_elements_for_classification.py,sha256=jck8bPQHiS61IKslmA2a_B1iopHZ0cE50vAs6Ud2Gkc,6207
|
275
274
|
pyegeria/commands/tech/list_gov_action_processes.py,sha256=NaoZ3t5n1uXcLI0OdUAgMTuzDrEkptY9w7uQeZ4KZP8,4587
|
275
|
+
pyegeria/commands/tech/list_information_supply_chains.py,sha256=UeXyetEJcuWC2PdkkysN0w_aJffDaEMMdBVdeFkHDME,5536
|
276
|
+
pyegeria/commands/tech/list_isolution_blueprints.py,sha256=PDU1QCnE44r0cMAgUHJ49RpTK-rbgiy7Gzh9GOlMSBk,6285
|
277
|
+
pyegeria/commands/tech/list_isolution_blueprints2.py,sha256=xY5JuUET3DHV_VWsdSIbtPZZX5umEf0ORnEuQod9m10,6164
|
276
278
|
pyegeria/commands/tech/list_registered_services.py,sha256=fNh21Acd5bCbOQmxpDMOH6QNT5GkiGPLZpadbzIA8F8,6541
|
277
279
|
pyegeria/commands/tech/list_related_elements_with_prop_value.py,sha256=NhWSfJmtBIUN5IBWEK_uQn0OxpCeWnVhy0kaZ_gyEGw,8157
|
278
280
|
pyegeria/commands/tech/list_related_specification.py,sha256=aMUZBiQcTMaNTvSgGUsRjqvqhmebP9iO0eAlbJsDWBk,5925
|
@@ -281,19 +283,28 @@ pyegeria/commands/tech/list_relationships.py,sha256=lKZBQleZRK9qDCAUOExejl5gtYb0
|
|
281
283
|
pyegeria/commands/tech/list_tech_templates.py,sha256=FvJ2qAHo7yoCdd9LnZtvWjd3DQEvD0P5wfz5-D5qjmw,14153
|
282
284
|
pyegeria/commands/tech/list_valid_metadata_values.py,sha256=Mv4eSHCR_pR0llWRrpMIzNKA6_QEr8qccAv4NQv4dg0,6340
|
283
285
|
pyegeria/commands/tech/table_tech_templates.py,sha256=kv9VWhZ6pEN-1vEjo6IprliwFTjumjdVV3IWQB2HzI4,9503
|
286
|
+
pyegeria/commands/tech/work/mermaid_graphs/Clinical Trial Subject Onboarding.mmd,sha256=8TSURyiSqdOcu-5WWNbOLgCctXFBMeCq0c0lj9mZq-A,2625
|
287
|
+
pyegeria/commands/tech/work/mermaid_graphs/Clinical Trial Treatment Validation.mmd,sha256=U7SzesnbzNBZLO1ngjRCzNFW3hFt3PO2-zs0y32LktU,8270
|
288
|
+
pyegeria/commands/tech/work/mermaid_graphs/Employee Expense Payment.mmd,sha256=SbitTvnKlqABBB6Rco8o6BMS8pl5-Nms1NVD7zKm6FU,1784
|
289
|
+
pyegeria/commands/tech/work/mermaid_graphs/New Drug Product Information Distribution.mmd,sha256=ifpwvF-4GVAfq5esHftDcIMXfk1xlz1u86Q22Yo1-0A,2936
|
290
|
+
pyegeria/commands/tech/work/mermaid_graphs/New Employee Onboarding.mmd,sha256=ermDXFOI5_7AvT-Wn-yAoR7HGDPq9iLsVdenq14klPU,2684
|
291
|
+
pyegeria/commands/tech/work/mermaid_graphs/Personalized Treatment Ordering.mmd,sha256=_Ahf4R77ZhDJq85dmBA64KZmpkf0zKuS-5Qrq_AhGEw,3101
|
292
|
+
pyegeria/commands/tech/work/mermaid_graphs/Physical Inventory Tracking.mmd,sha256=-A7ojS5ewxqmz83EwUR5RtdFlR3BiD3aEXYNCthnR4I,6031
|
293
|
+
pyegeria/commands/tech/work/mermaid_graphs/Sustainability Reporting.mmd,sha256=fMMvKDKUrpEOl3CUWzR98OvP-ksfCib4ZH0IuObIl00,7262
|
294
|
+
pyegeria/commands/tech/work/mermaid_graphs/{{displayName}}.mmd,sha256=hWU8uKXBQ_cu5oi8r5aNDMFbSCm5iTTc-qOZ1p0cugk,871
|
284
295
|
pyegeria/commands/tech/x_list_related_elements.py,sha256=viUFq_G52CvLO_RJsgN8fkLeIF89Tb8Gvl-nNfeDPSI,5871
|
285
296
|
pyegeria/core_omag_server_config.py,sha256=ej0oNpGelSTTm2oERS86LpgT9O9E5CZFbUm2Iek8f1E,97764
|
286
297
|
pyegeria/create_tech_guid_lists.py,sha256=mI__-i9U01emyqQMdPK2miealwQNiZfB23iiFGmrH0g,4640
|
287
298
|
pyegeria/egeria_cat_client.py,sha256=NzwDbdi5OBHOOA7JzIQC5LqJJ7xtEwHA5yaKrGkDFnc,2022
|
288
|
-
pyegeria/egeria_client.py,sha256=
|
299
|
+
pyegeria/egeria_client.py,sha256=B2hYs_gK0ck5Ci7socbrqeR9t1nj_Ot52JxzOgA_qP8,3574
|
289
300
|
pyegeria/egeria_config_client.py,sha256=Zm31u4e7o8mXTV93qD0IHluQuG73jYbArPFqypjaMso,1328
|
290
301
|
pyegeria/egeria_my_client.py,sha256=XHwbFmSZXJClKDBFV8_fyK9CWaap2FndurRjywKPQiU,1549
|
291
|
-
pyegeria/egeria_tech_client.py,sha256=
|
302
|
+
pyegeria/egeria_tech_client.py,sha256=tPWnv5ZNo-9jQVvxzPPN0GRG88C1fYRp8EkGlJRJKok,2768
|
292
303
|
pyegeria/feedback_manager_omvs.py,sha256=B66e3ZCaC_dirb0mcb2Nz3PYh2ZKsoMAYNOb3euNiro,152931
|
293
304
|
pyegeria/full_omag_server_config.py,sha256=k3fUfopAFAE3OKkFR7zZPiki_FYj6j2xQ4oD2SVaefQ,47350
|
294
305
|
pyegeria/glossary_browser_omvs.py,sha256=NcitYaZJqwVODBO5zBtWpXPNUJJ3DKzEbRaOFSAyUlg,93554
|
295
306
|
pyegeria/glossary_manager_omvs.py,sha256=tBjoHrrHJLasXoeQSpW-KpF3vEQdN_GR3jfcceTjt_c,132444
|
296
|
-
pyegeria/mermaid_utilities.py,sha256=
|
307
|
+
pyegeria/mermaid_utilities.py,sha256=ax32Q6YwXcyJP4nx9QIlQB5sD2Lq9rpIgkEDlpm9q4g,10664
|
297
308
|
pyegeria/metadata_explorer_omvs.py,sha256=XBg6q-JXOA8UYsT85nlpBVe4EQ6jxwj70MvE7tkVvH0,86905
|
298
309
|
pyegeria/my_profile_omvs.py,sha256=DyECbUFEcgokrIbzdMMNljC3bqfqKGXAF2wZEpzvRYs,34666
|
299
310
|
pyegeria/platform_services.py,sha256=CJIOYIFEbcIGwdWlApAQcXxZTsdrhFtpJcm4O3p7dG0,41646
|
@@ -301,13 +312,13 @@ pyegeria/project_manager_omvs.py,sha256=Y7Lyqh4jIujJrr_Ub7feo904FN_uz4R10T4hKhqE
|
|
301
312
|
pyegeria/registered_info.py,sha256=y0-LgDIQXpph0lEWxIOG3_HsqX_Z2iAIb3xu4Aa4B70,6344
|
302
313
|
pyegeria/runtime_manager_omvs.py,sha256=sZfxgM7zVfryVsun5GwDpUT5htap91ZoZLNU7wspWm4,79575
|
303
314
|
pyegeria/server_operations.py,sha256=PfH0wvWCOr43ezJAAXj7VEUdT0x_oTrfr0dzzQvcQk4,16766
|
304
|
-
pyegeria/solution_architect_omvs.py,sha256=
|
315
|
+
pyegeria/solution_architect_omvs.py,sha256=8QC0lGQQ0zwQ_se1SejieOP2BeEXWokD0rPhxrdokDE,23527
|
305
316
|
pyegeria/template_manager_omvs.py,sha256=Sw5xsQAhy7a48xFCg59mg9_nqyhawoS9v4WyF-PjPqM,42425
|
306
317
|
pyegeria/utils.py,sha256=1h6bwveadd6GpbnGLTmqPBmBk68QvxdjGTI9RfbrgKY,5415
|
307
318
|
pyegeria/valid_metadata_omvs.py,sha256=cCt5CCLv6BdzCu90n68r_PkG_PEQJjrtwCxio7K6yko,65034
|
308
319
|
pyegeria/x_action_author_omvs.py,sha256=xu1IQ0YbhIKi17C5a7Aq9u1Az2czwahNPpX9czmyVxE,6454
|
309
|
-
pyegeria-5.3.3.
|
310
|
-
pyegeria-5.3.3.
|
311
|
-
pyegeria-5.3.3.
|
312
|
-
pyegeria-5.3.3.
|
313
|
-
pyegeria-5.3.3.
|
320
|
+
pyegeria-5.3.3.11.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
|
321
|
+
pyegeria-5.3.3.11.dist-info/METADATA,sha256=ixGxYSbmYLXudiC4mZhTSkhyFbpyBPgcJ0j0MwP3-_M,2736
|
322
|
+
pyegeria-5.3.3.11.dist-info/WHEEL,sha256=IYZQI976HJqqOpQU6PHkJ8fb3tMNBFjg-Cn-pwAbaFM,88
|
323
|
+
pyegeria-5.3.3.11.dist-info/entry_points.txt,sha256=cLnCR81Pm2c35hDDg7BOlQ9Mtvx5wofuvwXHnL1bGis,5956
|
324
|
+
pyegeria-5.3.3.11.dist-info/RECORD,,
|
@@ -12,7 +12,6 @@ get_asset_graph=pyegeria.commands.cat.get_asset_graph:main
|
|
12
12
|
get_collection=pyegeria.commands.cat.get_collection:main
|
13
13
|
get_element_info=pyegeria.commands.tech.get_element_info:main
|
14
14
|
get_guid_info=pyegeria.commands.tech.get_guid_info:main
|
15
|
-
get_info_supply_chains=pyegeria.commands.cat.get_information_supply_chains:main
|
16
15
|
get_project_dependencies=pyegeria.commands.cat.get_project_dependencies:main
|
17
16
|
get_project_structure=pyegeria.commands.cat.get_project_structure:main
|
18
17
|
get_tech_details=pyegeria.commands.tech.get_tech_details:main
|
@@ -46,6 +45,7 @@ list_engine_activity_compressed=pyegeria.commands.ops.monitor_engine_activity_c:
|
|
46
45
|
list_glossaries=pyegeria.commands.cat.list_glossaries:main
|
47
46
|
list_gov_action_processes=pyegeria.commands.tech.list_gov_action_processes:main
|
48
47
|
list_gov_eng_status=pyegeria.commands.ops.monitor_gov_eng_status:main_paging
|
48
|
+
list_info_supply_chains=pyegeria.commands.tech.list_information_supply_chains:main
|
49
49
|
list_integ_daemon_status=pyegeria.commands.ops.monitor_integ_daemon_status:main_paging
|
50
50
|
list_my_profile=pyegeria.commands.my.list_my_profile:main
|
51
51
|
list_my_roles=pyegeria.commands.my.list_my_roles:main
|
@@ -1,207 +0,0 @@
|
|
1
|
-
#!/usr/bin/env python3
|
2
|
-
"""
|
3
|
-
SPDX-License-Identifier: Apache-2.0
|
4
|
-
Copyright Contributors to the ODPi Egeria project.
|
5
|
-
|
6
|
-
A simple viewer for Information Supply Chains
|
7
|
-
|
8
|
-
"""
|
9
|
-
|
10
|
-
import argparse
|
11
|
-
import os
|
12
|
-
from datetime import time
|
13
|
-
|
14
|
-
from rich import print, box
|
15
|
-
from rich.console import Console
|
16
|
-
from rich.markdown import Markdown
|
17
|
-
from rich.panel import Panel
|
18
|
-
from rich.prompt import Prompt
|
19
|
-
from rich.table import Table
|
20
|
-
from rich.tree import Tree
|
21
|
-
# from pyegeria.solution_architect_omvs import SolutionArchitect
|
22
|
-
from pyegeria import (
|
23
|
-
ProjectManager,
|
24
|
-
UserNotAuthorizedException,
|
25
|
-
PropertyServerException,
|
26
|
-
InvalidParameterException, ClassificationManager, SolutionArchitect,
|
27
|
-
)
|
28
|
-
from pyegeria._exceptions import (
|
29
|
-
print_exception_response,
|
30
|
-
)
|
31
|
-
|
32
|
-
disable_ssl_warnings = True
|
33
|
-
EGERIA_METADATA_STORE = os.environ.get("EGERIA_METADATA_STORE", "active-metadata-store")
|
34
|
-
EGERIA_KAFKA_ENDPOINT = os.environ.get("KAFKA_ENDPOINT", "localhost:9092")
|
35
|
-
EGERIA_PLATFORM_URL = os.environ.get("EGERIA_PLATFORM_URL", "https://localhost:9443")
|
36
|
-
EGERIA_VIEW_SERVER = os.environ.get("EGERIA_VIEW_SERVER", "view-server")
|
37
|
-
EGERIA_VIEW_SERVER_URL = os.environ.get(
|
38
|
-
"EGERIA_VIEW_SERVER_URL", "https://localhost:9443"
|
39
|
-
)
|
40
|
-
EGERIA_INTEGRATION_DAEMON = os.environ.get("INTEGRATION_DAEMON", "integration-daemon")
|
41
|
-
EGERIA_ADMIN_USER = os.environ.get("ADMIN_USER", "garygeeke")
|
42
|
-
EGERIA_ADMIN_PASSWORD = os.environ.get("ADMIN_PASSWORD", "secret")
|
43
|
-
EGERIA_USER = os.environ.get("EGERIA_USER", "erinoverview")
|
44
|
-
EGERIA_USER_PASSWORD = os.environ.get("EGERIA_USER_PASSWORD", "secret")
|
45
|
-
EGERIA_JUPYTER = bool(os.environ.get("EGERIA_JUPYTER", "False"))
|
46
|
-
EGERIA_WIDTH = int(os.environ.get("EGERIA_WIDTH", "200"))
|
47
|
-
|
48
|
-
|
49
|
-
def supply_chain_viewer(
|
50
|
-
search_string: str,
|
51
|
-
server_name: str,
|
52
|
-
platform_url: str,
|
53
|
-
user: str,
|
54
|
-
user_password: str,
|
55
|
-
jupyter: bool = EGERIA_JUPYTER,
|
56
|
-
width: int = EGERIA_WIDTH,
|
57
|
-
timeout: int = 30,
|
58
|
-
):
|
59
|
-
"""A Supply Chain viewer"""
|
60
|
-
|
61
|
-
def display_supply_chains(supply_chains: list[dict] ) -> Table:
|
62
|
-
table = Table(
|
63
|
-
title=f"Supply Chains matching {search_string} @ {time.asctime()}",
|
64
|
-
style="bright_white on black",
|
65
|
-
header_style="bright_white on dark_blue",
|
66
|
-
title_style="bold white on black",
|
67
|
-
caption_style="white on black",
|
68
|
-
show_lines=True,
|
69
|
-
box=box.ROUNDED,
|
70
|
-
caption=f"View Server '{server_name}' @ Platform - {platform_url}",
|
71
|
-
expand=True,
|
72
|
-
)
|
73
|
-
table.add_column("Supply Chain Name")
|
74
|
-
table.add_column("Qualified Name / GUID", width=38, no_wrap=True)
|
75
|
-
table.add_column("Purpose")
|
76
|
-
table.add_column("Scope")
|
77
|
-
table.add_column("Description")
|
78
|
-
|
79
|
-
for sc in supply_chains:
|
80
|
-
sc_name = sc["properties"].get("displayName", '---')
|
81
|
-
sc_qname = sc["elementHeader"]["qualifiedName"]
|
82
|
-
sc_guid = sc["elementHeader"]["guid"]
|
83
|
-
sc_purpose = sc["properties"].get("purposes",'---')
|
84
|
-
sc_scope = sc["properties"].get("scope",'---')
|
85
|
-
sc_desc = sc["properties"].get("description",'---')
|
86
|
-
sc_unique_name = f"\t{sc_qname}\n\t/\n\t{sc_guid}"
|
87
|
-
table.add_row(sc_name, sc_unique_name, sc_purpose, sc_scope, sc_desc)
|
88
|
-
|
89
|
-
return table
|
90
|
-
|
91
|
-
|
92
|
-
def walk_project_hierarchy(
|
93
|
-
project_client: ProjectManager,
|
94
|
-
project_name: str,
|
95
|
-
tree: Tree,
|
96
|
-
root: bool = False,
|
97
|
-
) -> None:
|
98
|
-
"""Recursively build a Tree with collection contents."""
|
99
|
-
t = None
|
100
|
-
style = "bright_white on black"
|
101
|
-
|
102
|
-
project = project_client.get_projects_by_name(project_name)
|
103
|
-
if type(project) is list:
|
104
|
-
proj_guid = project[0]["elementHeader"]["guid"]
|
105
|
-
proj_props = project[0]["properties"]
|
106
|
-
|
107
|
-
proj_type = proj_props.get("typeName", "---")
|
108
|
-
proj_unique = proj_props.get("qualifiedName", "---")
|
109
|
-
proj_identifier = proj_props.get("identifier", "---")
|
110
|
-
proj_name = proj_props.get("name", "---")
|
111
|
-
proj_desc = proj_props.get("description", "---")
|
112
|
-
proj_status = proj_props.get("projectStatus", "---")
|
113
|
-
proj_priority = proj_props.get("priority", "---")
|
114
|
-
proj_start = proj_props.get("startDate", "---")[:-10]
|
115
|
-
proj_props_md = (
|
116
|
-
f"* Name: {proj_name}\n"
|
117
|
-
f"* Identifier: {proj_identifier}\n"
|
118
|
-
f"* Type: {proj_type}\n"
|
119
|
-
f"* Status: {proj_status}\n"
|
120
|
-
f"* priority: {proj_priority}\n"
|
121
|
-
f"* Start: {proj_start}\n"
|
122
|
-
f"* Description: {proj_desc}\n"
|
123
|
-
f"* GUID: {proj_guid}"
|
124
|
-
)
|
125
|
-
else:
|
126
|
-
return
|
127
|
-
|
128
|
-
team = project_client.get_project_team(proj_guid)
|
129
|
-
member_md = ""
|
130
|
-
if type(team) is list:
|
131
|
-
for member in team:
|
132
|
-
member_guid = member["member"]["guid"]
|
133
|
-
member_unique = member["member"]["uniqueName"]
|
134
|
-
member_md += f"* Member Unique Name: {member_unique}\n* Member GUID: {member_guid}"
|
135
|
-
proj_props_md += f"\n### Team Members\n {member_md}"
|
136
|
-
|
137
|
-
proj_props_out = Markdown(proj_props_md)
|
138
|
-
p = Panel.fit(proj_props_out, style=style, title=project_name)
|
139
|
-
t = tree.add(p)
|
140
|
-
|
141
|
-
linked_projects = project_client.get_linked_projects(proj_guid)
|
142
|
-
if type(linked_projects) is list:
|
143
|
-
for proj in linked_projects:
|
144
|
-
child_md = ""
|
145
|
-
child_guid = proj["elementHeader"]["guid"]
|
146
|
-
child_name = proj["properties"]["name"]
|
147
|
-
relationship = proj["relatedElement"]["relationshipHeader"]["type"][
|
148
|
-
"typeName"
|
149
|
-
]
|
150
|
-
if relationship != "ProjectDependency":
|
151
|
-
continue
|
152
|
-
walk_project_hierarchy(project_client, child_name, t)
|
153
|
-
|
154
|
-
else:
|
155
|
-
return t
|
156
|
-
|
157
|
-
try:
|
158
|
-
console = Console(width=width, force_terminal=not jupyter)
|
159
|
-
tree = Tree(
|
160
|
-
f"[bold bright green on black]Supply Chains containing: {search_string}", guide_style="bold bright_blue"
|
161
|
-
)
|
162
|
-
client = SolutionArchitect(server_name, platform_url, user, user_password)
|
163
|
-
|
164
|
-
token = client.create_egeria_bearer_token()
|
165
|
-
|
166
|
-
sc = client.find_all_information_supply_chains(search_string, start_from=0)
|
167
|
-
|
168
|
-
if (isinstance(sc, list)):
|
169
|
-
t = tree.add(display_supply_chains(sc))
|
170
|
-
else:
|
171
|
-
t = tree.add(type(sc))
|
172
|
-
# walk_project_hierarchy(p_client, root, tree, root=True)
|
173
|
-
print(tree)
|
174
|
-
|
175
|
-
except (
|
176
|
-
InvalidParameterException,
|
177
|
-
PropertyServerException,
|
178
|
-
UserNotAuthorizedException,
|
179
|
-
) as e:
|
180
|
-
print_exception_response(e)
|
181
|
-
|
182
|
-
|
183
|
-
def main():
|
184
|
-
parser = argparse.ArgumentParser()
|
185
|
-
|
186
|
-
parser.add_argument("--server", help="Name of the server to display status for")
|
187
|
-
parser.add_argument("--url", help="URL Platform to connect to")
|
188
|
-
parser.add_argument("--userid", help="User Id")
|
189
|
-
parser.add_argument("--password", help="User Password")
|
190
|
-
args = parser.parse_args()
|
191
|
-
|
192
|
-
server = args.server if args.server is not None else EGERIA_VIEW_SERVER
|
193
|
-
url = args.url if args.url is not None else EGERIA_PLATFORM_URL
|
194
|
-
userid = args.userid if args.userid is not None else EGERIA_USER
|
195
|
-
user_pass = args.password if args.password is not None else EGERIA_USER_PASSWORD
|
196
|
-
|
197
|
-
try:
|
198
|
-
search_string = Prompt.ask(
|
199
|
-
"Enter a search string:", default="*"
|
200
|
-
)
|
201
|
-
supply_chain_viewer(search_string, server, url, userid, user_pass)
|
202
|
-
except KeyboardInterrupt:
|
203
|
-
pass
|
204
|
-
|
205
|
-
|
206
|
-
if __name__ == "__main__":
|
207
|
-
main()
|
File without changes
|
File without changes
|