pyegeria 5.3.6.2.4__tar.gz → 5.3.6.4__tar.gz

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 (258) hide show
  1. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/PKG-INFO +1 -1
  2. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/pyegeria/__init__.py +3 -0
  3. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/pyegeria/_client.py +10 -0
  4. pyegeria-5.3.6.2.4/pyegeria/commands/cat/freddie_jupyter.py → pyegeria-5.3.6.4/pyegeria/commands/cat/dr_egeria_jupyter.py +8 -16
  5. pyegeria-5.3.6.2.4/pyegeria/commands/cat/freddie_md.py → pyegeria-5.3.6.4/pyegeria/commands/cat/dr_egeria_md.py +39 -33
  6. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/pyegeria/commands/cat/glossary_actions.py +59 -1
  7. pyegeria-5.3.6.4/pyegeria/commands/cat/list_categories.py +185 -0
  8. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/pyegeria/commands/cat/list_glossaries.py +26 -33
  9. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/pyegeria/commands/cat/list_terms.py +47 -47
  10. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/pyegeria/commands/cli/egeria.py +51 -61
  11. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/pyegeria/commands/cli/egeria_cat.py +53 -31
  12. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/pyegeria/create_tech_guid_lists.py +2 -5
  13. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/pyegeria/glossary_browser_omvs.py +283 -113
  14. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/pyegeria/glossary_manager_omvs.py +150 -1594
  15. pyegeria-5.3.6.4/pyegeria/md_processing_utils.py +853 -0
  16. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/pyproject.toml +7 -1
  17. pyegeria-5.3.6.2.4/pyegeria/commands/cat/freddie_jup.py +0 -124
  18. pyegeria-5.3.6.2.4/pyegeria/commands/cat/freddie_utils.py +0 -590
  19. pyegeria-5.3.6.2.4/pyegeria/commands/cat/freddies-inbox/freddie_intro.md +0 -221
  20. pyegeria-5.3.6.2.4/pyegeria/commands/cat/freddies-outbox/Terms-2025-03-06-13-19-29-Report.md +0 -69
  21. pyegeria-5.3.6.2.4/pyegeria/commands/cat/freddies-outbox/Terms-2025-03-06-13-20-30-Update-Form.md +0 -78
  22. pyegeria-5.3.6.2.4/pyegeria/commands/cat/glossary_creation_experiment.ipynb +0 -235
  23. pyegeria-5.3.6.2.4/pyegeria/test_j.html +0 -0
  24. pyegeria-5.3.6.2.4/pyegeria/test_m.html +0 -213
  25. pyegeria-5.3.6.2.4/pyegeria/test_m1.html +0 -273
  26. pyegeria-5.3.6.2.4/pyegeria/test_mer.ipynb +0 -596
  27. pyegeria-5.3.6.2.4/pyegeria/test_w.html +0 -213
  28. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/LICENSE +0 -0
  29. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/README.md +0 -0
  30. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/pyegeria/README.md +0 -0
  31. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/pyegeria/_deprecated_gov_engine.py +0 -0
  32. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/pyegeria/_exceptions.py +0 -0
  33. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/pyegeria/_globals.py +0 -0
  34. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/pyegeria/_validators.py +0 -0
  35. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/pyegeria/asset_catalog_omvs.py +0 -0
  36. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/pyegeria/automated_curation_omvs.py +0 -0
  37. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/pyegeria/classification_manager_omvs.py +0 -0
  38. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/pyegeria/collection_manager_omvs.py +0 -0
  39. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/pyegeria/commands/README.md +0 -0
  40. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/pyegeria/commands/__init__.py +0 -0
  41. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/pyegeria/commands/cat/README.md +0 -0
  42. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/pyegeria/commands/cat/__init__.py +0 -0
  43. {pyegeria-5.3.6.2.4/pyegeria/commands/cat/freddies-inbox → pyegeria-5.3.6.4/pyegeria/commands/cat/dr_egeria_inbox}/glossary_creation_experiment.ipynb +0 -0
  44. {pyegeria-5.3.6.2.4/pyegeria/commands/cat/freddies-inbox → pyegeria-5.3.6.4/pyegeria/commands/cat/dr_egeria_inbox}/glossary_exp.md +0 -0
  45. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/pyegeria/commands/cat/exp_list_glossaries.py +0 -0
  46. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/pyegeria/commands/cat/get_asset_graph.py +0 -0
  47. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/pyegeria/commands/cat/get_collection.py +0 -0
  48. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/pyegeria/commands/cat/get_project_dependencies.py +0 -0
  49. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/pyegeria/commands/cat/get_project_structure.py +0 -0
  50. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/pyegeria/commands/cat/get_tech_type_elements.py +0 -0
  51. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/pyegeria/commands/cat/list_assets.py +0 -0
  52. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/pyegeria/commands/cat/list_cert_types.py +0 -0
  53. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/pyegeria/commands/cat/list_collections.py +0 -0
  54. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/pyegeria/commands/cat/list_deployed_catalogs.py +0 -0
  55. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/pyegeria/commands/cat/list_deployed_database_schemas.py +0 -0
  56. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/pyegeria/commands/cat/list_deployed_databases.py +0 -0
  57. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/pyegeria/commands/cat/list_deployed_servers.py +0 -0
  58. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/pyegeria/commands/cat/list_projects.py +0 -0
  59. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/pyegeria/commands/cat/list_tech_type_elements.py +0 -0
  60. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/pyegeria/commands/cat/list_tech_types.py +0 -0
  61. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/pyegeria/commands/cat/list_todos.py +0 -0
  62. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/pyegeria/commands/cat/list_user_ids.py +0 -0
  63. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/pyegeria/commands/cli/__init__.py +0 -0
  64. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/pyegeria/commands/cli/egeria_login_tui.py +0 -0
  65. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/pyegeria/commands/cli/egeria_my.py +0 -0
  66. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/pyegeria/commands/cli/egeria_ops.py +0 -0
  67. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/pyegeria/commands/cli/egeria_tech.py +0 -0
  68. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/pyegeria/commands/cli/ops_config.py +0 -0
  69. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/pyegeria/commands/cli/txt_custom_v2.tcss +0 -0
  70. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/pyegeria/commands/doc/README.md +0 -0
  71. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/pyegeria/commands/doc/Visual Command Reference/README.md +0 -0
  72. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/pyegeria/commands/doc/Visual Command Reference/cat/show/assets/asset-graph 2024-11-20 at 15.56.42.png +0 -0
  73. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/pyegeria/commands/doc/Visual Command Reference/cat/show/assets/assets-in-domain 2024-11-20 at 15.49.55@2x.png +0 -0
  74. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/pyegeria/commands/doc/Visual Command Reference/cat/show/assets/elements-of-type 2024-11-20 at 16.01.35.png +0 -0
  75. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/pyegeria/commands/doc/Visual Command Reference/cat/show/assets/tech-type-elements 2024-11-20 at 16.05.05.png +0 -0
  76. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/pyegeria/commands/doc/Visual Command Reference/cat/show/deployed-data/deployed-data-catalogs 2024-12-17 at 15.43.27@2x.png +0 -0
  77. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/pyegeria/commands/doc/Visual Command Reference/cat/show/deployed-data/deployed-data-catalogs-2024-11-20 at 16.17.43@2x.png +0 -0
  78. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/pyegeria/commands/doc/Visual Command Reference/cat/show/deployed-data/deployed-schemas 2024-11-25 at 20.14.50@2x.png +0 -0
  79. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/pyegeria/commands/doc/Visual Command Reference/cat/show/deployed-data/deployed-schemas 2024-12-17 at 15.48.38@2x.png +0 -0
  80. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/pyegeria/commands/doc/Visual Command Reference/cat/show/deployed-data/deployed-servers 2024-11-25 at 20.21.25@2x.png +0 -0
  81. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/pyegeria/commands/doc/Visual Command Reference/cat/show/deployed-data/deployed-servers 2024-12-17 at 15.52.16@2x.png +0 -0
  82. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/pyegeria/commands/doc/Visual Command Reference/cat/show/deployed-data/deployed_databases 2024-12-16 at 16.40.31@2x.png +0 -0
  83. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/pyegeria/commands/doc/Visual Command Reference/cat/show/glossary/list-glossaries 2024-11-25 at 20.30.02.png +0 -0
  84. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/pyegeria/commands/doc/Visual Command Reference/cat/show/glossary/list-terms 2024-11-25 at 20.32.11.png +0 -0
  85. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/pyegeria/commands/doc/Visual Command Reference/cat/show/info/asset-types 2024-11-25 at 20.34.19@2x.png +0 -0
  86. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/pyegeria/commands/doc/Visual Command Reference/cat/show/info/certification-types 2024-11-25 at 20.37.07.png +0 -0
  87. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/pyegeria/commands/doc/Visual Command Reference/cat/show/info/collection-graph 2024-12-12 at 11.33.18@2x.png +0 -0
  88. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/pyegeria/commands/doc/Visual Command Reference/cat/show/info/list-collections 2024-12-10 at 14.25.51@2x.png +0 -0
  89. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/pyegeria/commands/doc/Visual Command Reference/cat/show/info/list-todos 2024-12-12 at 11.46.30@2x.png +0 -0
  90. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/pyegeria/commands/doc/Visual Command Reference/cat/show/info/list-user-ids 2024-12-12 at 11.51.09@2x.png +0 -0
  91. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/pyegeria/commands/doc/Visual Command Reference/cat/show/info/tech-types 2024-12-12 at 11.37.20@2x.png +0 -0
  92. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/pyegeria/commands/doc/Visual Command Reference/cat/show/projects/project_dependencies 2024-12-14 at 16.24.39@2x.png +0 -0
  93. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/pyegeria/commands/doc/Visual Command Reference/cat/show/projects/project_structure 2024-12-14 at 16.21.35@2x.png +0 -0
  94. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/pyegeria/commands/doc/Visual Command Reference/cat/show/projects/projects 2024-12-14 at 16.18.10@2x.png +0 -0
  95. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/pyegeria/commands/doc/Visual Command Reference/hey_egeria tui 2024-12-16 at 16.58.22@2x.png +0 -0
  96. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/pyegeria/commands/doc/Visual Command Reference/my/show/my_profile 2024-12-14 at 16.29.27@2x.png +0 -0
  97. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/pyegeria/commands/doc/Visual Command Reference/my/show/my_roles 2024-12-14 at 16.32.10@2x.png +0 -0
  98. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/pyegeria/commands/doc/Visual Command Reference/my/show/my_todos 2024-12-15 at 16.24.13@2x.png +0 -0
  99. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/pyegeria/commands/doc/Visual Command Reference/my/show/open_todos 2024-12-14 at 16.36.12@2x.png +0 -0
  100. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/pyegeria/commands/doc/Visual Command Reference/ops/show/engines/list_engine_activity compressed 2024-12-15 at 16.48.48@2x.png +0 -0
  101. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/pyegeria/commands/doc/Visual Command Reference/ops/show/engines/monitor_engine_activity 2024-12-15 at 16.32.55@2x.png +0 -0
  102. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/pyegeria/commands/doc/Visual Command Reference/ops/show/engines/monitor_engine_activity compressed 2024-12-15 at 16.38.29@2x.png +0 -0
  103. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/pyegeria/commands/doc/Visual Command Reference/ops/show/engines/monitor_engine_status 2024-12-15 at 16.51.26.jpeg +0 -0
  104. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/pyegeria/commands/doc/Visual Command Reference/ops/show/integrations/monitor_integration_daemon_status 2024-12-15 at 16.57.12@2x.png +0 -0
  105. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/pyegeria/commands/doc/Visual Command Reference/ops/show/integrations/monitor_integration_targets 2024-12-15 at 17.02.19@2x.png +0 -0
  106. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/pyegeria/commands/doc/Visual Command Reference/ops/show/platforms/monitor_platform_status 2024-12-15 at 19.53.18@2x.png +0 -0
  107. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/pyegeria/commands/doc/Visual Command Reference/ops/show/servers/monitor_server_status 2024-12-15 at 19.59.39@2x.png +0 -0
  108. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/pyegeria/commands/doc/Visual Command Reference/ops/show/servers/monitor_server_status full 2024-12-15 at 20.01.57@2x.png +0 -0
  109. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/pyegeria/commands/doc/Visual Command Reference/ops/show/servers/monitor_startup_servers 2024-12-15 at 19.56.07@2x.png +0 -0
  110. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/pyegeria/commands/doc/Visual Command Reference/tech/show/elements/get_anchored_elements 2024-12-15 at 21.25.41@2x.png +0 -0
  111. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/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
  112. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/pyegeria/commands/doc/Visual Command Reference/tech/show/elements/info_for_guid 2024-12-16 at 11.35.29@2x.png +0 -0
  113. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/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
  114. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/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
  115. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/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
  116. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/pyegeria/commands/doc/Visual Command Reference/tech/show/elements/related_elements 2024-12-16 at 14.55.01@2x.png +0 -0
  117. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/pyegeria/commands/doc/Visual Command Reference/tech/show/elements/show_related_specifications 2024-12-16 at 15.04.55@2x.png +0 -0
  118. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/pyegeria/commands/doc/Visual Command Reference/tech/show/tech-info/asset_types 2024-12-16 at 15.10.16@2x.png +0 -0
  119. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/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
  120. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/pyegeria/commands/doc/Visual Command Reference/tech/show/tech-info/governance_action_processes 2024-12-16 at 15.13.01@2x.png +0 -0
  121. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/pyegeria/commands/doc/Visual Command Reference/tech/show/tech-info/registered_services 2024-12-16 at 16.44.54@2x.png +0 -0
  122. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/pyegeria/commands/doc/Visual Command Reference/tech/show/tech-info/relationship_types 2024-12-16 at 16.20.34@2x.png +0 -0
  123. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/pyegeria/commands/doc/Visual Command Reference/tech/show/tech-info/relationship_types 2024-12-19 at 10.51.54@2x.png +0 -0
  124. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/pyegeria/commands/doc/Visual Command Reference/tech/show/tech-info/valid_metadata_values 2024-12-16 at 15.31.56@2x.png +0 -0
  125. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/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
  126. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/pyegeria/commands/doc/Visual Command Reference/tech/show/tech-types/list_technology_types 2024-12-16 at 15.39.20@2x.png +0 -0
  127. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/pyegeria/commands/doc/Visual Command Reference/tech/show/tech-types/tech_type_details 2024-12-16 at 15.37.21@2x.png +0 -0
  128. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/pyegeria/commands/doc/Visual Command Reference/tech/show/tech-types/tech_type_templates 2024-12-16 at 16.11.48@2x.png +0 -0
  129. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/pyegeria/commands/doc/glossary/basic-glossary-tui.md +0 -0
  130. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/pyegeria/commands/doc/glossary/images/delete-glossary-step1 2024-11-06 at 15.47.23@2x.png +0 -0
  131. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/pyegeria/commands/doc/glossary/images/delete-glossary-step2 2024-11-06 at 15.51.29@2x.png +0 -0
  132. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/pyegeria/commands/doc/glossary/images/delete-glossary-step3 2024-11-06 at 15.53.19@2x.png +0 -0
  133. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/pyegeria/commands/doc/glossary/images/delete-glossary-step4 2024-11-06 at 15.55.11@2x.png +0 -0
  134. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/pyegeria/commands/doc/glossary/images/out-create-glossary example 2024-11-05 at 20.38.04@2x.png +0 -0
  135. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/pyegeria/commands/doc/glossary/images/out-create-term 2024-11-06 at 20.48.29.png +0 -0
  136. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/pyegeria/commands/doc/glossary/images/out-delete-term 2024-11-07 at 03.57.25.png +0 -0
  137. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/pyegeria/commands/doc/glossary/images/out-display-terms-for-glossary-test 2024-11-06 at 20.51.28.png +0 -0
  138. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/pyegeria/commands/doc/glossary/images/out-export-example 2024-11-07 at 09.54.57.png +0 -0
  139. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/pyegeria/commands/doc/glossary/images/out-exported-terms 2024-11-06 at 21.06.32.png +0 -0
  140. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/pyegeria/commands/doc/glossary/images/out-glossary-list example 2024-11-05 at 20.41.02@2x.png +0 -0
  141. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/pyegeria/commands/doc/glossary/images/out-import-terms 2024-11-07 at 08.15.18.png +0 -0
  142. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/pyegeria/commands/doc/glossary/images/out-list-all-terms 2024-11-06 at 16.22.20@2x.png +0 -0
  143. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/pyegeria/commands/doc/glossary/images/out-list-terms-for-example 2024-11-06 at 16.40.12.png +0 -0
  144. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/pyegeria/commands/doc/glossary/images/out-list-terms-second 2024-11-06 at 16.45.13.png +0 -0
  145. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/pyegeria/commands/doc/glossary/images/out-pipx install pyegeria 2024-11-10 at 18.12.21.png +0 -0
  146. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/pyegeria/commands/doc/glossary/images/out-server-status-full 2024-11-10 at 18.25.14.png +0 -0
  147. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/pyegeria/commands/doc/glossary/images/out-servers-status 2024-11-10 at 18.15.42.png +0 -0
  148. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/pyegeria/commands/doc/glossary/images/out-upsert-import 2024-11-07 at 19.37.00.png +0 -0
  149. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/pyegeria/commands/doc/glossary/images/tui-2024-11-10 at 18.26.29.png +0 -0
  150. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/pyegeria/commands/doc/glossary/images/tui-create-glossary example 2024-11-05 at 20.34.24@2x.png +0 -0
  151. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/pyegeria/commands/doc/glossary/images/tui-create-term 2024-11-06 at 20.46.35.png +0 -0
  152. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/pyegeria/commands/doc/glossary/images/tui-delete-term 2024-11-07 at 03.51.57.png +0 -0
  153. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/pyegeria/commands/doc/glossary/images/tui-display-terms-for-example 2024-11-06 at 20.56.49.png +0 -0
  154. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/pyegeria/commands/doc/glossary/images/tui-export-example 2024-11-07 at 09.52.59.png +0 -0
  155. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/pyegeria/commands/doc/glossary/images/tui-hey-egeria 2024-11-10 at 18.31.01.png +0 -0
  156. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/pyegeria/commands/doc/glossary/images/tui-import-upsert-example 2024-11-07 at 10.08.37.png +0 -0
  157. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/pyegeria/commands/doc/glossary/images/tui-list-terms-second 2024-11-06 at 16.46.34.png +0 -0
  158. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/pyegeria/commands/doc/glossary/images/tui-load-archive.png +0 -0
  159. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/pyegeria/commands/doc/glossary/images/tui-server-status-full 2024-11-10 at 19.14.36.png +0 -0
  160. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/pyegeria/commands/doc/glossary/images/tui-show-glossaries 2024-11-07 at 20.00.05.png +0 -0
  161. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/pyegeria/commands/doc/glossary/images/tui-show-glossary-terms 2024-11-05 at 19.37.53@2x.png +0 -0
  162. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/pyegeria/commands/doc/glossary/images/tui-upsert 2024-11-07 at 11.49.04.png +0 -0
  163. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/pyegeria/commands/doc/glossary/images/upsert-example.om-terms 2024-11-07 at 11.44.05.png +0 -0
  164. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/pyegeria/commands/doc/hey_egeria: a pyegeria command line interface/README.md +0 -0
  165. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/pyegeria/commands/doc/hey_egeria: a pyegeria command line interface/images/CleanShot 2024-11-18 at 21.32.03@2x.png +0 -0
  166. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/pyegeria/commands/doc/hey_egeria: a pyegeria command line interface/images/Xmind 1731421782704.png +0 -0
  167. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/pyegeria/commands/doc/hey_egeria: a pyegeria command line interface/images/Xmind 1731422134920.png +0 -0
  168. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/pyegeria/commands/doc/hey_egeria: a pyegeria command line interface/images/hey_egeria 2024-11-12 at 20.38.43.png +0 -0
  169. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/pyegeria/commands/doc/hey_egeria: a pyegeria command line interface/images/hey_egeria cat 2024-11-12 at 21.41.43.png +0 -0
  170. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/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
  171. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/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
  172. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/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
  173. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/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
  174. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/pyegeria/commands/doc/hey_egeria: a pyegeria command line interface/images/short-cut commands 2024-11-12 at 22.22.13.png +0 -0
  175. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/pyegeria/commands/doc/hey_egeria: a pyegeria command line interface/images/tui-hey-egeria.png +0 -0
  176. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/pyegeria/commands/doc/hey_egeria: a pyegeria command line interface/images/tui-integration-status-paging.png +0 -0
  177. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/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
  178. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/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
  179. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/pyegeria/commands/doc/hey_egeria: a pyegeria command line interface/images/tui-show-server-status-full 2024-11-10.png +0 -0
  180. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/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
  181. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/pyegeria/commands/my/README.md +0 -0
  182. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/pyegeria/commands/my/__init__.py +0 -0
  183. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/pyegeria/commands/my/list_my_profile.py +0 -0
  184. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/pyegeria/commands/my/list_my_roles.py +0 -0
  185. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/pyegeria/commands/my/monitor_my_todos.py +0 -0
  186. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/pyegeria/commands/my/monitor_open_todos.py +0 -0
  187. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/pyegeria/commands/my/todo_actions.py +0 -0
  188. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/pyegeria/commands/ops/README.md +0 -0
  189. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/pyegeria/commands/ops/__init__.py +0 -0
  190. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/pyegeria/commands/ops/gov_server_actions.py +0 -0
  191. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/pyegeria/commands/ops/list_archives.py +0 -0
  192. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/pyegeria/commands/ops/list_catalog_targets.py +0 -0
  193. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/pyegeria/commands/ops/load_archive.py +0 -0
  194. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/pyegeria/commands/ops/monitor_asset_events.py +0 -0
  195. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/pyegeria/commands/ops/monitor_engine_activity.py +0 -0
  196. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/pyegeria/commands/ops/monitor_engine_activity_c.py +0 -0
  197. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/pyegeria/commands/ops/monitor_gov_eng_status.py +0 -0
  198. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/pyegeria/commands/ops/monitor_integ_daemon_status.py +0 -0
  199. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/pyegeria/commands/ops/monitor_platform_status.py +0 -0
  200. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/pyegeria/commands/ops/monitor_server_startup.py +0 -0
  201. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/pyegeria/commands/ops/monitor_server_status.py +0 -0
  202. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/pyegeria/commands/ops/orig_monitor_server_list.py +0 -0
  203. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/pyegeria/commands/ops/orig_monitor_server_status.py +0 -0
  204. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/pyegeria/commands/ops/refresh_integration_daemon.py +0 -0
  205. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/pyegeria/commands/ops/restart_integration_daemon.py +0 -0
  206. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/pyegeria/commands/ops/table_integ_daemon_status.py +0 -0
  207. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/pyegeria/commands/ops/x_engine_actions.py +0 -0
  208. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/pyegeria/commands/tech/README.md +0 -0
  209. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/pyegeria/commands/tech/__init__.py +0 -0
  210. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/pyegeria/commands/tech/get_element_info.py +0 -0
  211. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/pyegeria/commands/tech/get_guid_info.py +0 -0
  212. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/pyegeria/commands/tech/get_tech_details.py +0 -0
  213. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/pyegeria/commands/tech/get_tech_type_template.py +0 -0
  214. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/pyegeria/commands/tech/list_all_om_type_elements.py +0 -0
  215. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/pyegeria/commands/tech/list_all_om_type_elements_x.py +0 -0
  216. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/pyegeria/commands/tech/list_all_related_elements.py +0 -0
  217. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/pyegeria/commands/tech/list_anchored_elements.py +0 -0
  218. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/pyegeria/commands/tech/list_asset_types.py +0 -0
  219. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/pyegeria/commands/tech/list_elements_by_classification_by_property_value.py +0 -0
  220. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/pyegeria/commands/tech/list_elements_by_property_value.py +0 -0
  221. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/pyegeria/commands/tech/list_elements_by_property_value_x.py +0 -0
  222. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/pyegeria/commands/tech/list_elements_for_classification.py +0 -0
  223. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/pyegeria/commands/tech/list_gov_action_processes.py +0 -0
  224. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/pyegeria/commands/tech/list_information_supply_chains.py +0 -0
  225. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/pyegeria/commands/tech/list_registered_services.py +0 -0
  226. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/pyegeria/commands/tech/list_related_elements_with_prop_value.py +0 -0
  227. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/pyegeria/commands/tech/list_related_specification.py +0 -0
  228. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/pyegeria/commands/tech/list_relationship_types.py +0 -0
  229. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/pyegeria/commands/tech/list_relationships.py +0 -0
  230. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/pyegeria/commands/tech/list_solution_blueprints.py +0 -0
  231. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/pyegeria/commands/tech/list_solution_components.py +0 -0
  232. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/pyegeria/commands/tech/list_solution_roles.py +0 -0
  233. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/pyegeria/commands/tech/list_tech_templates.py +0 -0
  234. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/pyegeria/commands/tech/list_valid_metadata_values.py +0 -0
  235. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/pyegeria/commands/tech/table_tech_templates.py +0 -0
  236. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/pyegeria/commands/tech/x_list_related_elements.py +0 -0
  237. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/pyegeria/core_omag_server_config.py +0 -0
  238. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/pyegeria/egeria_cat_client.py +0 -0
  239. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/pyegeria/egeria_client.py +0 -0
  240. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/pyegeria/egeria_config_client.py +0 -0
  241. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/pyegeria/egeria_my_client.py +0 -0
  242. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/pyegeria/egeria_tech_client.py +0 -0
  243. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/pyegeria/feedback_manager_omvs.py +0 -0
  244. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/pyegeria/full_omag_server_config.py +0 -0
  245. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/pyegeria/m_test.py +0 -0
  246. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/pyegeria/mermaid_utilities.py +0 -0
  247. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/pyegeria/metadata_explorer_omvs.py +0 -0
  248. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/pyegeria/my_profile_omvs.py +0 -0
  249. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/pyegeria/platform_services.py +0 -0
  250. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/pyegeria/project_manager_omvs.py +0 -0
  251. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/pyegeria/registered_info.py +0 -0
  252. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/pyegeria/runtime_manager_omvs.py +0 -0
  253. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/pyegeria/server_operations.py +0 -0
  254. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/pyegeria/solution_architect_omvs.py +0 -0
  255. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/pyegeria/template_manager_omvs.py +0 -0
  256. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/pyegeria/utils.py +0 -0
  257. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/pyegeria/valid_metadata_omvs.py +0 -0
  258. {pyegeria-5.3.6.2.4 → pyegeria-5.3.6.4}/pyegeria/x_action_author_omvs.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: pyegeria
