pyegeria 0.2.4__py3-none-any.whl → 5.3.0.dev3__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 (239) hide show
  1. pyegeria/README.md +35 -0
  2. pyegeria/__init__.py +345 -14
  3. pyegeria/_client.py +376 -126
  4. pyegeria/_deprecated_gov_engine.py +451 -0
  5. pyegeria/_exceptions.py +6 -6
  6. pyegeria/_globals.py +7 -1
  7. pyegeria/_validators.py +9 -6
  8. pyegeria/asset_catalog_omvs.py +807 -0
  9. pyegeria/automated_curation_omvs.py +3760 -0
  10. pyegeria/classification_manager_omvs.py +5238 -0
  11. pyegeria/collection_manager_omvs.py +2727 -0
  12. pyegeria/commands/README.md +47 -0
  13. pyegeria/commands/__init__.py +22 -0
  14. pyegeria/commands/cat/README.md +16 -0
  15. pyegeria/commands/cat/__init__.py +1 -0
  16. pyegeria/commands/cat/exp_list_glossaries.py +156 -0
  17. pyegeria/commands/cat/get_asset_graph.py +319 -0
  18. pyegeria/commands/cat/get_collection.py +148 -0
  19. pyegeria/commands/cat/get_project_dependencies.py +168 -0
  20. pyegeria/commands/cat/get_project_structure.py +168 -0
  21. pyegeria/commands/cat/get_tech_type_elements.py +174 -0
  22. pyegeria/commands/cat/glossary_actions.py +362 -0
  23. pyegeria/commands/cat/list_assets.py +176 -0
  24. pyegeria/commands/cat/list_cert_types.py +194 -0
  25. pyegeria/commands/cat/list_collections.py +162 -0
  26. pyegeria/commands/cat/list_deployed_catalogs.py +217 -0
  27. pyegeria/commands/cat/list_deployed_database_schemas.py +251 -0
  28. pyegeria/commands/cat/list_deployed_databases.py +202 -0
  29. pyegeria/commands/cat/list_glossaries.py +150 -0
  30. pyegeria/commands/cat/list_projects.py +221 -0
  31. pyegeria/commands/cat/list_servers_deployed_imp.py +158 -0
  32. pyegeria/commands/cat/list_tech_type_elements.py +190 -0
  33. pyegeria/commands/cat/list_tech_types.py +140 -0
  34. pyegeria/commands/cat/list_terms.py +242 -0
  35. pyegeria/commands/cat/list_todos.py +189 -0
  36. pyegeria/commands/cat/list_user_ids.py +145 -0
  37. pyegeria/commands/cli/__init__.py +13 -0
  38. pyegeria/commands/cli/egeria.py +1844 -0
  39. pyegeria/commands/cli/egeria_cat.py +638 -0
  40. pyegeria/commands/cli/egeria_login_tui.py +313 -0
  41. pyegeria/commands/cli/egeria_my.py +248 -0
  42. pyegeria/commands/cli/egeria_ops.py +502 -0
  43. pyegeria/commands/cli/egeria_tech.py +618 -0
  44. pyegeria/commands/cli/ops_config.py +45 -0
  45. pyegeria/commands/cli/txt_custom_v2.tcss +19 -0
  46. pyegeria/commands/doc/README.md +145 -0
  47. pyegeria/commands/doc/Visual Command Reference/README.md +511 -0
  48. pyegeria/commands/doc/Visual Command Reference/cat/show/assets/asset-graph 2024-11-20 at 15.56.42.png +0 -0
  49. pyegeria/commands/doc/Visual Command Reference/cat/show/assets/assets-in-domain 2024-11-20 at 15.49.55@2x.png +0 -0
  50. pyegeria/commands/doc/Visual Command Reference/cat/show/assets/elements-of-type 2024-11-20 at 16.01.35.png +0 -0
  51. pyegeria/commands/doc/Visual Command Reference/cat/show/assets/tech-type-elements 2024-11-20 at 16.05.05.png +0 -0
  52. pyegeria/commands/doc/Visual Command Reference/cat/show/deployed-data/deployed-data-catalogs 2024-12-17 at 15.43.27@2x.png +0 -0
  53. pyegeria/commands/doc/Visual Command Reference/cat/show/deployed-data/deployed-data-catalogs-2024-11-20 at 16.17.43@2x.png +0 -0
  54. pyegeria/commands/doc/Visual Command Reference/cat/show/deployed-data/deployed-schemas 2024-11-25 at 20.14.50@2x.png +0 -0
  55. pyegeria/commands/doc/Visual Command Reference/cat/show/deployed-data/deployed-schemas 2024-12-17 at 15.48.38@2x.png +0 -0
  56. pyegeria/commands/doc/Visual Command Reference/cat/show/deployed-data/deployed-servers 2024-11-25 at 20.21.25@2x.png +0 -0
  57. pyegeria/commands/doc/Visual Command Reference/cat/show/deployed-data/deployed-servers 2024-12-17 at 15.52.16@2x.png +0 -0
  58. pyegeria/commands/doc/Visual Command Reference/cat/show/deployed-data/deployed_databases 2024-12-16 at 16.40.31@2x.png +0 -0
  59. pyegeria/commands/doc/Visual Command Reference/cat/show/glossary/list-glossaries 2024-11-25 at 20.30.02.png +0 -0
  60. pyegeria/commands/doc/Visual Command Reference/cat/show/glossary/list-terms 2024-11-25 at 20.32.11.png +0 -0
  61. pyegeria/commands/doc/Visual Command Reference/cat/show/info/asset-types 2024-11-25 at 20.34.19@2x.png +0 -0
  62. pyegeria/commands/doc/Visual Command Reference/cat/show/info/certification-types 2024-11-25 at 20.37.07.png +0 -0
  63. pyegeria/commands/doc/Visual Command Reference/cat/show/info/collection-graph 2024-12-12 at 11.33.18@2x.png +0 -0
  64. pyegeria/commands/doc/Visual Command Reference/cat/show/info/list-collections 2024-12-10 at 14.25.51@2x.png +0 -0
  65. pyegeria/commands/doc/Visual Command Reference/cat/show/info/list-todos 2024-12-12 at 11.46.30@2x.png +0 -0
  66. pyegeria/commands/doc/Visual Command Reference/cat/show/info/list-user-ids 2024-12-12 at 11.51.09@2x.png +0 -0
  67. pyegeria/commands/doc/Visual Command Reference/cat/show/info/tech-types 2024-12-12 at 11.37.20@2x.png +0 -0
  68. pyegeria/commands/doc/Visual Command Reference/cat/show/projects/project_dependencies 2024-12-14 at 16.24.39@2x.png +0 -0
  69. pyegeria/commands/doc/Visual Command Reference/cat/show/projects/project_structure 2024-12-14 at 16.21.35@2x.png +0 -0
  70. pyegeria/commands/doc/Visual Command Reference/cat/show/projects/projects 2024-12-14 at 16.18.10@2x.png +0 -0
  71. pyegeria/commands/doc/Visual Command Reference/hey_egeria tui 2024-12-16 at 16.58.22@2x.png +0 -0
  72. pyegeria/commands/doc/Visual Command Reference/my/show/my_profile 2024-12-14 at 16.29.27@2x.png +0 -0
  73. pyegeria/commands/doc/Visual Command Reference/my/show/my_roles 2024-12-14 at 16.32.10@2x.png +0 -0
  74. pyegeria/commands/doc/Visual Command Reference/my/show/my_todos 2024-12-15 at 16.24.13@2x.png +0 -0
  75. pyegeria/commands/doc/Visual Command Reference/my/show/open_todos 2024-12-14 at 16.36.12@2x.png +0 -0
  76. pyegeria/commands/doc/Visual Command Reference/ops/show/engines/list_engine_activity compressed 2024-12-15 at 16.48.48@2x.png +0 -0
  77. pyegeria/commands/doc/Visual Command Reference/ops/show/engines/monitor_engine_activity 2024-12-15 at 16.32.55@2x.png +0 -0
  78. pyegeria/commands/doc/Visual Command Reference/ops/show/engines/monitor_engine_activity compressed 2024-12-15 at 16.38.29@2x.png +0 -0
  79. pyegeria/commands/doc/Visual Command Reference/ops/show/engines/monitor_engine_status 2024-12-15 at 16.51.26.jpeg +0 -0
  80. pyegeria/commands/doc/Visual Command Reference/ops/show/integrations/monitor_integration_daemon_status 2024-12-15 at 16.57.12@2x.png +0 -0
  81. pyegeria/commands/doc/Visual Command Reference/ops/show/integrations/monitor_integration_targets 2024-12-15 at 17.02.19@2x.png +0 -0
  82. pyegeria/commands/doc/Visual Command Reference/ops/show/platforms/monitor_platform_status 2024-12-15 at 19.53.18@2x.png +0 -0
  83. pyegeria/commands/doc/Visual Command Reference/ops/show/servers/monitor_server_status 2024-12-15 at 19.59.39@2x.png +0 -0
  84. pyegeria/commands/doc/Visual Command Reference/ops/show/servers/monitor_server_status full 2024-12-15 at 20.01.57@2x.png +0 -0
  85. pyegeria/commands/doc/Visual Command Reference/ops/show/servers/monitor_startup_servers 2024-12-15 at 19.56.07@2x.png +0 -0
  86. pyegeria/commands/doc/Visual Command Reference/tech/show/elements/get_anchored_elements 2024-12-15 at 21.25.41@2x.png +0 -0
  87. pyegeria/commands/doc/Visual Command Reference/tech/show/elements/get_elements_of_om_type 2024-12-16 at 14.39.59@2x.png +0 -0
  88. pyegeria/commands/doc/Visual Command Reference/tech/show/elements/info_for_guid 2024-12-16 at 11.35.29@2x.png +0 -0
  89. pyegeria/commands/doc/Visual Command Reference/tech/show/elements/list_elements_by_om-type 2024-12-16 at 14.24.18@2x.png +0 -0
  90. pyegeria/commands/doc/Visual Command Reference/tech/show/elements/list_elements_by_om-type extended 2024-12-16 at 14.28.46@2x.png +0 -0
  91. pyegeria/commands/doc/Visual Command Reference/tech/show/elements/list_elements_of_om_type_by_classification 2024-12-16 at 14.35.26@2x.png +0 -0
  92. pyegeria/commands/doc/Visual Command Reference/tech/show/elements/related_elements 2024-12-16 at 14.55.01@2x.png +0 -0
  93. pyegeria/commands/doc/Visual Command Reference/tech/show/elements/show_related_specifications 2024-12-16 at 15.04.55@2x.png +0 -0
  94. pyegeria/commands/doc/Visual Command Reference/tech/show/tech-info/asset_types 2024-12-16 at 15.10.16@2x.png +0 -0
  95. pyegeria/commands/doc/Visual Command Reference/tech/show/tech-info/detailed_governance_action_processes 2024-12-16 at 15.16.26@2x.png +0 -0
  96. pyegeria/commands/doc/Visual Command Reference/tech/show/tech-info/governance_action_processes 2024-12-16 at 15.13.01@2x.png +0 -0
  97. pyegeria/commands/doc/Visual Command Reference/tech/show/tech-info/registered_services 2024-12-16 at 16.44.54@2x.png +0 -0
  98. pyegeria/commands/doc/Visual Command Reference/tech/show/tech-info/relationship_types 2024-12-16 at 16.20.34@2x.png +0 -0
  99. pyegeria/commands/doc/Visual Command Reference/tech/show/tech-info/relationship_types 2024-12-19 at 10.51.54@2x.png +0 -0
  100. pyegeria/commands/doc/Visual Command Reference/tech/show/tech-info/valid_metadata_values 2024-12-16 at 15.31.56@2x.png +0 -0
  101. pyegeria/commands/doc/Visual Command Reference/tech/show/tech-types/list_tech_type_template_specs 2024-12-16 at 16.03.22@2x.png +0 -0
  102. pyegeria/commands/doc/Visual Command Reference/tech/show/tech-types/list_technology_types 2024-12-16 at 15.39.20@2x.png +0 -0
  103. pyegeria/commands/doc/Visual Command Reference/tech/show/tech-types/tech_type_details 2024-12-16 at 15.37.21@2x.png +0 -0
  104. pyegeria/commands/doc/Visual Command Reference/tech/show/tech-types/tech_type_templates 2024-12-16 at 16.11.48@2x.png +0 -0
  105. pyegeria/commands/doc/glossary/basic-glossary-tui.md +109 -0
  106. pyegeria/commands/doc/glossary/images/delete-glossary-step1 2024-11-06 at 15.47.23@2x.png +0 -0
  107. pyegeria/commands/doc/glossary/images/delete-glossary-step2 2024-11-06 at 15.51.29@2x.png +0 -0
  108. pyegeria/commands/doc/glossary/images/delete-glossary-step3 2024-11-06 at 15.53.19@2x.png +0 -0
  109. pyegeria/commands/doc/glossary/images/delete-glossary-step4 2024-11-06 at 15.55.11@2x.png +0 -0
  110. pyegeria/commands/doc/glossary/images/out-create-glossary example 2024-11-05 at 20.38.04@2x.png +0 -0
  111. pyegeria/commands/doc/glossary/images/out-create-term 2024-11-06 at 20.48.29.png +0 -0
  112. pyegeria/commands/doc/glossary/images/out-delete-term 2024-11-07 at 03.57.25.png +0 -0
  113. pyegeria/commands/doc/glossary/images/out-display-terms-for-glossary-test 2024-11-06 at 20.51.28.png +0 -0
  114. pyegeria/commands/doc/glossary/images/out-export-example 2024-11-07 at 09.54.57.png +0 -0
  115. pyegeria/commands/doc/glossary/images/out-exported-terms 2024-11-06 at 21.06.32.png +0 -0
  116. pyegeria/commands/doc/glossary/images/out-glossary-list example 2024-11-05 at 20.41.02@2x.png +0 -0
  117. pyegeria/commands/doc/glossary/images/out-import-terms 2024-11-07 at 08.15.18.png +0 -0
  118. pyegeria/commands/doc/glossary/images/out-list-all-terms 2024-11-06 at 16.22.20@2x.png +0 -0
  119. pyegeria/commands/doc/glossary/images/out-list-terms-for-example 2024-11-06 at 16.40.12.png +0 -0
  120. pyegeria/commands/doc/glossary/images/out-list-terms-second 2024-11-06 at 16.45.13.png +0 -0
  121. pyegeria/commands/doc/glossary/images/out-pipx install pyegeria 2024-11-10 at 18.12.21.png +0 -0
  122. pyegeria/commands/doc/glossary/images/out-server-status-full 2024-11-10 at 18.25.14.png +0 -0
  123. pyegeria/commands/doc/glossary/images/out-servers-status 2024-11-10 at 18.15.42.png +0 -0
  124. pyegeria/commands/doc/glossary/images/out-upsert-import 2024-11-07 at 19.37.00.png +0 -0
  125. pyegeria/commands/doc/glossary/images/tui-2024-11-10 at 18.26.29.png +0 -0
  126. pyegeria/commands/doc/glossary/images/tui-create-glossary example 2024-11-05 at 20.34.24@2x.png +0 -0
  127. pyegeria/commands/doc/glossary/images/tui-create-term 2024-11-06 at 20.46.35.png +0 -0
  128. pyegeria/commands/doc/glossary/images/tui-delete-term 2024-11-07 at 03.51.57.png +0 -0
  129. pyegeria/commands/doc/glossary/images/tui-display-terms-for-example 2024-11-06 at 20.56.49.png +0 -0
  130. pyegeria/commands/doc/glossary/images/tui-export-example 2024-11-07 at 09.52.59.png +0 -0
  131. pyegeria/commands/doc/glossary/images/tui-hey-egeria 2024-11-10 at 18.31.01.png +0 -0
  132. pyegeria/commands/doc/glossary/images/tui-import-upsert-example 2024-11-07 at 10.08.37.png +0 -0
  133. pyegeria/commands/doc/glossary/images/tui-list-terms-second 2024-11-06 at 16.46.34.png +0 -0
  134. pyegeria/commands/doc/glossary/images/tui-load-archive.png +0 -0
  135. pyegeria/commands/doc/glossary/images/tui-server-status-full 2024-11-10 at 19.14.36.png +0 -0
  136. pyegeria/commands/doc/glossary/images/tui-show-glossaries 2024-11-07 at 20.00.05.png +0 -0
  137. pyegeria/commands/doc/glossary/images/tui-show-glossary-terms 2024-11-05 at 19.37.53@2x.png +0 -0
  138. pyegeria/commands/doc/glossary/images/tui-upsert 2024-11-07 at 11.49.04.png +0 -0
  139. pyegeria/commands/doc/glossary/images/upsert-example.om-terms 2024-11-07 at 11.44.05.png +0 -0
  140. pyegeria/commands/doc/hey_egeria: a pyegeria command line interface/README.md +346 -0
  141. pyegeria/commands/doc/hey_egeria: a pyegeria command line interface/images/CleanShot 2024-11-18 at 21.32.03@2x.png +0 -0
  142. pyegeria/commands/doc/hey_egeria: a pyegeria command line interface/images/Xmind 1731421782704.png +0 -0
  143. pyegeria/commands/doc/hey_egeria: a pyegeria command line interface/images/Xmind 1731422134920.png +0 -0
  144. pyegeria/commands/doc/hey_egeria: a pyegeria command line interface/images/hey_egeria 2024-11-12 at 20.38.43.png +0 -0
  145. pyegeria/commands/doc/hey_egeria: a pyegeria command line interface/images/hey_egeria cat 2024-11-12 at 21.41.43.png +0 -0
  146. pyegeria/commands/doc/hey_egeria: a pyegeria command line interface/images/out-integ-status-list 2024-11-12 at 16.45.26.png +0 -0
  147. pyegeria/commands/doc/hey_egeria: a pyegeria command line interface/images/out-integ-status-live 2024-11-12 at 16.44.12@2x.png +0 -0
  148. pyegeria/commands/doc/hey_egeria: a pyegeria command line interface/images/out-server-status 2024-11-10 at 18.15.42@2x.png +0 -0
  149. pyegeria/commands/doc/hey_egeria: a pyegeria command line interface/images/out-server-status-full 2024-11-10 at 18.25.14@2x.png +0 -0
  150. pyegeria/commands/doc/hey_egeria: a pyegeria command line interface/images/short-cut commands 2024-11-12 at 22.22.13.png +0 -0
  151. pyegeria/commands/doc/hey_egeria: a pyegeria command line interface/images/tui-hey-egeria.png +0 -0
  152. pyegeria/commands/doc/hey_egeria: a pyegeria command line interface/images/tui-integration-status-paging.png +0 -0
  153. pyegeria/commands/doc/hey_egeria: a pyegeria command line interface/images/tui-load-archive 2024-11-10 at 19.19.09@2x.png +0 -0
  154. pyegeria/commands/doc/hey_egeria: a pyegeria command line interface/images/tui-show-server-status 2024-11-10 at 18.52.01@2x.png +0 -0
  155. pyegeria/commands/doc/hey_egeria: a pyegeria command line interface/images/tui-show-server-status-full 2024-11-10.png +0 -0
  156. pyegeria/commands/doc/hey_egeria: a pyegeria command line interface/images/tui-status-paging 2024-11-12 at 16.26.14@2x.png +0 -0
  157. pyegeria/commands/my/README.md +17 -0
  158. pyegeria/commands/my/__init__.py +0 -0
  159. pyegeria/commands/my/list_my_profile.py +163 -0
  160. pyegeria/commands/my/list_my_roles.py +151 -0
  161. pyegeria/commands/my/monitor_my_todos.py +205 -0
  162. pyegeria/commands/my/monitor_open_todos.py +175 -0
  163. pyegeria/commands/my/todo_actions.py +242 -0
  164. pyegeria/commands/ops/README.md +24 -0
  165. pyegeria/commands/ops/__init__.py +22 -0
  166. pyegeria/commands/ops/gov_server_actions.py +177 -0
  167. pyegeria/commands/ops/list_archives.py +161 -0
  168. pyegeria/commands/ops/list_catalog_targets.py +203 -0
  169. pyegeria/commands/ops/load_archive.py +75 -0
  170. pyegeria/commands/ops/monitor_asset_events.py +107 -0
  171. pyegeria/commands/ops/monitor_engine_activity.py +270 -0
  172. pyegeria/commands/ops/monitor_engine_activity_c.py +286 -0
  173. pyegeria/commands/ops/monitor_gov_eng_status.py +288 -0
  174. pyegeria/commands/ops/monitor_integ_daemon_status.py +321 -0
  175. pyegeria/commands/ops/monitor_platform_status.py +188 -0
  176. pyegeria/commands/ops/monitor_server_startup.py +117 -0
  177. pyegeria/commands/ops/monitor_server_status.py +182 -0
  178. pyegeria/commands/ops/orig_monitor_server_list.py +140 -0
  179. pyegeria/commands/ops/orig_monitor_server_status.py +124 -0
  180. pyegeria/commands/ops/refresh_integration_daemon.py +83 -0
  181. pyegeria/commands/ops/restart_integration_daemon.py +82 -0
  182. pyegeria/commands/ops/table_integ_daemon_status.py +237 -0
  183. pyegeria/commands/ops/x_engine_actions.py +76 -0
  184. pyegeria/commands/tech/README.md +24 -0
  185. pyegeria/commands/tech/__init__.py +0 -0
  186. pyegeria/commands/tech/get_element_info.py +144 -0
  187. pyegeria/commands/tech/get_guid_info.py +134 -0
  188. pyegeria/commands/tech/get_tech_details.py +173 -0
  189. pyegeria/commands/tech/get_tech_type_template.py +166 -0
  190. pyegeria/commands/tech/list_anchored_elements.py +205 -0
  191. pyegeria/commands/tech/list_asset_types.py +123 -0
  192. pyegeria/commands/tech/list_elements.py +168 -0
  193. pyegeria/commands/tech/list_elements_for_classification.py +171 -0
  194. pyegeria/commands/tech/list_elements_x.py +191 -0
  195. pyegeria/commands/tech/list_gov_action_processes.py +139 -0
  196. pyegeria/commands/tech/list_registered_services.py +180 -0
  197. pyegeria/commands/tech/list_related_elements.py +207 -0
  198. pyegeria/commands/tech/list_related_specification.py +169 -0
  199. pyegeria/commands/tech/list_relationship_types.py +164 -0
  200. pyegeria/commands/tech/list_relationships.py +179 -0
  201. pyegeria/commands/tech/list_tech_templates.py +360 -0
  202. pyegeria/commands/tech/list_valid_metadata_values.py +178 -0
  203. pyegeria/commands/tech/table_tech_templates.py +238 -0
  204. pyegeria/commands/tech/x_list_related_elements.py +165 -0
  205. pyegeria/core_omag_server_config.py +550 -313
  206. pyegeria/create_tech_guid_lists.py +105 -0
  207. pyegeria/egeria_cat_client.py +78 -0
  208. pyegeria/egeria_client.py +117 -0
  209. pyegeria/egeria_config_client.py +45 -0
  210. pyegeria/egeria_my_client.py +56 -0
  211. pyegeria/egeria_tech_client.py +93 -0
  212. pyegeria/feedback_manager_omvs.py +4573 -0
  213. pyegeria/full_omag_server_config.py +1337 -0
  214. pyegeria/glossary_browser_omvs.py +2507 -0
  215. pyegeria/glossary_manager_omvs.py +3597 -0
  216. pyegeria/mermaid_utilities.py +218 -0
  217. pyegeria/metadata_explorer_omvs.py +2371 -0
  218. pyegeria/my_profile_omvs.py +1021 -0
  219. pyegeria/platform_services.py +259 -218
  220. pyegeria/project_manager_omvs.py +1854 -0
  221. pyegeria/registered_info.py +111 -108
  222. pyegeria/runtime_manager_omvs.py +2299 -0
  223. pyegeria/server_operations.py +178 -71
  224. pyegeria/template_manager_omvs.py +1414 -0
  225. pyegeria/utils.py +75 -85
  226. pyegeria/valid_metadata_omvs.py +1911 -0
  227. pyegeria/x_action_author_omvs.py +200 -0
  228. pyegeria-5.3.0.dev3.dist-info/METADATA +70 -0
  229. pyegeria-5.3.0.dev3.dist-info/RECORD +232 -0
  230. {pyegeria-0.2.4.dist-info → pyegeria-5.3.0.dev3.dist-info}/WHEEL +1 -1
  231. pyegeria-5.3.0.dev3.dist-info/entry_points.txt +81 -0
  232. pyegeria/config.toml +0 -11
  233. pyegeria/curation_omvs.py +0 -458
  234. pyegeria/exceptions.py +0 -382
  235. pyegeria/glossary_omvs.py +0 -639
  236. pyegeria/gov_engine.py +0 -573
  237. pyegeria-0.2.4.dist-info/METADATA +0 -57
  238. pyegeria-0.2.4.dist-info/RECORD +0 -19
  239. {pyegeria-0.2.4.dist-info/licenses → pyegeria-5.3.0.dev3.dist-info}/LICENSE +0 -0
