pyegeria 1.5.1.1.23__py3-none-any.whl → 1.5.1.1.26__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.
@@ -0,0 +1 @@
1
+ from glossary_actions import display_glossaries
@@ -117,6 +117,21 @@ def create_glossary(
117
117
  m_client.close_session()
118
118
 
119
119
 
120
+ def display_glossaries(
121
+ search_string: str,
122
+ server: str,
123
+ url: str,
124
+ userid: str,
125
+ password: str,
126
+ timeout: int,
127
+ jupyter: bool,
128
+ width: int,
129
+ ):
130
+ list_glossaries(
131
+ search_string, server, url, userid, password, timeout, jupyter, width
132
+ )
133
+
134
+
120
135
  @click.command("glossaries")
121
136
  @click.option("--search-string", default="*", help="Glossaries to search for")
122
137
  @click.option("--server", default=EGERIA_VIEW_SERVER, help="Egeria view server to use")
@@ -1114,6 +1114,11 @@ def engine_host(ctx):
1114
1114
 
1115
1115
 
1116
1116
  @engine_host.command("status")
1117
+ @click.options(
1118
+ "--engine-list",
1119
+ default=["*"],
1120
+ help="Enter the list of connectors you are interested in or ['*'] for all",
1121
+ )
1117
1122
  @click.option(
1118
1123
  "--list", is_flag=True, default=False, help="If True, a paged list will be shown"
1119
1124
  )
@@ -1123,10 +1128,11 @@ def engine_host(ctx):
1123
1128
  help="Name of the Engine Host to get status for",
1124
1129
  )
1125
1130
  @click.pass_context
1126
- def gov_eng_status(ctx, engine_host, list):
1131
+ def gov_eng_status(ctx, engine_list, engine_host, list):
1127
1132
  """Display engine-host status information"""
1128
1133
  c = ctx.obj
1129
1134
  display_gov_eng_status(
1135
+ engine_list,
1130
1136
  engine_host,
1131
1137
  c.view_server,
1132
1138
  c.view_server_url,
@@ -1183,6 +1189,11 @@ def integrations(ctx):
1183
1189
 
1184
1190
 
1185
1191
  @integrations.command("status")
1192
+ @click.option(
1193
+ "--connector-list",
1194
+ default=["*"],
1195
+ help="Enter the list of connectors you are interested in or ['*'] for all",
1196
+ )
1186
1197
  @click.option(
1187
1198
  "--list", is_flag=True, default=False, help="If True, a paged list will be shown"
1188
1199
  )
@@ -1190,10 +1201,11 @@ def integrations(ctx):
1190
1201
  "--sorted", type=bool, default=True, help="If True, the table will be sorted"
1191
1202
  )
1192
1203
  @click.pass_context
1193
- def integrations_status(ctx, list, sorted):
1204
+ def integrations_status(ctx, connector_list, list, sorted):
1194
1205
  """Display integration-daemon status information"""
1195
1206
  c = ctx.obj