3
- Version: 5.3.6.2.4
3
+ Version: 5.3.6.4
4
4
  Summary: A python client for Egeria
5
5
  License: Apache 2.0
6
6
  Keywords: egeria,metadata,governance
@@ -90,6 +90,9 @@ from .solution_architect_omvs import SolutionArchitect
90
90
  from .utils import body_slimmer, print_response
91
91
  from .valid_metadata_omvs import ValidMetadataManager
92
92
  from .x_action_author_omvs import ActionAuthor
93
+ from .md_processing_utils import (extract_command, process_glossary_upsert_command, process_term_upsert_command,
94
+ process_categories_upsert_command,
95
+ get_current_datetime_string, process_per_proj_upsert_command, commands)
93
96
 
94
97
  #
95
98
  # The following assignments were generated by the `create_tech_guid_lists.py` utility that uses the pyegeria functions
@@ -11,6 +11,7 @@ import asyncio
11
11
  import inspect
12
12
  import json
13
13
  import os
14
+ import re
14
15
  from datetime import datetime
15
16
 
16
17
  import httpx
@@ -769,6 +770,15 @@ class Client:
769
770
  )
770
771
  return result
771
772
 
773
+ def __create_qualified_name__(self, type: str, display_name: str, local_qualifier: str = None) -> str:
774
+ """Helper function to create a qualified name for a given type and display name.
775
+ If present, the local qualifier will be prepended to the qualified name."""
776
+ EGERIA_LOCAL_QUALIFIER = os.environ.get("EGERIA_LOCAL_QUALIFIER", local_qualifier)
777
+ display_name = re.sub(r'\s','-',display_name.strip())
778
+ q_name = f"{type}:{display_name}"
779
+ if EGERIA_LOCAL_QUALIFIER:
780
+ q_name = f"{EGERIA_LOCAL_QUALIFIER}:{q_name}"
781
+ return q_name
772
782
 
