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.
Files changed (23) hide show
  1. pyegeria/__init__.py +4 -3
  2. pyegeria/commands/tech/list_information_supply_chains.py +151 -0
  3. pyegeria/commands/tech/list_isolution_blueprints.py +166 -0
  4. pyegeria/commands/tech/list_isolution_blueprints2.py +164 -0
  5. pyegeria/commands/tech/work/mermaid_graphs/Clinical Trial Subject Onboarding.mmd +49 -0
  6. pyegeria/commands/tech/work/mermaid_graphs/Clinical Trial Treatment Validation.mmd +129 -0
  7. pyegeria/commands/tech/work/mermaid_graphs/Employee Expense Payment.mmd +40 -0
  8. pyegeria/commands/tech/work/mermaid_graphs/New Drug Product Information Distribution.mmd +55 -0
  9. pyegeria/commands/tech/work/mermaid_graphs/New Employee Onboarding.mmd +52 -0
  10. pyegeria/commands/tech/work/mermaid_graphs/Personalized Treatment Ordering.mmd +57 -0
  11. pyegeria/commands/tech/work/mermaid_graphs/Physical Inventory Tracking.mmd +92 -0
  12. pyegeria/commands/tech/work/mermaid_graphs/Sustainability Reporting.mmd +117 -0
  13. pyegeria/commands/tech/work/mermaid_graphs/{{displayName}}.mmd +29 -0
  14. pyegeria/egeria_client.py +5 -0
  15. pyegeria/egeria_tech_client.py +5 -2
  16. pyegeria/mermaid_utilities.py +31 -1
  17. pyegeria/solution_architect_omvs.py +8 -1
  18. {pyegeria-5.3.3.10.dev9.dist-info → pyegeria-5.3.3.11.dist-info}/METADATA +1 -1
  19. {pyegeria-5.3.3.10.dev9.dist-info → pyegeria-5.3.3.11.dist-info}/RECORD +22 -11
  20. {pyegeria-5.3.3.10.dev9.dist-info → pyegeria-5.3.3.11.dist-info}/entry_points.txt +1 -1
  21. pyegeria/commands/cat/get_information_supply_chains.py +0 -207
  22. {pyegeria-5.3.3.10.dev9.dist-info → pyegeria-5.3.3.11.dist-info}/LICENSE +0 -0
  23. {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=88x7BHHZ7iK3EoNUl-GaI4Lu_8PeLbpKhv1FrBQ87Rk,22002
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=tLVUCFv1mb12aX4WJCTezH1trE0dF3Oj5_zRzdlhyWY,3410
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=iANZmxdPcPYtOHj5WyUYfm3n8MQafhSUXOq8NAu3z0c,2645
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=O5qNAWZSiIWoti8SU16Hh6xhtA-CdIiZuZ_Qr7JJ9NQ,9932
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=MHsWBgrYfwPSCoWZ_50MJJ_htNWMOZrkR0YyFzFjqtE,23141
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.10.dev9.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
310
- pyegeria-5.3.3.10.dev9.dist-info/METADATA,sha256=Lz0J51Zu4vy608Xi6x42ygE4Os2COg38pUQ98CgaAMg,2741
311
- pyegeria-5.3.3.10.dev9.dist-info/WHEEL,sha256=IYZQI976HJqqOpQU6PHkJ8fb3tMNBFjg-Cn-pwAbaFM,88
312
- pyegeria-5.3.3.10.dev9.dist-info/entry_points.txt,sha256=CwtCppulHTB0m4vrIOiCVOaQXdNUG569RXMzrMJzldg,5953
313
- pyegeria-5.3.3.10.dev9.dist-info/RECORD,,
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()