@@ -0,0 +1,242 @@
1
+ """
2
+ SPDX-License-Identifier: Apache-2.0
3
+ Copyright Contributors to the ODPi Egeria project.
4
+
5
+
6
+
7
+ Execute ToDo actions.
8
+
9
+ """
10
+ import os
11
+ import time
12
+ from datetime import datetime
13
+
14
+ import click
15
+
16
+ from pyegeria import MyProfile
17
+ from pyegeria._exceptions import (
18
+ InvalidParameterException,
19
+ PropertyServerException,
20
+ print_exception_response,
21
+ )
22
+
23
+ erins_guid = "dcfd7e32-8074-4cdf-bdc5-9a6f28818a9d"
24
+ peter_guid = "59f0232c-f834-4365-8e06-83695d238d2d"
25
+ tanya_guid = "a987c2d2-c8b6-4882-b344-c47956d2de97"
26
+
27
+ EGERIA_METADATA_STORE = os.environ.get("EGERIA_METADATA_STORE", "active-metadata-store")
28
+ EGERIA_KAFKA_ENDPOINT = os.environ.get("KAFKA_ENDPOINT", "localhost:9092")
29
+ EGERIA_PLATFORM_URL = os.environ.get("EGERIA_PLATFORM_URL", "https://localhost:9443")
30
+ EGERIA_VIEW_SERVER = os.environ.get("VIEW_SERVER", "view-server")
31
+ EGERIA_VIEW_SERVER_URL = os.environ.get(
32
+ "EGERIA_VIEW_SERVER_URL", "https://localhost:9443"
33
+ )
34
+ EGERIA_INTEGRATION_DAEMON = os.environ.get("INTEGRATION_DAEMON", "integration-daemon")
35
+ EGERIA_INTEGRATION_DAEMON_URL = os.environ.get(
36
+ "EGERIA_INTEGRATION_DAEMON_URL", "https://localhost:9443"
37
+ )
38
+ EGERIA_ADMIN_USER = os.environ.get("ADMIN_USER", "garygeeke")
39
+ EGERIA_ADMIN_PASSWORD = os.environ.get("ADMIN_PASSWORD", "secret")
40
+ EGERIA_USER = os.environ.get("EGERIA_USER", "erinoverview")
41
+ EGERIA_USER_PASSWORD = os.environ.get("EGERIA_USER_PASSWORD", "secret")
42
+
43
+
44
+ @click.command("create-todo")
45
+ @click.option("--server", default=EGERIA_VIEW_SERVER, help="Egeria view server to use.")
46
+ @click.option(
47
+ "--url",
48
+ default=EGERIA_VIEW_SERVER_URL,
49
+ help="URL of Egeria platform to connect to.",
50
+ )
51
+ @click.option("--userid", default=EGERIA_USER, help="Egeria user")
52
+ @click.option("--password", default=EGERIA_USER_PASSWORD, help="Egeria user password")
53
+ @click.option("--timeout", default=60, help="Number of seconds to wait")
54
+ @click.option("--name", help="Name of Todo", required=True)
55
+ @click.option(
56
+ "--description",
57
+ help="Brief description of To Do item",
58
+ required=True,
59
+ )
60
+ @click.option("--type", help="Type of Todo", required=True, default="forMe")
61
+ @click.option(
62
+ "--priority",
63
+ type=int,
64
+ help="Priority of Todo",
65
+ required=True,
66
+ default=0,
67
+ )
68
+ @click.option(
69
+ "--due",
70
+ help="Due date of Todo (yyyy-mm-dd)",
71
+ default=datetime.now().strftime("%Y-%m-%d"),
72
+ required=True,
73
+ )
74
+ @click.option(
75
+ "--assigned-to",
76
+ help="Party the Todo is assigned to",
77
+ required=True,
78
+ default=peter_guid,
79
+ )
80
+ def create_todo(
81
+ server,
82
+ url,
83
+ userid,
84
+ password,
85
+ timeout,
86
+ name,
87
+ description,
88
+ type,
89
+ priority,
90
+ due,
91
+ assigned_to,
92
+ ):
93
+ """Create a new ToDo item"""
94
+ m_client = MyProfile(server, url, user_id=userid, user_pwd=password)
95
+ m_client.create_egeria_bearer_token()
96
+ try:
97
+ body = {
98
+ "properties": {
99
+ "class": "ToDoProperties",
100
+ "qualifiedName": f"{name}-{time.asctime()}",
101
+ "name": name,
102
+ "description": description,
103
+ "toDoType": type,
104
+ "priority": priority,
105
+ "dueTime": due,
106
+ "status": "OPEN",
107
+ },
108
+ "assignToActorGUID": assigned_to,
109
+ }
110
+
111
+ resp = m_client.create_to_do(body)
112
+ # if type(resp) is str:
113
+ click.echo(f"Response was {resp}")
114
+ # elif type(resp) is dict:
115
+ # click.echo(json.dumps(resp), indent = 2)
116
+
117
+ except (InvalidParameterException, PropertyServerException) as e:
118
+ print_exception_response(e)
119
+ finally:
120
+ m_client.close_session()
121
+
122
+
123
+ @click.command("delete-todo")
124
+ @click.option(
125
+ "--server", default=EGERIA_VIEW_SERVER, help="Egeria metadata store to load"
126
+ )
127
+ @click.option(
128
+ "--url", default=EGERIA_VIEW_SERVER_URL, help="URL of Egeria platform to connect to"
129
+ )
130
+ @click.option("--userid", default=EGERIA_USER, help="Egeria user")
131
+ @click.option("--password", default=EGERIA_USER_PASSWORD, help="Egeria user password")
132
+ @click.option("--timeout", default=60, help="Number of seconds to wait")
133
+ @click.argument("todo-guid")
134
+ def delete_todo(server, url, userid, password, timeout, todo_guid):
135
+ """Delete the todo item specified"""
136
+ m_client = MyProfile(server, url, user_id=userid, user_pwd=password)
137
+ m_client.create_egeria_bearer_token()
138
+ try:
139
+ m_client.delete_to_do(todo_guid)
140
+
141
+ click.echo(f"Deleted Todo item {todo_guid}")
142
+
143
+ except (InvalidParameterException, PropertyServerException) as e:
144
+ print_exception_response(e)
145
+ finally:
146
+ m_client.close_session()
147
+
148
+
149
+ @click.command("change-todo-status")
150
+ @click.argument("todo-guid")
151
+ @click.option(
152
+ "--server", default=EGERIA_VIEW_SERVER, help="Egeria metadata store to load"
153
+ )
154
+ @click.option(
155
+ "--url", default=EGERIA_VIEW_SERVER_URL, help="URL of Egeria platform to connect to"
156
+ )
157
+ @click.option("--userid", default=EGERIA_USER, help="Egeria user")
158
+ @click.option("--password", default=EGERIA_USER_PASSWORD, help="Egeria user password")
159
+ @click.option("--timeout", default=60, help="Number of seconds to wait")
160
+ @click.option(
161
+ "--new-status",
162
+ type=click.Choice(
163
+ ["OPEN", "IN_PROGRESS", "WAITING", "COMPLETE", "ABANDONED"],
164
+ case_sensitive="False",
165
+ ),
166
+ help="Enter the new ToDo item status",
167
+ required=True,
168
+ )
169
+ def change_todo_status(server, url, userid, password, timeout, todo_guid, new_status):
170
+ """Update a ToDo item status"""
171
+ m_client = MyProfile(server, url, user_id=userid, user_pwd=password)
172
+ m_client.create_egeria_bearer_token()
173
+ try:
174
+ body = {"class": "ToDoProperties", "toDoStatus": new_status}
175
+
176
+ m_client.update_to_do(todo_guid, body, is_merge_update=True)
177
+
178
+ click.echo(f"Changed todo item {todo_guid} status to {new_status}.")
179
+
180
+ except (InvalidParameterException, PropertyServerException) as e:
181
+ print_exception_response(e)
182
+ finally:
183
+ m_client.close_session()
184
+
185
+
186
+ @click.command("mark-todo-complete")
187
+ @click.option(
188
+ "--server", default=EGERIA_VIEW_SERVER, help="Egeria metadata store to load"
189
+ )
190
+ @click.option(
191
+ "--url", default=EGERIA_VIEW_SERVER_URL, help="URL of Egeria platform to connect to"
192
+ )
193
+ @click.option("--userid", default=EGERIA_USER, help="Egeria user")
194
+ @click.option("--password", default=EGERIA_USER_PASSWORD, help="Egeria user password")
195
+ @click.option("--timeout", default=60, help="Number of seconds to wait")
196
+ @click.argument("todo-guid")
197
+ def mark_todo_complete(server, url, userid, password, timeout, todo_guid):
198
+ """Mark the specified todo as complete"""
199
+ m_client = MyProfile(server, url, user_id=userid, user_pwd=password)
200
+ try:
201
+ m_client.create_egeria_bearer_token()
202
+ body = {
203
+ "class": "ToDoProperties",
204
+ "completionTime": time.asctime(),
205
+ "toDoStatus": "COMPLETE",
206
+ }
207
+
208
+ m_client.update_to_do(todo_guid, body, is_merge_update=True)
209
+
210
+ click.echo(f"Marked todo item {todo_guid} as complete.")
211
+
212
+ except (InvalidParameterException, PropertyServerException) as e:
213
+ print_exception_response(e)
214
+ finally:
215
+ m_client.close_session()
216
+
217
+
218
+ @click.command("reassign-todo")
219
+ @click.option(
220
+ "--server", default=EGERIA_VIEW_SERVER, help="Egeria metadata store to load"
221
+ )
222
+ @click.option(
223
+ "--url", default=EGERIA_VIEW_SERVER_URL, help="URL of Egeria platform to connect to"
224
+ )
225
+ @click.option("--userid", default=EGERIA_USER, help="Egeria user")
226
+ @click.option("--password", default=EGERIA_USER_PASSWORD, help="Egeria user password")
227
+ @click.option("--timeout", default=60, help="Number of seconds to wait")
228
+ @click.argument("todo-guid")
229
+ @click.argument("new-actor-guid")
230
+ def reassign_todo(server, url, userid, password, timeout, todo_guid, new_actor_guid):
231
+ """Reassign ToDo item to new actor"""
232
+ m_client = MyProfile(server, url, user_id=userid, user_pwd=password)
233
+ m_client.create_egeria_bearer_token()
234
+ try:
235
+ m_client.reassign_to_do(todo_guid, new_actor_guid)
236
+
237
+ click.echo(f"Reassigned Todo item {todo_guid} to {new_actor_guid}")
238
+
239
+ except (InvalidParameterException, PropertyServerException) as e:
240
+ print_exception_response(e)
241
+ finally:
242
+ m_client.close_session()
@@ -0,0 +1,24 @@
1
+ <!-- SPDX-License-Identifier: CC-BY-4.0 -->
2
+ <!-- Copyright Contributors to the Egeria project. -->
3
+
4
+ # Operational
5
+
6
+ These widgets display different kinds of information useful to monitor the status of different elements of an Egeria deployment.
7
+ Widgets will continue to be added over time to cover more facets of catalog use.
8
+
9
+ * get_eng_action_status.py - lists assets containing the user provided search string in the display name or qualified name. Search string must be a minimum of three characters.
10
+ * get_tech_type_elements.py - shows a tree view for the details of a supported technology type.
11
+ * get_tech_type_template.py - shows a tree view of the template associated with a supported technology type.
12
+ * view_coco_status.py - provides a tree view of a collection with all nested collections and items within the collection.
13
+ * view_eng_action_status.py - provides a live view of the status of engine actions.
14
+ * view_gov_eng_status.py - provides a live view of a governance engine status.
15
+ * view_integ_daemeon_status.py - provides a live view of an integration daemon status.
16
+ * view_platform_status.py - provides a live status view of the known servers on known platforms.
17
+ * view_server_list.py - provides a more detailed live status view of the servers on a single platform.
18
+ * view_server_status.py - provides a minimal live status view of the servers on a single platform.
19
+ * view_asset_changes.py - experiment in progress
20
+ * view_asset_events.py - experiment in progress
21
+
22
+ ----
23
+ License: [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/),
24
+ Copyright Contributors to the Egeria project.
@@ -0,0 +1,22 @@
1
+ """
2
+ SPDX-License-Identifier: Apache-2.0
3
+ Copyright Contributors to the ODPi Egeria project.
4
+
5
+
6
+ """
7
+ #
8
+ # from .monitor_integ_daemon_status import display_integration_daemon_status
9
+ # from .monitor_gov_eng_status import display_gov_eng_status
10
+ # from .monitor_platform_status import display_status as display_platform_status
11
+ # from .monitor_server_status import display_status as display_server_status
12
+ # from .monitor_engine_activity_c import display_engine_activity_c
13
+
14
+ # import monitor_server_status
15
+ # import monitor_server_list
16
+ # import monitor_integ_daemon_status
17
+ # import monitor_platform_status
18
+ # import monitor_engine_activity
19
+ # import refresh_integration_daemon
20
+ # import restart_integration_daemon
21
+ # import integration_daemon_actions
22
+ # import list_catalog_targets
@@ -0,0 +1,177 @@
1
+ """
2
+ SPDX-License-Identifier: Apache-2.0
3
+ Copyright Contributors to the ODPi Egeria project.
4
+
5
+
6
+
7
+ This script restarts an integration daemon.
8
+
9
+ """
10
+
11
+ import os
12
+ from rich import print, print_json
13
+ from rich.console import Console
14
+
15
+ import click
16
+ from pyegeria import EgeriaTech, AutomatedCuration, INTEGRATION_GUIDS
17
+ from pyegeria._exceptions import (
18
+ InvalidParameterException,
19
+ PropertyServerException,
20
+ UserNotAuthorizedException,
21
+ print_exception_response,
22
+ )
23
+
24
+
25
+ @click.command("add-target")
26
+ @click.argument("integration-connector")
27
+ @click.argument("metadata-element-guid")
28
+ @click.argument("catalog-target-name")
29
+ @click.pass_context
30
+ def add_catalog_target(
31
+ ctx,
32
+ integration_connector: str,
33
+ metadata_element_guid: str,
34
+ catalog_target_name: str,
35
+ ) -> str:
36
+ """Add catalog targets to the specified integration connector"""
37
+ try:
38
+ if integration_connector not in INTEGRATION_GUIDS.keys():
39
+ click.echo("Integration connector is not known")
40
+
41
+ c = ctx.obj
42
+ a_client = AutomatedCuration(
43
+ c.view_server, c.view_server_url, c.userid, c.password
44
+ )
45
+ token = a_client.create_egeria_bearer_token()
46
+
47
+ guid = a_client.add_catalog_target(
48
+ INTEGRATION_GUIDS[integration_connector],
49
+ metadata_element_guid,
50
+ catalog_target_name,
51
+ )
52
+
53
+ click.echo(
54
+ f"Added catalog target to {integration_connector} with a return guid of {guid}"
55
+ )
56
+
57
+ except (InvalidParameterException, PropertyServerException) as e:
58
+ print_exception_response(e)
59
+
60
+
61
+ @click.command("remove-target")
62
+ @click.argument("relationship-guid")
63
+ @click.pass_context
64
+ def remove_catalog_target(ctx, relationship_guid: str):
65
+ """Remove the catalog target specified by the relationship guidr"""
66
+ try:
67
+ c = ctx.obj
68
+ a_client = AutomatedCuration(
69
+ c.view_server, c.view_server_url, c.userid, c.password
70
+ )
71
+ token = a_client.create_egeria_bearer_token()
72
+
73
+ a_client.remove_catalog_target(relationship_guid)
74
+
75
+ click.echo(
76
+ f"Removed catalog target with relationship guid of {relationship_guid}"
77
+ )
78
+
79
+ except (InvalidParameterException, PropertyServerException) as e:
80
+ print_exception_response(e)
81
+
82
+
83
+ @click.command("update-target")
84
+ @click.argument("relationship-guid")
85
+ @click.argument("catalog-target-name")
86
+ @click.pass_context
87
+ def update_catalog_target(ctx, relationship_guid: str, catalog_target_name: str):
88
+ """Update the catalog target specified by the relationship guid"""
89
+ try:
90
+ c = ctx.obj
91
+ a_client = AutomatedCuration(
92
+ c.view_server, c.view_server_url, c.userid, c.password
93
+ )
94
+ token = a_client.create_egeria_bearer_token()
95
+
96
+ guid = a_client.update_catalog_target(relationship_guid, catalog_target_name)
97
+
98
+ click.echo(
99
+ f"Update catalog target with relationship guid of {relationship_guid} to a catalog target name of "
100
+ f"{catalog_target_name} with a return guid of {guid}"
101
+ )
102
+
103
+ except (InvalidParameterException, PropertyServerException) as e:
104
+ print_exception_response(e)
105
+
106
+
107
+ #
108
+ # This method will be updated based on forthcoming changes on the Egeria server side
109
+ #
110
+ @click.command("refresh")
111
+ @click.option("-engine-host-guid", help="GUID of engine host to refresh.")
112
+ @click.pass_context
113
+ def refresh_gov_eng_config(ctx, engine_host_guid: str):
114
+ """Start or restart an engine-host from its known configuration"""
115
+ c = ctx.obj
116
+ p_client = EgeriaTech(c.view_server, c.view_server_url, c.userid, c.password)
117
+ token = p_client.create_egeria_bearer_token()
118
+ try:
119
+ p_client.refresh_gov_eng_config(None, None, c.engine_host)
120
+
121
+ click.echo(f"Refreshed server {c.engine_host}")
122
+
123
+ except (InvalidParameterException, PropertyServerException) as e:
124
+ print_exception_response(e)
125
+ finally:
126
+ p_client.close_session()
127
+
128
+
129
+ @click.command("start")
130
+ @click.pass_context
131
+ @click.option("--server", default="simple-metadata-store", help="OMAG Server to start")
132
+ def start_server(ctx, server):
133
+ """Start or restart an engine-host from its known configuration"""
134
+ c = ctx.obj
135
+
136
+ p_client = EgeriaTech(c.view_server, c.view_server_url, c.userid, c.password)
137
+ token = p_client.create_egeria_bearer_token()
138
+ try:
139
+ server_guid = p_client.get_element_guid_by_unique_name(server, "name")
140
+ p_client.activate_server_with_stored_config(None, server)
141
+
142
+ click.echo(f"Started server {server}")
143
+
144
+ except (InvalidParameterException, PropertyServerException) as e:
145
+ print_exception_response(e)
146
+ finally:
147
+ p_client.close_session()
148
+
149
+
150
+ @click.command("stop")
151
+ @click.option("--server", help="OMAG Server to stop")
152
+ # @click.option(
153
+ # "--view-server", default=EGERIA_VIEW_SERVER, help="View Server to communicate with"
154
+ # )
155
+ # @click.option(
156
+ # "--url", default=EGERIA_VIEW_SERVER_URL, help="URL of Egeria platform to connect to"
157
+ # )
158
+ # @click.option("--userid", default="garygeeke", envvar="EGERIA_USER", help="Egeria user")
159
+ # @click.option(
160
+ # "--password",
161
+ # default="secret",
162
+ # envvar="EGERIA_PASSWORD",
163
+ # help="Egeria user password",
164
+ # )
165
+ @click.pass_context
166
+ def stop_server(ctx, server):
167
+ """Stop an engine-host daemon"""
168
+ c = ctx.obj
169
+ p_client = EgeriaTech(c.view_server, c.view_server_url, c.userid, c.password)
170
+ token = p_client.create_egeria_bearer_token()
171
+ try:
172
+ p_client.shutdown_server(None, server)
173
+ click.echo(f"Stopped server {server}")
174
+ except (InvalidParameterException, PropertyServerException) as e:
175
+ print_exception_response(e)
176
+ finally:
177
+ p_client.close_session()
@@ -0,0 +1,161 @@
1
+ #!/usr/bin/env python3
2
+ """
3
+ SPDX-Lic
4
+ ense-Identifier: Apache-2.0
5
+ Copyright Contributors to the ODPi Egeria project.
6
+
7
+ Unit tests for the Utils helper functions using the Pytest framework.
8
+
9
+
10
+ A simple display for archives
11
+ """
12
+ import argparse
13
+ import json
14
+ import os
15
+ import time, datetime
16
+
17
+ from rich import box
18
+ from rich import print
19
+ from rich.console import Console
20
+ from rich.prompt import Prompt
21
+ from rich.table import Table
22
+
23
+ from pyegeria import (
24
+ InvalidParameterException,
25
+ PropertyServerException,
26
+ UserNotAuthorizedException,
27
+ print_exception_response,
28
+ )
29
+ from pyegeria import ProjectManager, ClassificationManager
30
+
31
+ EGERIA_METADATA_STORE = os.environ.get("EGERIA_METADATA_STORE", "active-metadata-store")
32
+ EGERIA_KAFKA_ENDPOINT = os.environ.get("KAFKA_ENDPOINT", "localhost:9092")
33
+ EGERIA_PLATFORM_URL = os.environ.get("EGERIA_PLATFORM_URL", "https://localhost:9443")
34
+ EGERIA_VIEW_SERVER = os.environ.get("VIEW_SERVER", "view-server")
35
+ EGERIA_VIEW_SERVER_URL = os.environ.get(
36
+ "EGERIA_VIEW_SERVER_URL", "https://localhost:9443"
37
+ )
38
+ EGERIA_INTEGRATION_DAEMON = os.environ.get("INTEGRATION_DAEMON", "integration-daemon")
39
+ EGERIA_INTEGRATION_DAEMON_URL = os.environ.get(
40
+ "EGERIA_INTEGRATION_DAEMON_URL", "https://localhost:9443"
41
+ )
42
+ EGERIA_ADMIN_USER = os.environ.get("ADMIN_USER", "garygeeke")
43
+ EGERIA_ADMIN_PASSWORD = os.environ.get("ADMIN_PASSWORD", "secret")
44
+ EGERIA_USER = os.environ.get("EGERIA_USER", "erinoverview")
45
+ EGERIA_USER_PASSWORD = os.environ.get("EGERIA_USER_PASSWORD", "secret")
46
+ EGERIA_JUPYTER = bool(os.environ.get("EGERIA_JUPYTER", "False"))
47
+ EGERIA_WIDTH = int(os.environ.get("EGERIA_WIDTH", "200"))
48
+
49
+
50
+ def display_archive_list(
51
+ server: str,
52
+ url: str,
53
+ username: str,
54
+ user_pass: str,
55
+ save_output: bool,
56
+ jupyter: bool = EGERIA_JUPYTER,
57
+ width: int = EGERIA_WIDTH,
58
+ ) -> object:
59
+ c_client = ClassificationManager(server, url, user_id=username)
60
+ token = c_client.create_egeria_bearer_token(username, user_pass)
61
+
62
+ def generate_table() -> Table:
63
+ """Make a new table."""
64
+ table = Table(
65
+ title=f"Archive List @ {time.asctime()}",
66
+ header_style="white on dark_blue",
67
+ show_lines=True,
68
+ box=box.ROUNDED,
69
+ caption=f"Archive list for Server '{server}' @ Platform - {url}",
70
+ expand=True,
71
+ )
72
+
73
+ table.add_column("Name")
74
+ table.add_column("Description")
75
+ table.add_column("Path Name")
76
+
77
+ # table.add_column("Creator")
78
+ # table.add_column("Description")
79
+
80
+ open_metadata_type_name = None
81
+ property_value = "omarchive"
82
+ property_names = ["fileExtension"]
83
+ archives = c_client.get_elements_by_property_value(
84
+ property_value, property_names, open_metadata_type_name
85
+ )
86
+
87
+ if type(archives) != list:
88
+ raise ValueError("--> No archives found")
89
+ else:
90
+ sorted_archives = sorted(
91
+ archives, key=lambda k: k["properties"].get("name", "---")
92
+ )
93
+
94
+ for archive in sorted_archives:
95
+ name = archive["properties"].get("name", "---")
96
+ path_name = archive["properties"].get("pathName", "---")
97
+ description = archive["properties"].get("description", "---")
98
+ creation_date_epoch = (
99
+ int(archive["properties"].get("storeCreateTime", 0)) / 1000
100
+ )
101
+ create_date = datetime.datetime.fromtimestamp(creation_date_epoch)
102
+ creator = "---"
103
+
104
+ table.add_row(name, description, path_name)
105
+
106
+ return table
107
+
108
+ try:
109
+ # with Live(generate_table(), refresh_per_second=4, screen=True) as live:
110
+ # while True:
111
+ # time.sleep(2)
112
+ # live.update(generate_table())
113
+ console = Console(
114
+ record=True, width=width, force_terminal=not jupyter, soft_wrap=True
115
+ )
116
+ with console.pager():
117
+ console.print(generate_table(), soft_wrap=True)
118
+ if save_output:
119
+ console.save_html("archives.html")
120
+
121
+ except (
122
+ InvalidParameterException,
123
+ PropertyServerException,
124
+ UserNotAuthorizedException,
125
+ ValueError,
126
+ ) as e:
127
+ if type(e) is str:
128
+ print(e)
129
+ else:
130
+ print_exception_response(e)
131
+ except KeyboardInterrupt:
132
+ pass
133
+ finally:
134
+ c_client.close_session()
135
+
136
+
137
+ def main():
138
+ parser = argparse.ArgumentParser()
139
+ parser.add_argument("--server", help="Name of the server to display status for")
140
+ parser.add_argument("--url", help="URL Platform to connect to")
141
+ parser.add_argument("--userid", help="User Id")
142
+ parser.add_argument("--save-output", help="Save output to file?")
143
+ parser.add_argument("--password", help="User Password")
144
+ # parser.add_argument("--sponsor", help="Name of sponsor to search")
145
+ args = parser.parse_args()
146
+
147
+ server = args.server if args.server is not None else EGERIA_VIEW_SERVER
148
+ url = args.url if args.url is not None else EGERIA_PLATFORM_URL
149
+ userid = args.userid if args.userid is not None else EGERIA_USER
150
+ user_pass = args.password if args.password is not None else EGERIA_USER_PASSWORD
151
+
152
+ try:
153
+ save_output = args.save_output if args.save_output is not None else False
154
+ display_archive_list(server, url, userid, user_pass, save_output)
155
+
156
+ except KeyboardInterrupt:
157
+ pass
158
+
159
+
160
+ if __name__ == "__main__":
161
+ main()