773
783
  if __name__ == "__main__":
774
784
  print("Main-__client")
@@ -1,28 +1,20 @@
1
1
  """
2
2
  This is an ongoing experiment in parsing and playing with Freddie docs
3
3
  """
4
- import json
5
4
 
6
- from jupyter_notebook_parser import JupyterNotebookParser
7
5
  import nbformat
8
6
  import os
9
- import re
10
- from pyegeria import EgeriaTech
11
- from rich import box, print
7
+ from rich import print
12
8
  from rich.console import Console
13
- from rich.markdown import Markdown
14
- from rich.prompt import Prompt
15
- from rich.table import Table
16
- from freddie_utils import (extract_command, process_glossary_upsert_command, process_term_upsert_command,
17
- get_current_datetime_string, process_per_proj_upsert_command, commands)
9
+ from pyegeria.md_processing_utils import (extract_command, process_glossary_upsert_command, process_term_upsert_command,
10
+ get_current_datetime_string, process_per_proj_upsert_command, commands)
18
11
  import click
19
- from pyegeria import EgeriaTech, body_slimmer, NO_GLOSSARIES_FOUND, NO_TERMS_FOUND, NO_ELEMENTS_FOUND, NO_PROJECTS_FOUND
12
+ from pyegeria import (extract_command, process_glossary_upsert_command, process_term_upsert_command,
13
+ get_current_datetime_string, process_per_proj_upsert_command, commands,EgeriaTech
14
+ )
20
15
  from pyegeria._exceptions import (
21
- InvalidParameterException,
22
- PropertyServerException,
23
16
  print_exception_response,
24
17
  )