1196
1207
  display_integration_daemon_status(
1208
+ connector_list,
1197
1209
  c.integration_daemon,
1198
1210
  c.integration_daemon_url,
1199
1211
  c.view_server,
@@ -271,6 +271,11 @@ def engine_host(ctx):
271
271
 
272
272
 
273
273
  @engine_host.command("status")
274
+ @click.options(
275
+ "--engine-list",
276
+ default=["*"],
277
+ help="Enter the list of connectors you are interested in or ['*'] for all",
278
+ )
274
279
  @click.option(
275
280
  "--engine-host",
276
281
  default="engine-host",
@@ -280,11 +285,12 @@ def engine_host(ctx):
280
285
  "--list", is_flag=True, default=False, help="If True, a paged list will be shown"
281
286
  )
282
287
  @click.pass_context
283
- def gov_eng_status(ctx, engine_host, list):
288
+ def gov_eng_status(ctx, engine_list, engine_host, list):
284
289
  """Display engine-host status information"""
285
290
  c = ctx.obj
286
291
  display_gov_eng_status(
287
- c.engine_host,
292
+ engine_list,
293
+ engine_host,
288
294
  c.view_server,
289
295
  c.view_server_url,
290
296
  c.userid,
@@ -344,14 +350,20 @@ def integrations(ctx):
344
350
 
345
351
 
346
352
  @integrations.command("status")
353
+ @click.option(
354
+ "--connector-list",
355
+ default=["*"],
356
+ help="Enter the list of connectors you are interested in or ['*'] for all",
357
+ )
347
358
  @click.option(
348
359
  "--list", is_flag=True, default=False, help="If True, a paged list will be shown"
349
360
  )
350
361
  @click.pass_context
351
- def integrations_status(ctx, list):
362
+ def integrations_status(ctx, connector_list, list):
352
363
  """Display integration-daemon status information"""
353
364
  c = ctx.obj
354
365
  display_integration_daemon_status(
366
+ connector_list,
355
367
  c.integration_daemon,
356
368
  c.integration_daemon_url,
357
369
  c.view_server,
@@ -16,6 +16,7 @@ from rich import box
16
16
  from rich.console import Console
17
17
  from rich.live import Live
18
18
  from rich.markdown import Markdown
19
+ from rich.prompt import Prompt
19
20
  from rich.table import Table
20
21
 
21
22
  from pyegeria import (
@@ -51,21 +52,23 @@ disable_ssl_warnings = True
51
52
 
52
53
 
53
54
  def display_gov_eng_status(
54
- engine_host: str,
55
- view_server: str,
56
- url: str,
57
- username: str,
58
- user_pass: str,
59
- paging: bool,
55
+ search_list: list[str] = ["*"],
56
+ engine_host: str = EGERIA_ENGINE_HOST,
57
+ view_server: str = EGERIA_VIEW_SERVER,
58
+ url: str = EGERIA_VIEW_SERVER_URL,
59
+ username: str = EGERIA_USER,
60
+ user_pass: str = EGERIA_USER_PASSWORD,
61
+ paging: bool = True,
60
62
  jupyter: bool = EGERIA_JUPYTER,
61
63
  width: int = EGERIA_WIDTH,
64
+ sort: bool = True,
62
65
  ):
63
66
  console = Console(width=EGERIA_WIDTH)
64
67
 
65
68
  s_client = EgeriaTech(view_server, url, username, user_pass)
66
69
  token = s_client.create_egeria_bearer_token()
67
70
 
68
- def generate_table() -> Table:
71
+ def generate_table(search_list: list[str]) -> Table:
69
72
  """Make a new table."""
70
73
  table = Table(
71
74
  title=f"Governance Engine Status @ {time.asctime()}",
@@ -86,14 +89,25 @@ def display_gov_eng_status(
86
89
  table.add_column("Engine Status")
87
90
  table.add_column("Request Types")
88
91
 
89
- eng_host_guid = s_client.get_guid_for_name(engine_host)
90
- gov_eng_status = s_client.get_server_report(eng_host_guid)
91
- eng_summaries = gov_eng_status["governanceEngineSummaries"]
92
- sorted_gov_eng_status = sorted(
93
- eng_summaries, key=lambda k: k.get("governanceEngineName", " ")
92
+ # eng_host_guid = s_client.get_guid_for_name(engine_host)
93
+ gov_eng_status = s_client.get_server_report(
94
+ server_guid=None, server_name=engine_host
94
95
  )
95
- for engine in sorted_gov_eng_status:
96
+ eng_summaries = gov_eng_status["governanceEngineSummaries"]
97
+
98
+ if sort is True:
99
+ engine_info = sorted(
100
+ eng_summaries, key=lambda k: k.get("governanceEngineName", " ")
101
+ )
102
+ else:
103
+ engine_info = eng_summaries
104
+
105
+ for engine in engine_info:
96
106
  gov_eng = engine["governanceEngineName"]
107
+
108
+ if (gov_eng not in search_list) and (search_list != ["*"]):
109
+ # if specific engines are requested and it doesn't match, then skip
110
+ continue
97
111
  eng_type = engine.get("governanceEngineTypeName", " ")
98
112
 
99
113
  eng_desc = engine.get("governanceEngineDescription", " ")
@@ -115,24 +129,23 @@ def display_gov_eng_status(
115
129
 
116
130
  table.add_row(gov_eng, eng_type, eng_desc, eng_status, eng_req_type_out)
117
131
 
118
- table.caption = f"Server {engine_host} running on {url}"
119
132
  return table
120
133
 
121
134
  try:
122
135
  if paging is True:
123
136
  console = Console(width=width, force_terminal=not jupyter)
124
137
  with console.pager():
125
- console.print(generate_table())
138
+ console.print(generate_table(search_list))
126
139
  else:
127
140
  with Live(
128
- generate_table(),
141
+ generate_table(search_list),
129
142
  refresh_per_second=1,
130
143
  screen=True,
131
144
  vertical_overflow="visible",
132
145
  ) as live:
133
146
  while True:
134
147
  time.sleep(2)
135
- live.update(generate_table())
148
+ live.update(generate_table(search_list))
136
149
 
137
150
  except (
138
151
  InvalidParameterException,
@@ -157,7 +170,7 @@ def main_live():
157
170
  parser.add_argument("--url", help="URL Platform to connect to")
158
171
  parser.add_argument("--userid", help="User Id")
159
172
  parser.add_argument("--password", help="User Password")
160
- parser.add_argument("--paging", help="Paging")
173
+ # parser.add_argument("--paging", help="Paging")
161
174
  args = parser.parse_args()
162
175
 
163
176
  engine_host = (
@@ -169,8 +182,15 @@ def main_live():
169
182
  url = args.url if args.url is not None else EGERIA_ENGINE_HOST_URL
170
183
  userid = args.userid if args.userid is not None else EGERIA_USER
171
184
  user_pass = args.password if args.password is not None else EGERIA_USER_PASSWORD
172
- paging = args.paging if args.paging is not None else False
173
- display_gov_eng_status(engine_host, view_server, url, userid, user_pass, paging)
185
+ paging = False
186
+
187
+ search_list = Prompt.ask(
188
+ "Enter the list of engines you are interested in or ['*'] for all",
189
+ default=["*"],
190
+ )
191
+ display_gov_eng_status(
192
+ search_list, engine_host, view_server, url, userid, user_pass, paging
193
+ )
174
194
 
175
195
 
176
196
  def main_paging():
@@ -193,9 +213,14 @@ def main_paging():
193
213
  url = args.url if args.url is not None else EGERIA_VIEW_SERVER_URL
194
214
  userid = args.userid if args.userid is not None else EGERIA_USER
195
215
  user_pass = args.password if args.password is not None else EGERIA_USER_PASSWORD
216
+ paging = True
217
+ search_list = Prompt.ask(
218
+ "Enter the list of engines you are interested in or ['*'] for all",
219
+ default=["*"],
220
+ )
196
221
 
197
222
  display_gov_eng_status(
198
- engine_host, view_server, url, userid, user_pass, paging=True
223
+ search_list, engine_host, view_server, url, userid, user_pass, paging
199
224
  )
200
225
 
201
226
 
@@ -15,6 +15,7 @@ import time
15
15
  from rich import box
16
16
  from rich.console import Console
17
17
  from rich.live import Live
18
+ from rich.prompt import Prompt
18
19
  from rich.table import Table
19
20
  import nest_asyncio
20
21
  from typing import Union
@@ -47,8 +48,8 @@ EGERIA_WIDTH = int(os.environ.get("EGERIA_WIDTH", "200"))
47
48
  disable_ssl_warnings = True
48
49
 
49
50
 
50
-
51
51
  def display_integration_daemon_status(
52
+ search_list: list[str] = ["*"],
52
53
  integ_server: str = EGERIA_INTEGRATION_DAEMON,
53
54
  integ_url: str = EGERIA_INTEGRATION_DAEMON_URL,
54
55
  view_server: str = EGERIA_VIEW_SERVER,
@@ -61,8 +62,9 @@ def display_integration_daemon_status(
61
62
  sort: bool = True,
62
63
  ):
63
64
  s_client = EgeriaTech(view_server, view_url, user, user_pass)
65
+ token = s_client.create_egeria_bearer_token()
64
66
 
65
- def generate_table() -> Table:
67
+ def generate_table(search_list: list[str]) -> Table:
66
68
  """Make a new table."""
67
69
  table = Table(
68
70
  title=f"Integration Daemon Status @ {time.asctime()}",
@@ -84,7 +86,6 @@ def display_integration_daemon_status(
84
86
  table.add_column("Target Element", min_width=20)
85
87
  table.add_column("Exception Message", min_width=10)
86
88
 
87
- token = s_client.create_egeria_bearer_token()
88
89
  # server_guid = s_client.get_guid_for_name(integ_server)
89
90
  daemon_status = s_client.get_server_report(None, integ_server)
90
91
 
@@ -98,6 +99,11 @@ def display_integration_daemon_status(
98
99
 
99
100
  for connector in connector_reports:
100
101
  connector_name = connector.get("connectorName", "---")
102
+
103
+ if (connector_name not in search_list) and (search_list != ["*"]):
104
+ # if specific connectors are requested and it doesn't match, then skip
105
+ continue
106
+
101
107
  connector_status = connector.get("connectorStatus", "---")
102
108
  connector_guid = connector.get("connectorGUID", "---")
103
109
  last_refresh_time = connector.get("lastRefreshTime", "---")[:-10]
@@ -144,23 +150,24 @@ def display_integration_daemon_status(
144
150
  targets_out,
145
151
  exception_msg,
146
152
  )
153
+
147
154
  return table
148
155
 
149
156
  try:
150
157
  if paging is True:
151
158
  console = Console(width=width, force_terminal=not jupyter)
152
159
  with console.pager():
153
- console.print(generate_table())
160
+ console.print(generate_table(search_list))
154
161
  else:
155
162
  with Live(
156
- generate_table(),
163
+ generate_table(search_list),
157
164
  refresh_per_second=1,
158
165
  screen=True,
159
166
  vertical_overflow="visible",
160
167
  ) as live:
161
168
  while True:
162
169
  time.sleep(2)
163
- live.update(generate_table())
170
+ live.update(generate_table(search_list))
164
171
 
165
172
  except (
166
173
  InvalidParameterException,
@@ -202,14 +209,19 @@ def main_live():
202
209
  view_url = args.view_url if args.view_url is not None else EGERIA_VIEW_SERVER_URL
203
210
  userid = args.userid if args.userid is not None else EGERIA_USER
204
211
  user_pass = args.password if args.password is not None else EGERIA_USER_PASSWORD
212
+ search_list = Prompt.ask(
213
+ "Enter the list of connectors you are interested in or ['*'] for all",
214
+ default=["*"],
215
+ )
205
216
  display_integration_daemon_status(
217
+ search_list=search_list,
206
218
  integ_server=integ_server,
207
219
  integ_url=integ_url,
208
220
  view_server=view_server,
209
221
  view_url=view_url,
210
222
  user=userid,
211
223
  user_pass=user_pass,
212
- paging=False,
224
+ paging=True,
213
225
  )
214
226
 
215
227
 
@@ -239,7 +251,12 @@ def main_paging():
239
251
  view_url = args.view_url if args.view_url is not None else EGERIA_VIEW_SERVER_URL
240
252
  userid = args.userid if args.userid is not None else EGERIA_USER
241
253
  user_pass = args.password if args.password is not None else EGERIA_USER_PASSWORD
254
+ search_list = Prompt.ask(
255
+ "Enter the list of connectors you are interested in or ['*'] for all",
256
+ default="[*]",
257
+ )
242
258
  display_integration_daemon_status(
259
+ search_list=search_list,
243
260
  integ_server=integ_server,
244
261
  integ_url=integ_url,
245
262
  view_server=view_server,
@@ -1,27 +1,26 @@
1
1
  """This creates a templates guid file from the core metadata archive"""
2
- import json
3
2
 
4
- from rich.markdown import Markdown
5
- from rich.prompt import Prompt
6
- import os
7
- from pyegeria import AutomatedCuration
8
- from datetime import datetime
9
3
  import argparse
10
- import time
4
+ import os
11
5
  import sys
6
+ import time
7
+ from typing import Union
8
+
9
+ import nest_asyncio
12
10
  from rich import box
13
11
  from rich.console import Console
12
+ from rich.prompt import Prompt
14
13
  from rich.table import Table
14
+ from textual.widgets import DataTable
15
15
 
16
+ from pyegeria import AutomatedCuration
16
17
  from pyegeria import (
17
18
  InvalidParameterException,
18
19
  PropertyServerException,
19
20
  UserNotAuthorizedException,
20
21
  print_exception_response,
21
- RegisteredInfo,
22
22
  )
23
23
 
24
-
25
24
  console = Console()
26
25
  EGERIA_METADATA_STORE = os.environ.get("EGERIA_METADATA_STORE", "active-metadata-store")
27
26
  EGERIA_KAFKA_ENDPOINT = os.environ.get("KAFKA_ENDPOINT", "localhost:9092")
@@ -69,6 +68,21 @@ def list_templates(
69
68
  return tech_info_list
70
69
 
71
70
 
71
+ def add_row(
72
+ table: Union[Table, DataTable],
73
+ name: str,
74
+ template_name: str,
75
+ template_guid: str,
76
+ placeholder_table: Table,
77
+ ) -> Table | DataTable:
78
+ if isinstance(table, Table):
79
+ table.add_row(name, template_name, template_guid, placeholder_table)
80
+ elif isinstance(table, DataTable):
81
+ table.add_row(name, template_name, template_guid, placeholder_table)
82
+
83
+ return table
84
+
85
+
72
86
  def display_templates_spec(
73
87
  search_string: str,
74
88
  server: str,
@@ -77,31 +91,37 @@ def display_templates_spec(
77
91
  password: str,
78
92
  jupyter: bool = EGERIA_JUPYTER,
79
93
  width: int = EGERIA_WIDTH,
80
- ):
94
+ data_table: bool = False,
95
+ ) -> Table | DataTable:
81
96
  a_client = AutomatedCuration(server, url, username)
97
+ nest_asyncio.apply()
82
98
  token = a_client.create_egeria_bearer_token(username, password)
83
99
  tech_list = a_client.find_technology_types(search_string, page_size=0)
84
100
 
85
- def generate_table() -> Table:
101
+ def generate_table(data_table: bool) -> Table | DataTable:
86
102
  """Make a new table."""
87
- table = Table(
88
- title=f"Technology Templates for: {url} @ {time.asctime()}",
89
- style="bold bright_white on black",
90
- row_styles=["bold bright_white on black"],
91
- header_style="white on dark_blue",
92
- title_style="bold bright_white on black",
93
- caption_style="white on black",
94
- show_lines=True,
95
- box=box.ROUNDED,
96
- caption=f"Templates from Server '{server}' @ Platform - {url}",
97
- expand=True,
98
- # width=500
99
- )
103
+ if data_table:
104
+ table = DataTable()
105
+ table.add_columns("Name", "Template Name", "Template GUID", "Placeholders")
106
+ else:
107
+ table = Table(
108
+ title=f"Technology Templates for: {url} @ {time.asctime()}",
109
+ style="bold bright_white on black",
110
+ row_styles=["bold bright_white on black"],
111
+ header_style="white on dark_blue",
112
+ title_style="bold bright_white on black",
113
+ caption_style="white on black",
114
+ show_lines=True,
115
+ box=box.ROUNDED,
116
+ caption=f"Templates from Server '{server}' @ Platform - {url}",
117
+ expand=True,
118
+ # width=500
119
+ )
100
120
 
101
- table.add_column("Name", width=20)
102
- table.add_column("Template Name", width=20)
103
- table.add_column("Template GUID", width=38, no_wrap=True)
104
- table.add_column("Placeholders")
121
+ table.add_column("Name", width=20)
122
+ table.add_column("Template Name", width=20)
123
+ table.add_column("Template GUID", width=38, no_wrap=True)
124
+ table.add_column("Placeholders")
105
125
 
106
126
  if type(tech_list) is list:
107
127
  for item in tech_list:
@@ -149,8 +169,9 @@ def display_templates_spec(
149
169
  placeholder_description,
150
170
  )
151
171
 
152
- table.add_row(
153
- name, template_name, template_guid, placeholder_table
172
+ # table.add_row(name, template_name, template_guid, placeholder_table)
173
+ table = add_row(
174
+ table, name, template_name, template_guid, placeholder_table
154
175
  )
155
176
 
156
177
  return table
@@ -159,10 +180,13 @@ def display_templates_spec(
159
180
  sys.exit(1)
160
181
 
161
182
  try:
162
- console = Console(width=width, force_terminal=not jupyter)
183
+ if data_table:
184
+ return generate_table(data_table)
185
+ else:
186
+ console = Console(width=width, force_terminal=not jupyter)
163
187
 
164
- with console.pager(styles=True):
165
- console.print(generate_table())
188
+ with console.pager(styles=True):
189
+ console.print(generate_table(data_table))
166
190
 
167
191
  except (
168
192
  InvalidParameterException,
@@ -194,11 +218,143 @@ def main():
194
218
  search_string = Prompt.ask(
195
219
  "Enter the technology you are searching for:", default="*"
196
220
  )
197
- # display_templates_spec(search_string, server, url, userid, password)
198
- list_templates(search_string, server, url, userid, password)
221
+ display_templates_spec(
222
+ search_string, server, url, userid, password, data_table=False
223
+ )
199
224
  except KeyboardInterrupt:
200
225
  pass
201
226
 
202
227
 
203
- if __name__ == "__main__":
204
- main()
228
+ # def display_templates_spec(
229
+ # search_string: str,
230
+ # server: str,
231
+ # url: str,
232
+ # username: str,
233
+ # password: str,
234
+ # jupyter: bool = EGERIA_JUPYTER,
235
+ # width: int = EGERIA_WIDTH,
236
+ # ):
237
+ # a_client = AutomatedCuration(server, url, username)
238
+ # token = a_client.create_egeria_bearer_token(username, password)
239
+ # tech_list = a_client.find_technology_types(search_string, page_size=0)
240
+ #
241
+ # def generate_table() -> Table:
242
+ # """Make a new table."""
243
+ # table = Table(
244
+ # title=f"Technology Templates for: {url} @ {time.asctime()}",
245
+ # style="bold bright_white on black",
246
+ # row_styles=["bold bright_white on black"],
247
+ # header_style="white on dark_blue",
248
+ # title_style="bold bright_white on black",
249
+ # caption_style="white on black",
250
+ # show_lines=True,
251
+ # box=box.ROUNDED,
252
+ # caption=f"Templates from Server '{server}' @ Platform - {url}",
253
+ # expand=True,
254
+ # # width=500
255
+ # )
256
+ #
257
+ # table.add_column("Name", width=20)
258
+ # table.add_column("Template Name", width=20)
259
+ # table.add_column("Template GUID", width=38, no_wrap=True)
260
+ # table.add_column("Placeholders")
261
+ #
262
+ # if type(tech_list) is list:
263
+ # for item in tech_list:
264
+ # if "deployedImplementationType" not in item["qualifiedName"]:
265
+ # continue
266
+ # placeholder_table = Table(expand=False, show_lines=True)
267
+ # placeholder_table.add_column("Name", width=20, no_wrap=True)
268
+ # placeholder_table.add_column("Type", width=10)
269
+ # placeholder_table.add_column("Required", width=10)
270
+ # placeholder_table.add_column("Example", width=20)
271
+ # placeholder_table.add_column("Description", width=40)
272
+ #
273
+ # name = item.get("name", "none")
274
+ #
275
+ # details = a_client.get_technology_type_detail(name)
276
+ # if type(details) is str:
277
+ # console.log(f"Missing details for - {name}: {details}")
278
+ # continue
279
+ #
280
+ # templates = details.get("catalogTemplates", "Not Found")
281
+ # if type(templates) is not str:
282
+ # for template in templates:
283
+ # template_name = template.get("name", None)
284
+ #
285
+ # template_name = (
286
+ # f"{name}_Template"
287
+ # if template_name is None
288
+ # else template_name
289
+ # )
290
+ #
291
+ # specification = template["specification"]["placeholderProperty"]
292
+ # template_guid = template["relatedElement"]["guid"]
293
+ #
294
+ # for placeholder in specification:
295
+ # placeholder_data_type = placeholder["dataType"]
296
+ # placeholder_description = placeholder["description"]
297
+ # placeholder_name = placeholder["placeholderPropertyName"]
298
+ # placeholder_required = placeholder["required"]
299
+ # placeholder_example = placeholder.get("example", None)
300
+ # placeholder_table.add_row(
301
+ # placeholder_name,
302
+ # placeholder_data_type,
303
+ # placeholder_required,
304
+ # placeholder_example,
305
+ # placeholder_description,
306
+ # )
307
+ #
308
+ # table.add_row(
309
+ # name, template_name, template_guid, placeholder_table
310
+ # )
311
+ #
312
+ # return table
313
+ # else:
314
+ # print("Unknown technology type")
315
+ # sys.exit(1)
316
+ #
317
+ # try:
318
+ # console = Console(width=width, force_terminal=not jupyter)
319
+ #
320
+ # with console.pager(styles=True):
321
+ # console.print(generate_table())
322
+ #
323
+ # except (
324
+ # InvalidParameterException,
325
+ # PropertyServerException,
326
+ # UserNotAuthorizedException,
327
+ # ) as e:
328
+ # print_exception_response(e)
329
+ # assert e.related_http_code != "200", "Invalid parameters"
330
+ # finally:
331
+ # a_client.close_session()
332
+ #
333
+ #
334
+ # def main():
335
+ # parser = argparse.ArgumentParser()
336
+ # parser.add_argument("--server", help="Name of the server to display status for")
337
+ # parser.add_argument("--url", help="URL Platform to connect to")
338
+ # parser.add_argument("--userid", help="User Id")
339
+ # parser.add_argument("--password", help="Password")
340
+ #
341
+ # args = parser.parse_args()
342
+ #
343
+ # server = args.server if args.server is not None else EGERIA_VIEW_SERVER
344
+ # url = args.url if args.url is not None else EGERIA_PLATFORM_URL
345
+ # userid = args.userid if args.userid is not None else EGERIA_USER
346
+ # password = args.password if args.password is not None else EGERIA_USER_PASSWORD
347
+ # guid = None
348
+ #
349
+ # try:
350
+ # search_string = Prompt.ask(
351
+ # "Enter the technology you are searching for:", default="*"
352
+ # )
353
+ # # display_templates_spec(search_string, server, url, userid, password)
354
+ # list_templates(search_string, server, url, userid, password)
355
+ # except KeyboardInterrupt:
356
+ # pass
357
+ #
358
+ #
359
+ # if __name__ == "__main__":
360
+ # main()
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: pyegeria
3
- Version: 1.5.1.1.23
3
+ Version: 1.5.1.1.26
4
4
  Summary: A python client for Egeria
5
5
  Home-page: https://github.com/odpi/egeria-python
6
6
  License: Apache 2.0
@@ -13,14 +13,14 @@ pyegeria/commands/.DS_Store,sha256=nBgW7MKJ6b4wSWyEEeGYHWwC8QJAiteQaWKM9PoNRzY,6
13
13
  pyegeria/commands/README.md,sha256=zNfWZppDxoKqTJeRtcewzku9z1m6_hKacCyQUQw1iq4,1974
14
14
  pyegeria/commands/__init__.py,sha256=7y3p5oQ2c0C1465oIgSA_123W1uo7Wqwk91LXccUgrw,17
15
15
  pyegeria/commands/cat/README.md,sha256=-aaAnIT2fcfU63vajgB-RzQk4l4yFdhkyVfSaTPiqRY,967
16
- pyegeria/commands/cat/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
16
+ pyegeria/commands/cat/__init__.py,sha256=w7b-hlPvrfBYhXJpj8oXPvm0RYB3JM6T6uDI7KbKW4s,48
17
17
  pyegeria/commands/cat/get_asset_graph.py,sha256=4AO4KlCgb7vbMihJK7W_GAnrd4J9sKwc4kXxa2ZrRW4,12447
18
18
  pyegeria/commands/cat/get_collection.py,sha256=v7hCeEDcAQmcjM9qepuk8gg_RnYra3_v009AJOunkKk,5005
19
19
  pyegeria/commands/cat/get_project_dependencies.py,sha256=B0JaMSUi0hzVgos1sTY2uUPGy1DzKEJMIbbYfMUWvQA,5981
20
20
  pyegeria/commands/cat/get_project_structure.py,sha256=n2GbNd07w1DTo7jTR8b2ewXRyNcat_2BcCBRyDMldwk,5969
21
21
  pyegeria/commands/cat/get_tech_type_elements.py,sha256=-m3Q0BoNqkCtV8h75vMwTcOV-_ymEXmnJcr4Ec7WMAw,6180
22
22
  pyegeria/commands/cat/get_tech_type_template.py,sha256=gMFVcgCIm09GQu1Vsc5ZUVH9XLhItAG1eVGZJrcnHeQ,6174
23
- pyegeria/commands/cat/glossary_actions.py,sha256=hS3MVbMr279HGsb_anCrUuy4SF0Q_2WATCakD3Gy8Bs,14001
23
+ pyegeria/commands/cat/glossary_actions.py,sha256=TKywfTBUTMKrqBjtKsjd69YbhqyvShs5Be7ItDU7_Lk,14279
24
24
  pyegeria/commands/cat/list_archives.py,sha256=FEZ2XYnQIWo2PztWqnj6unn0pbblPU0-bMbTyI3csv4,5464
25
25
  pyegeria/commands/cat/list_assets.py,sha256=bNwSaBDz661hfnc2Rn4j4HPHAugKvz0XwN9L1m4FVQk,6529
26
26
  pyegeria/commands/cat/list_cert_types.py,sha256=mbCls_EqC5JKG5rvS4o69k7KgZ6aNXlcqoJ3DtHsTFA,7127
@@ -34,10 +34,10 @@ pyegeria/commands/cat/list_terms.py,sha256=zNo8oQo4y3cGIYikBnD9gutPLecwyF8Q3XaOL
34
34
  pyegeria/commands/cat/list_todos.py,sha256=iPxHRyW3X5tiREio4TUOwRPvNPjU0gxm3pVnUI79ir4,6542
35
35
  pyegeria/commands/cat/list_user_ids.py,sha256=7JinL7rknPbGusIb8ikXKEaV1vvbuvx_WWtbmlfS_DY,5093
36
36
  pyegeria/commands/cli/__init__.py,sha256=hpTVSMP2gnPRhcAZPdeUEsQ-eaDySlXlk239dNWYmng,292
37
- pyegeria/commands/cli/egeria.py,sha256=CXFDHpuSwASzfbh_9Z2MTQuZzK5ANZdFIB3PBnRODZk,32024
37
+ pyegeria/commands/cli/egeria.py,sha256=An7y4Dy03-inkRiat9pAP8RLcqcpy36GQj20XeY6M7E,32376
38
38
  pyegeria/commands/cli/egeria_cat.py,sha256=-rfM7WKtXwV0OkMF0gMN2YF9lcrtLtSb9TToKoZPR_w,15316
39
39
  pyegeria/commands/cli/egeria_my.py,sha256=Memyxzhrn_i3nMNRor-5N40_SKJJMzylA4iQgBW3T4g,6235
40
- pyegeria/commands/cli/egeria_ops.py,sha256=-UqtD4TDv_hhHFSjF0flF55Zo6UFbQcUCYBW_ZMLkx0,11648
40
+ pyegeria/commands/cli/egeria_ops.py,sha256=aI3BU7btQa0ZrT3LDXto4gLWzLn2qoS4r499eHoAntc,11998
41
41
  pyegeria/commands/cli/egeria_tech.py,sha256=iq5D-dl0KW1HbNG8AolJSZoR6hTLp90RD_JjHxVj9Pk,13313
42
42
  pyegeria/commands/cli/ops_config.py,sha256=m4AfPjf-fR4EBTx8Dc2mcgrfWwAxb30YGeV-v79bg4U,1450
43
43
  pyegeria/commands/my/README.md,sha256=ZheFhj_VoPMhcWjW3pGchHB0vH_A9PklSmrSkzKdrcQ,844
@@ -56,8 +56,8 @@ pyegeria/commands/ops/load_archive.py,sha256=ZsJmQ-2cywsiO5RYHQXFF72wrlBK18jvAky
56
56
  pyegeria/commands/ops/monitor_asset_events.py,sha256=cjdlVqE0XYnoRW3aorNbsVkjByDXefPBnllaZLelGls,3838
57
57
  pyegeria/commands/ops/monitor_engine_activity.py,sha256=m18OSnRoo5ut0WKKOWNoFGXJW_npjp6hzHK3RUQG8T0,8479
58
58
  pyegeria/commands/ops/monitor_engine_activity_c.py,sha256=rSEUD3elhsiYdUhQRn613OM_R4VecFb0uq39MhYhltQ,9371
59
- pyegeria/commands/ops/monitor_gov_eng_status.py,sha256=HOcPLqOqceVjxbYqAtYK0fjlJBJxsR9SxbfKzwwUz8c,7237
60
- pyegeria/commands/ops/monitor_integ_daemon_status.py,sha256=JCKQdyK4u60nXyuZlXY1GL1X1EJOvgHPZ3xp_uQUObQ,9309
59
+ pyegeria/commands/ops/monitor_gov_eng_status.py,sha256=wQ8KBjPJXYUVob7jxgpsS40x8J4wXzt41dmsBnygD-M,8017
60
+ pyegeria/commands/ops/monitor_integ_daemon_status.py,sha256=-qOHNTmuzflUNxuSifZT_seCTyVKDJPrrIIXj17o7xY,9961
61
61
  pyegeria/commands/ops/monitor_platform_status.py,sha256=xmngiuQK9X6X4-stGSITzfMSAdqpswVk-DY7kh8M0P0,6401
62
62
  pyegeria/commands/ops/monitor_server_startup.py,sha256=0pwnhv761uuFHGJXVANa5RhQQPPTXFldJ45TfeT7qfk,3901
63
63
  pyegeria/commands/ops/monitor_server_status.py,sha256=eeZY4o_HwrH-csrhHPi95LLGu00j6AYl48A7fDYTG34,6061
@@ -81,7 +81,7 @@ pyegeria/commands/tech/list_registered_services.py,sha256=QzE_ebdopNkHWMxa-xc902
81
81
  pyegeria/commands/tech/list_related_elements.py,sha256=mcOy3RIGpIdshcT1o4Tr7Ck-c1dmAC8yBUOF5GAFYrM,7755
82
82
  pyegeria/commands/tech/list_related_specification.py,sha256=mWrKenXOskL4cl0DHjH2Z8M9-FJzjkzK62W-tsx3WDU,5918
83
83
  pyegeria/commands/tech/list_relationship_types.py,sha256=BlVzrPznZXqMVLN2-2vYEVRGeYsiJrqXxIJEikobyoo,5875
84
- pyegeria/commands/tech/list_tech_templates.py,sha256=doQtfSrbnluCzyCsq2PCDGKk5atDPXPDuu24YjCRxo0,7832
84
+ pyegeria/commands/tech/list_tech_templates.py,sha256=FIeYWnJY2bVUrfDQBJX2bpkp5cU7uPak52eJtB4vVu4,14146
85
85
  pyegeria/commands/tech/list_valid_metadata_values.py,sha256=N3D0_BmREPszgde3uvvYdfzq7DJ46uMOv2t1vtncGsw,6333
86
86
  pyegeria/commands/tech/table_tech_templates.py,sha256=xa_mA10P_6Su3zRsvyoZhWoSUQ5LuyLTG1kNCumzxZA,7268
87
87
  pyegeria/commands/tech/x_list_related_elements.py,sha256=qBsf1619cecaMCTzG0MG22fAT32WNH2Z3CXrjo9z-5Y,5853
@@ -107,8 +107,8 @@ pyegeria/template_manager_omvs.py,sha256=heqbKeum5hPCHap4r1RUZU8YB3QaQlxVNbq4GZi
107
107
  pyegeria/utils.py,sha256=1h6bwveadd6GpbnGLTmqPBmBk68QvxdjGTI9RfbrgKY,5415
108
108
  pyegeria/valid_metadata_omvs.py,sha256=tfCGXed5LLt59YA8uZNNtd9UJ-lRZfPU_uZxK31Yux0,65069
109
109
  pyegeria/x_action_author_omvs.py,sha256=xu1IQ0YbhIKi17C5a7Aq9u1Az2czwahNPpX9czmyVxE,6454
110
- pyegeria-1.5.1.1.23.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
111
- pyegeria-1.5.1.1.23.dist-info/METADATA,sha256=Asnqpy2IVAKJdBg4YhO3zQdIDaGFcfzX1DAxbrcsFNQ,2998
112
- pyegeria-1.5.1.1.23.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
113
- pyegeria-1.5.1.1.23.dist-info/entry_points.txt,sha256=49rVcJuuKXUSC-9ZNzr-ybsaUL-wm6xrUodCZeKJdGc,4898
114
- pyegeria-1.5.1.1.23.dist-info/RECORD,,
110
+ pyegeria-1.5.1.1.26.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
111
+ pyegeria-1.5.1.1.26.dist-info/METADATA,sha256=k34zz3ctsWFwyUDp7nvIEO2z_71uWpa-VZa0AFRUBvI,2998
112
+ pyegeria-1.5.1.1.26.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
113
+ pyegeria-1.5.1.1.26.dist-info/entry_points.txt,sha256=49rVcJuuKXUSC-9ZNzr-ybsaUL-wm6xrUodCZeKJdGc,4898
114
+ pyegeria-1.5.1.1.26.dist-info/RECORD,,