25
- from datetime import datetime
26
18
 
27
19
  EGERIA_METADATA_STORE = os.environ.get("EGERIA_METADATA_STORE", "active-metadata-store")
28
20
  EGERIA_KAFKA_ENDPOINT = os.environ.get("KAFKA_ENDPOINT", "localhost:9092")
@@ -44,8 +36,8 @@ EGERIA_JUPYTER = os.environ.get("EGERIA_JUPYTER", False)
44
36
  EGERIA_HOME_GLOSSARY_GUID = os.environ.get("EGERIA_HOME_GLOSSARY_GUID", None)
45
37
  EGERIA_GLOSSARY_PATH = os.environ.get("EGERIA_GLOSSARY_PATH", None)
46
38
  EGERIA_ROOT_PATH = os.environ.get("EGERIA_ROOT_PATH", "/Users/dwolfson/localGit/egeria-v5-3/egeria-python")
47
- EGERIA_INBOX_PATH = os.environ.get("EGERIA_INBOX_PATH", "pyegeria/commands/cat/freddies-inbox")
48
- EGERIA_OUTBOX_PATH = os.environ.get("EGERIA_OUTBOX_PATH", "pyegeria/commands/cat/freddies-outbox")
39
+ EGERIA_INBOX_PATH = os.environ.get("EGERIA_INBOX_PATH", "pyegeria/commands/cat/dr_egeria_inbox")
40
+ EGERIA_OUTBOX_PATH = os.environ.get("EGERIA_OUTBOX_PATH", "pyegeria/commands/cat/dr_egeria_outbox")
49
41
 
50
42
  console = Console(width=int(EGERIA_WIDTH))
51
43
 
@@ -2,27 +2,20 @@
2
2
  This is an ongoing experiment in parsing and playing with Freddie docs
3
3
  """
4
4
  import json
5
- import mistune
6
- from jupyter_notebook_parser import JupyterNotebookParser
7
- import nbformat
8
5
  import os
9
- import re
10
- from pyegeria import EgeriaTech
11
- from rich import box, print
6
+ from rich import print
12
7
  from rich.console import Console
13
8
  from rich.markdown import Markdown
14
- from rich.prompt import Prompt
15
- from rich.table import Table
16
- from freddie_utils import (extract_command, process_glossary_upsert_command, process_term_upsert_command,
17
- get_current_datetime_string, process_per_proj_upsert_command, commands)
9
+
10
+ from pyegeria.md_processing_utils import (extract_command, process_glossary_upsert_command, process_term_upsert_command,
11
+ get_current_datetime_string, process_per_proj_upsert_command, commands,
12
+ process_provenance_command)
18
13
 
19
14
  import click
20
- from pyegeria import EgeriaTech, body_slimmer, NO_GLOSSARIES_FOUND, NO_TERMS_FOUND, NO_ELEMENTS_FOUND, NO_PROJECTS_FOUND
21
- from pyegeria._exceptions import (
22
- InvalidParameterException,
23
- PropertyServerException,
24
- print_exception_response,
25
- )
15
+ from pyegeria import (extract_command, process_glossary_upsert_command, process_term_upsert_command,
16
+ process_categories_upsert_command,
17
+ get_current_datetime_string, process_per_proj_upsert_command, commands,EgeriaTech
18
+ )
26
19
  from datetime import datetime
27
20
 
28
21
  EGERIA_METADATA_STORE = os.environ.get("EGERIA_METADATA_STORE", "active-metadata-store")
@@ -45,8 +38,8 @@ EGERIA_JUPYTER = os.environ.get("EGERIA_JUPYTER", False)
45
38
  EGERIA_HOME_GLOSSARY_GUID = os.environ.get("EGERIA_HOME_GLOSSARY_GUID", None)
46
39
  EGERIA_GLOSSARY_PATH = os.environ.get("EGERIA_GLOSSARY_PATH", None)
47
40
  EGERIA_ROOT_PATH = os.environ.get("EGERIA_ROOT_PATH", "/Users/dwolfson/localGit/egeria-v5-3/egeria-python")
48
- EGERIA_INBOX_PATH = os.environ.get("EGERIA_INBOX_PATH", "pyegeria/commands/cat/freddies-inbox")
49
- EGERIA_OUTBOX_PATH = os.environ.get("EGERIA_OUTBOX_PATH", "pyegeria/commands/cat/freddies-outbox")
41
+ EGERIA_INBOX_PATH = os.environ.get("EGERIA_INBOX_PATH", "pyegeria/commands/cat/dr_egeria_inbox")
42
+ EGERIA_OUTBOX_PATH = os.environ.get("EGERIA_OUTBOX_PATH", "pyegeria/commands/cat/dr_egeria_outbox")
50
43
 
51
44
  console = Console(width=int(EGERIA_WIDTH))
52
45
 
@@ -84,8 +77,9 @@ def process_markdown_file(
84
77
  print(f"Error: File not found at path: {full_file_path}")
85
78
  return {} # Return empty dict if file not found
86
79
 
87
- final_output = (f"\n# Results from processing file {file_path} on "
88
- f"{datetime.now().strftime("%Y-%m-%d %H:%M")}\n---\n")
80
+ final_output =""
81
+ prov_output = (f"\n* Results from processing file {file_path} on "
82
+ f"{datetime.now().strftime("%Y-%m-%d %H:%M")}\n")
89
83
  h1_blocks = []
90
84
  current_block = ""
91
85
  in_h1_block = False
@@ -111,15 +105,20 @@ def process_markdown_file(
111
105
 
112
106
  if current_block: # Add the last H1 block
113
107
  h1_blocks.append(current_block)
114
-
108
+ prov_found = False
115
109
  # Process each identified H1 block
116
110
  for block in h1_blocks:
117
111
  potential_command = extract_command(block) # Extract potential command
118
112
 
119
113
  if potential_command in commands:
120
114
  # Process the block based on the command
115
+ if potential_command == "Provenance":
116
+ prov_found = True
117
+ result = process_provenance_command(file_path, block)
121
118
  if potential_command in ["Create Glossary", "Update Glossary"]:
122
119
  result = process_glossary_upsert_command(client, element_dictionary, block, directive)
120
+ elif potential_command in ["Create Category", "Update Category"]:
121
+ result = process_categories_upsert_command(client, element_dictionary, block, directive)
123
122
  elif potential_command in ["Create Term", "Update Term"]:
124
123
  result = process_term_upsert_command(client, element_dictionary, block, directive)
125
124
  elif potential_command in ["Create Personal Project", "Update Personal Project"]:
@@ -132,7 +131,7 @@ def process_markdown_file(
132
131
  if directive == "process":
133
132
  updated = True
134
133
  final_output += f"\n---\n{result}\n---\n\n"
135
- # print(json.dumps(element_dictionary, indent=4))
134
+ print(json.dumps(element_dictionary, indent=4))
136
135
  elif directive == "process":
137
136
  # Handle case with errors (skip this block but notify the user)
138
137
  print(f"\n==>\tErrors found while processing command: \'{potential_command}\'\n"
@@ -142,19 +141,26 @@ def process_markdown_file(
142
141
  # If no command is detected, add the block to the final output as-is
143
142
  final_output += f"\n---\n{block}\n---\n\n"
144
143
 
144
+
145
145
  # Write the final_output to a new file if updated
146
- if updated:
147
- path, filename = os.path.split(file_path) # Get both parts
148
- new_filename = f"processed-{get_current_datetime_string()}-{filename}" # Create the new filename
149
- new_file_path = os.path.join(EGERIA_ROOT_PATH, EGERIA_OUTBOX_PATH, new_filename) # Construct the new path
150
- os.makedirs(os.path.dirname(new_file_path), exist_ok=True)
151
-
152
- with open(new_file_path, 'w') as f2:
153
- f2.write(final_output)
154
- click.echo(f"\n==> Notebook written to {new_file_path}")
155
- else:
156
- click.echo("\nNo updates detected. New File not created.")
146
+ try:
147
+ if updated:
148
+ path, filename = os.path.split(file_path) # Get both parts
149
+ new_filename = f"processed-{get_current_datetime_string()}-{filename}" # Create the new filename
150
+ new_file_path = os.path.join(EGERIA_ROOT_PATH, EGERIA_OUTBOX_PATH, new_filename) # Construct the new path
151
+ os.makedirs(os.path.dirname(new_file_path), exist_ok=True)
152
+
153
+ with open(new_file_path, 'w') as f2:
154
+ f2.write(final_output)
155
+ if not prov_found:
156
+ prov_output += f"\n# Provenance:\n{prov_output}\n"
157
+ f2.write(prov_output)
158
+ click.echo(f"\n==> Notebook written to {new_file_path}")
159
+ else:
160
+ click.echo("\nNo updates detected. New File not created.")
157
161
 
162
+ except (Exception):
163
+ console.print_exception(show_locals=True)
158
164
 
159
165
 
160
166
  if __name__ == "__main__":
@@ -259,6 +259,64 @@ def delete_term(server, url, userid, password, timeout, term_guid):
259
259
  finally:
260
260
  m_client.close_session()
261
261
 
262
+ @click.command("add-term-to-category")
263
+ @click.option("--server", default=EGERIA_VIEW_SERVER, help="Egeria view server to use")
264
+ @click.option(
265
+ "--url", default=EGERIA_VIEW_SERVER_URL, help="URL of Egeria platform to connect to"
266
+ )
267
+ @click.option("--userid", default=EGERIA_USER, help="Egeria user")
268
+ @click.option("--password", default=EGERIA_USER_PASSWORD, help="Egeria user password")
269
+ @click.option("--timeout", default=60, help="Number of seconds to wait")
270
+ @click.option("--term-guid", required=True, help="GUID of term to add to a category")
271
+ @click.option("--category-guid", required=True, help="GUID of category to add term to")
272
+
273
+ def add_term_to_category(server, url, userid, password, timeout, term_guid, category_guid):
274
+ """Add a glossary term to a category"""
275
+ m_client = EgeriaTech(server, url, user_id=userid, user_pwd=password)
276
+ token = m_client.create_egeria_bearer_token()
277
+ try:
278
+ term_guid = term_guid.strip()
279
+ category_guid = category_guid.strip()
280
+ m_client.add_term_to_category(term_guid, category_guid)
281
+
282
+ click.echo(
283
+ f"Added term with GUID: {term_guid} to category with GUID: {category_guid}\n"
284
+ )
285
+
286
+ except (InvalidParameterException, PropertyServerException) as e:
287
+ print_exception_response(e)
288
+ finally:
289
+ m_client.close_session()
290
+
291
+ @click.command("remove-term-from-category")
292
+ @click.option("--server", default=EGERIA_VIEW_SERVER, help="Egeria view server to use")
293
+ @click.option(
294
+ "--url", default=EGERIA_VIEW_SERVER_URL, help="URL of Egeria platform to connect to"
295
+ )
296
+ @click.option("--userid", default=EGERIA_USER, help="Egeria user")
297
+ @click.option("--password", default=EGERIA_USER_PASSWORD, help="Egeria user password")
298
+ @click.option("--timeout", default=60, help="Number of seconds to wait")
299
+ @click.option("--term-guid", required=True, help="GUID of term to add to a category")
300
+ @click.option("--category-guid", required=True, help="GUID of category to add term to")
301
+
302
+ def remove_term_from_category(server, url, userid, password, timeout, term_guid, category_guid):
303
+ """Add a glossary term to a category"""
304
+ m_client = EgeriaTech(server, url, user_id=userid, user_pwd=password)
305
+ token = m_client.create_egeria_bearer_token()
306
+ try:
307
+ term_guid = term_guid.strip()
308
+ category_guid = category_guid.strip()
309
+ m_client.remove_term_from_category(term_guid, category_guid)
310
+
311
+ click.echo(
312
+ f"Removed term with GUID: {term_guid} from category with GUID: {category_guid}\n"
313
+ )
314
+
315
+ except (InvalidParameterException, PropertyServerException) as e:
316
+ print_exception_response(e)
317
+ finally:
318
+ m_client.close_session()
319
+
262
320
 
263
321
  @click.command("import-terms-from-csv")
264
322
  @click.option("--glossary_name", help="Name of Glossary", required=True)
@@ -368,7 +426,7 @@ def export_terms_csv(
368
426
  @click.option(
369
427
  "--is_root",
370
428
  help="Is this a root category?",
371
- default=False,
429
+ default=True,
372
430
  is_flag=True,
373
431
  )
374
432
  @click.option("--server", default=EGERIA_VIEW_SERVER, help="Egeria view server to use.")
@@ -0,0 +1,185 @@
1
+ #!/usr/bin/env python3
2
+ """
3
+ SPDX-License-Identifier: Apache-2.0
4
+ Copyright Contributors to the ODPi Egeria project.
5
+
6
+ List categories for a category.
7
+
8
+
9
+ A simple display for category terms
10
+ """
11
+ import argparse
12
+ import os
13
+ import sys
14
+ import time
15
+
16
+ from rich import box
17
+ from rich.console import Console
18
+ from rich.prompt import Prompt
19
+ from rich.table import Table
20
+ from rich.text import Text
21
+
22
+ from pyegeria import (
23
+ EgeriaTech,
24
+ InvalidParameterException,
25
+ PropertyServerException,
26
+ UserNotAuthorizedException,
27
+ print_exception_response,
28
+ )
29
+
30
+ disable_ssl_warnings = True
31
+
32
+ EGERIA_METADATA_STORE = os.environ.get("EGERIA_METADATA_STORE", "active-metadata-store")
33
+ EGERIA_KAFKA_ENDPOINT = os.environ.get("KAFKA_ENDPOINT", "localhost:9092")
34
+ EGERIA_PLATFORM_URL = os.environ.get("EGERIA_PLATFORM_URL", "https://localhost:9443")
35
+ EGERIA_VIEW_SERVER = os.environ.get("EGERIA_VIEW_SERVER", "view-server")
36
+ EGERIA_VIEW_SERVER_URL = os.environ.get(
37
+ "EGERIA_VIEW_SERVER_URL", "https://localhost:9443"
38
+ )
39
+ EGERIA_INTEGRATION_DAEMON = os.environ.get("EGERIA_INTEGRATION_DAEMON", "integration-daemon")
40
+ EGERIA_ADMIN_USER = os.environ.get("ADMIN_USER", "garygeeke")
41
+ EGERIA_ADMIN_PASSWORD = os.environ.get("ADMIN_PASSWORD", "secret")
42
+ EGERIA_USER = os.environ.get("EGERIA_USER", "erinoverview")
43
+ EGERIA_USER_PASSWORD = os.environ.get("EGERIA_USER_PASSWORD", "secret")
44
+ EGERIA_JUPYTER = bool(os.environ.get("EGERIA_JUPYTER", "False"))
45
+ EGERIA_WIDTH = int(os.environ.get("EGERIA_WIDTH", "150"))
46
+ EGERIA_category_PATH = os.environ.get("EGERIA_category_PATH", None)
47
+ EGERIA_ROOT_PATH = os.environ.get("EGERIA_ROOT_PATH", "/Users/dwolfson/localGit/egeria-v5-3/egeria-python")
48
+ EGERIA_INBOX_PATH = os.environ.get("EGERIA_INBOX_PATH", "pyegeria/commands/cat/dr_egeria_inbox")
49
+ EGERIA_OUTBOX_PATH = os.environ.get("EGERIA_OUTBOX_PATH", "pyegeria/commands/cat/dr_egeria_outbox")
50
+
51
+
52
+
53
+ def display_categories(
54
+ search_string: str = "*",
55
+ view_server: str = EGERIA_VIEW_SERVER,
56
+ view_url: str = EGERIA_VIEW_SERVER_URL,
57
+ user: str = EGERIA_USER,
58
+ user_pass: str = EGERIA_USER_PASSWORD,
59
+ jupyter: bool = EGERIA_JUPYTER,
60
+ width: int = EGERIA_WIDTH,
61
+ output_format: str = "TABLE",
62
+ ):
63
+ """Display either a specified category or all categories if the search_string is '*'.
64
+ Parameters
65
+ ----------
66
+ search_string : str, default is '*'
67
+ The string used to search for categories.
68
+ view_server : str
69
+ The view server name or address where the Egeria services are hosted.
70
+ view_url : str
71
+ The URL of the platform the view server is on.
72
+ user : str
73
+ The user ID for authentication with the Egeria server.
74
+ user_pass : str
75
+ The password for authentication with the Egeria server.
76
+ jupyter : bool, optional
77
+ A boolean indicating whether the output is intended for a Jupyter notebook (default is EGERIA_JUPYTER).
78
+ width : int, optional
79
+ The width of the console output (default is EGERIA_WIDTH).
80
+ output_format: str, optional, default is 'JSON'
81
+ One of FORM, REPORT, TABLE
82
+ """
83
+ m_client = EgeriaTech(view_server, view_url, user_id=user, user_pwd=user_pass)
84
+ token = m_client.create_egeria_bearer_token()
85
+
86
+
87
+ try:
88
+ if output_format == "FORM":
89
+ action = "Update-Form"
90
+ elif output_format == "REPORT":
91
+ action = "Report"
92
+ if output_format != "TABLE":
93
+ file_path = os.path.join(EGERIA_ROOT_PATH, EGERIA_OUTBOX_PATH)
94
+ file_name = f"Categories-{time.strftime('%Y-%m-%d-%H-%M-%S')}-{action}.md"
95
+ full_file_path = os.path.join(file_path, file_name)
96
+ os.makedirs(os.path.dirname(full_file_path), exist_ok=True)
97
+ output = m_client.find_glossary_categories(search_string, output_format=output_format)
98
+ if output == "NO_CATEGORIES_FOUND":
99
+ print(f"\n==> No categories found for search string '{search_string}'")
100
+ return
101
+ with open(full_file_path, 'w') as f:
102
+ f.write(output)
103
+ print(f"\n==> Categories output written to {full_file_path}")
104
+ return
105
+
106
+ table = Table(
107
+ title=f"Category List @ {time.asctime()}",
108
+ style="bright_white on black",
109
+ header_style="bright_white on dark_blue",
110
+ title_style="bold white on black",
111
+ caption_style="white on black",
112
+ show_lines=True,
113
+ box=box.ROUNDED,
114
+ caption=f"View Server '{view_server}' @ Platform - {view_url}",
115
+ expand=True,
116
+ )
117
+ table.add_column("Category Name")
118
+ table.add_column(
119
+ "Qualified Name & GUID", width=38, no_wrap=True, justify="center"
120
+ )
121
+ table.add_column("Description")
122
+ table.add_column("In Glossary (Qualified Name)")
123
+
124
+ categories = m_client.find_glossary_categories(search_string)
125
+ if type(categories) is list:
126
+ sorted_category_list = sorted(
127
+ categories, key=lambda k: k["glossaryCategoryProperties"]["displayName"]
128
+ )
129
+ for category in sorted_category_list:
130
+ display_name = category["glossaryCategoryProperties"].get("displayName",'---')
131
+ qualified_name = category["glossaryCategoryProperties"]["qualifiedName"]
132
+ category_guid = category["elementHeader"]["guid"]
133
+ q_name = Text(f"{qualified_name}\n&\n{category_guid}", justify="center")
134
+ description = category["glossaryCategoryProperties"].get("description",'---')
135
+ classification_props = category["elementHeader"]['classifications'][0].get('classificationProperties',None)
136
+ glossary_qualified_name = '---'
137
+ if classification_props is not None:
138
+ glossary_guid = classification_props.get('anchorGUID','---')
139
+ glossary_qualified_name = (
140
+ m_client.get_glossary_by_guid(glossary_guid))['glossaryProperties']['qualifiedName']
141
+
142
+ table.add_row(display_name, q_name, description, glossary_qualified_name)
143
+ console = Console(
144
+ style="bold bright_white on black",
145
+ width=width,
146
+ force_terminal=not jupyter,
147
+ )
148
+ console.print(table)
149
+
150
+ except (InvalidParameterException, PropertyServerException) as e:
151
+ print_exception_response(e)
152
+ finally:
153
+ m_client.close_session()
154
+
155
+
156
+ def main():
157
+ parser = argparse.ArgumentParser()
158
+ parser.add_argument("--server", help="Name of the server to display status for")
159
+ parser.add_argument("--url", help="URL Platform to connect to")
160
+ parser.add_argument("--userid", help="User Id")
161
+ parser.add_argument("--password", help="User Password")
162
+
163
+ args = parser.parse_args()
164
+
165
+ server = args.server if args.server is not None else EGERIA_VIEW_SERVER
166
+ url = args.url if args.url is not None else EGERIA_PLATFORM_URL
167
+ userid = args.userid if args.userid is not None else EGERIA_USER
168
+ user_pass = args.password if args.password is not None else EGERIA_USER_PASSWORD
169
+
170
+ try:
171
+ search_string = Prompt.ask(
172
+ "Enter the category you are searching for or '*' for all:", default="*"
173
+ )
174
+ output_format = Prompt.ask("What output format do you want?", choices=["TABLE", "FORM", "REPORT"],
175
+ default="TABLE")
176
+
177
+ display_categories(search_string, server, url, userid,
178
+ user_pass, output_format = output_format)
179
+
180
+ except KeyboardInterrupt:
181
+ pass
182
+
183
+
184
+ if __name__ == "__main__":
185
+ main()
@@ -45,8 +45,8 @@ EGERIA_JUPYTER = bool(os.environ.get("EGERIA_JUPYTER", "False"))
45
45
  EGERIA_WIDTH = int(os.environ.get("EGERIA_WIDTH", "200"))
46
46
  EGERIA_GLOSSARY_PATH = os.environ.get("EGERIA_GLOSSARY_PATH", None)
47
47
  EGERIA_ROOT_PATH = os.environ.get("EGERIA_ROOT_PATH", "/Users/dwolfson/localGit/egeria-v5-3/egeria-python")
48
- EGERIA_INBOX_PATH = os.environ.get("EGERIA_INBOX_PATH", "pyegeria/commands/cat/freddies-inbox")
49
- EGERIA_OUTBOX_PATH = os.environ.get("EGERIA_OUTBOX_PATH", "pyegeria/commands/cat/freddies-outbox")
48
+ EGERIA_INBOX_PATH = os.environ.get("EGERIA_INBOX_PATH", "pyegeria/commands/cat/dr_egeria_inbox")
49
+ EGERIA_OUTBOX_PATH = os.environ.get("EGERIA_OUTBOX_PATH", "pyegeria/commands/cat/dr_egeria_outbox")
50
50
 
51
51
 
52
52
 
@@ -58,8 +58,7 @@ def display_glossaries(
58
58
  user_pass: str = EGERIA_USER_PASSWORD,
59
59
  jupyter: bool = EGERIA_JUPYTER,
60
60
  width: int = EGERIA_WIDTH,
61
- md: bool = False,
62
- form: bool = False,
61
+ output_format: str = "JSON"
63
62
  ):
64
63
  """Display either a specified glossary or all glossaries if the search_string is '*'.
65
64
  Parameters
@@ -78,35 +77,38 @@ def display_glossaries(
78
77
  A boolean indicating whether the output is intended for a Jupyter notebook (default is EGERIA_JUPYTER).
79
78
  width : int, optional
80
79
  The width of the console output (default is EGERIA_WIDTH).
81
- md: bool, [default=False]
82
- If true, a simplified markdown report of the glossaries will be created. Filename is Glossaries-<DATE>-<ACTION>
83
- The filepath is derived from the environment variables EGERIA_ROOT_PATH and EGERIA_OUTPUT_PATH, respectively.
84
- form: bool, [default=False]
85
- If true and md is true, a form for the glossaries will be created as a markdown file.
86
- If false and md is true, a markdown report for the glossaries will be created.
80
+ output_format: str, optional, default is 'JSON'
81
+ One of TABLE, FORM, REPORT
87
82
  """
88
83
  m_client = EgeriaTech(view_server, view_url, user_id=user, user_pwd=user_pass)
89
84
  token = m_client.create_egeria_bearer_token()
90
-
85
+ console = Console(
86
+ style="bold bright_white on black",
87
+ width=width,
88
+ force_terminal=not jupyter,
89
+ )
91
90
 
92
91
  try:
93
- if md:
94
- if form:
95
- action = "Update-Form"
96
- else:
97
- action = "Report"
92
+ if output_format == "FORM":
93
+ action = "Update-Form"
94
+ elif output_format == "REPORT":
95
+ action = "Report"
96
+ if output_format != "TABLE":
98
97
  file_path = os.path.join(EGERIA_ROOT_PATH, EGERIA_OUTBOX_PATH)
99
98
  file_name = f"Glossaries-{time.strftime('%Y-%m-%d-%H-%M-%S')}-{action}.md"
100
99
  full_file_path = os.path.join(file_path, file_name)
101
100
  os.makedirs(os.path.dirname(full_file_path), exist_ok=True)
102
- output = m_client.find_glossaries(search_string, md=md, form=form)
101
+ output = m_client.find_glossaries(search_string, None, output_format=output_format)
103
102
  if output == "NO_GLOSSARIES_FOUND":
104
103
  print(f"\n==> No glossaries found for search string '{search_string}'")
105
104
  return
106
- with open(full_file_path, 'w') as f:
107
- f.write(output)
108
- print(f"\n==> Glossaries output written to {full_file_path}")
109
- return
105
+ try:
106
+ with open(full_file_path, 'w') as f:
107
+ f.write(output)
108
+ print(f"\n==> Glossaries output written to {full_file_path}")
109
+ return
110
+ except Exception:
111
+ console.print_exception()
110
112
 
111
113
  table = Table(
112
114
  title=f"Glossary List @ {time.asctime()}",
@@ -141,11 +143,7 @@ def display_glossaries(
141
143
  description = glossary["glossaryProperties"].get("description",'---')
142
144
  usage = glossary["glossaryProperties"].get("usage",'---')
143
145
  table.add_row(display_name, q_name, language, description, usage)
144
- console = Console(
145
- style="bold bright_white on black",
146
- width=width,
147
- force_terminal=not jupyter,
148
- )
146
+
149
147
  console.print(table)
150
148
 
151
149
  except (InvalidParameterException, PropertyServerException) as e:
@@ -172,14 +170,9 @@ def main():
172
170
  search_string = Prompt.ask(
173
171
  "Enter the glossary you are searching for or '*' for all:", default="*"
174
172
  )
175
- mdq = Prompt.ask("Do you want to create a markdown report?", choices=["y", "n"], default="n")
176
- md = True if mdq.lower() == "y" else False
177
-
178
- formq = Prompt.ask("Do you want to create a form?", choices=["y", "n"], default="n")
179
- form = True if formq.lower() == "y" else False
180
-
173
+ output_format = Prompt.ask("What output format do you want?", choices=["TABLE", "FORM", "REPORT"], default="TABLE")
181
174
  display_glossaries(search_string, server, url, userid,
182
- user_pass, md = md, form = form)
175
+ user_pass, output_format=output_format)
183
176
 
184
177
  except KeyboardInterrupt:
185
178
  pass