pyegeria 5.4.0.dev2__py3-none-any.whl → 5.4.0.dev5__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.
- commands/cat/debug_log +227 -0
- commands/cat/dr_egeria_md.py +12 -3
- commands/cat/list_collections.py +7 -6
- commands/cat/list_data_designer.py +22 -10
- md_processing/__init__.py +4 -1
- md_processing/data/commands.json +142 -17
- md_processing/dr_egeria_outbox/processed-2025-06-22 21:06-dr_egeria_data_designer_1.md +134 -0
- md_processing/dr_egeria_outbox/processed-2025-06-22 21:13-dr_egeria_data_designer_1.md +133 -0
- md_processing/dr_egeria_outbox/processed-2025-06-22 21:19-dr_egeria_data_designer_1.md +141 -0
- md_processing/md_commands/data_designer_commands.py +408 -101
- md_processing/md_commands/glossary_commands.py +0 -30
- md_processing/md_commands/solution_architect_commands.py +1 -1
- md_processing/md_processing_utils/common_md_proc_utils.py +16 -4
- md_processing/md_processing_utils/md_processing_constants.py +3 -1
- pyegeria/collection_manager_omvs.py +120 -72
- pyegeria/data_designer_omvs.py +143 -42
- pyegeria/output_formatter.py +30 -11
- pyegeria/solution_architect_omvs.py +273 -5
- {pyegeria-5.4.0.dev2.dist-info → pyegeria-5.4.0.dev5.dist-info}/METADATA +1 -1
- {pyegeria-5.4.0.dev2.dist-info → pyegeria-5.4.0.dev5.dist-info}/RECORD +24 -24
- {pyegeria-5.4.0.dev2.dist-info → pyegeria-5.4.0.dev5.dist-info}/entry_points.txt +4 -3
- commands/cat/debug_log.2025-06-05_20-24-18_123924.log.zip +0 -0
- commands/cat/debug_log.2025-06-10_08-45-03_929921.log.zip +0 -0
- commands/cat/debug_log.2025-06-11_09-57-21_247890.log.zip +0 -0
- commands/cat/debug_log.2025-06-12_16-14-31_212042.log.zip +0 -0
- /commands/cat/{list_data_structures.py → list_data_structures_full.py} +0 -0
- {pyegeria-5.4.0.dev2.dist-info → pyegeria-5.4.0.dev5.dist-info}/LICENSE +0 -0
- {pyegeria-5.4.0.dev2.dist-info → pyegeria-5.4.0.dev5.dist-info}/WHEEL +0 -0
commands/cat/debug_log
ADDED
@@ -0,0 +1,227 @@
|
|
1
|
+
D 2025-06-22T21:05:54.627190-0500 | INFO | process_markdown_file | 79 |
|
2
|
+
|
3
|
+
====================================================
|
4
|
+
|
5
|
+
| {}
|
6
|
+
D 2025-06-22T21:05:54.627425-0500 | INFO | process_markdown_file | 80 | Processing Markdown File: ../../md_processing/dr_egeria_inbox/dr_egeria_data_designer_1.md | {}
|
7
|
+
D 2025-06-22T21:06:29.028631-0500 | INFO | process_markdown_file | 79 |
|
8
|
+
|
9
|
+
====================================================
|
10
|
+
|
11
|
+
| {}
|
12
|
+
D 2025-06-22T21:06:29.028835-0500 | INFO | process_markdown_file | 80 | Processing Markdown File: ../../md_processing/dr_egeria_inbox/dr_egeria_data_designer_1.md | {}
|
13
|
+
D 2025-06-22T21:06:29.029057-0500 | INFO | parse_upsert_command | 78 | Processing Update on a Data Structure
|
14
|
+
| {}
|
15
|
+
D 2025-06-22T21:06:29.029304-0500 | INFO | print_msg | 94 | INFO-Optional attribute with labels `{'Version Identifier', 'Version', 'Published Version'}` missing | {}
|
16
|
+
D 2025-06-22T21:06:29.029338-0500 | TRACE | parse_upsert_command | 92 | ___
|
17
|
+
Processing `Display Name` in `Update` on a `Data Structure`
|
18
|
+
with usage level: `Basic` and attribute level `Basic` and for_update `True`
|
19
|
+
| {}
|
20
|
+
D 2025-06-22T21:06:29.081500-0500 | INFO | print_msg | 94 | DEBUG-INFO->Found Data Structure `TBDF-Incoming Weekly Measurement Data` with qualified name `DataStruct::TBDF-Incoming Weekly Measurement Data` | {}
|
21
|
+
D 2025-06-22T21:06:29.081589-0500 | INFO | proc_el_id | 640 | Element TBDF-Incoming Weekly Measurement Data exists | {}
|
22
|
+
D 2025-06-22T21:06:29.081624-0500 | TRACE | parse_upsert_command | 92 | ___
|
23
|
+
Processing `Description` in `Update` on a `Data Structure`
|
24
|
+
with usage level: `Basic` and attribute level `Basic` and for_update `True`
|
25
|
+
| {}
|
26
|
+
D 2025-06-22T21:06:29.081747-0500 | TRACE | parse_upsert_command | 92 | ___
|
27
|
+
Processing `In Data Specification` in `Update` on a `Data Structure`
|
28
|
+
with usage level: `Basic` and attribute level `Basic` and for_update `True`
|
29
|
+
| {}
|
30
|
+
D 2025-06-22T21:06:29.081892-0500 | DEBUG | proc_name_list | 801 | Attribute with labels `{element_type}` missing | {}
|
31
|
+
D 2025-06-22T21:06:29.081922-0500 | TRACE | parse_upsert_command | 92 | ___
|
32
|
+
Processing `Glossary Term` in `Update` on a `Data Structure`
|
33
|
+
with usage level: `Basic` and attribute level `Advanced` and for_update `True`
|
34
|
+
| {}
|
35
|
+
D 2025-06-22T21:06:29.081943-0500 | TRACE | parse_upsert_command | 97 | Attribute `Glossary Term` is not supported for `Basic` usage level. Skipping. | {'highlight': True}
|
36
|
+
D 2025-06-22T21:06:29.081964-0500 | TRACE | parse_upsert_command | 92 | ___
|
37
|
+
Processing `Qualified Name` in `Update` on a `Data Structure`
|
38
|
+
with usage level: `Basic` and attribute level `Basic` and for_update `True`
|
39
|
+
| {}
|
40
|
+
D 2025-06-22T21:06:29.081989-0500 | INFO | proc_el_id | 615 | Optional attribute with label`Data Structure` missing | {}
|
41
|
+
D 2025-06-22T21:06:29.082007-0500 | TRACE | parse_upsert_command | 92 | ___
|
42
|
+
Processing `GUID` in `Update` on a `Data Structure`
|
43
|
+
with usage level: `Basic` and attribute level `Basic` and for_update `True`
|
44
|
+
| {}
|
45
|
+
D 2025-06-22T21:06:29.082160-0500 | INFO | proc_simple_attribute | 445 | Optional attribute with labels: `{'Guid', 'GUID', 'guid'}` missing | {}
|
46
|
+
D 2025-06-22T21:06:29.082183-0500 | TRACE | parse_upsert_command | 92 | ___
|
47
|
+
Processing `Effective Time` in `Update` on a `Data Structure`
|
48
|
+
with usage level: `Basic` and attribute level `Advanced` and for_update `True`
|
49
|
+
| {}
|
50
|
+
D 2025-06-22T21:06:29.082201-0500 | TRACE | parse_upsert_command | 97 | Attribute `Effective Time` is not supported for `Basic` usage level. Skipping. | {'highlight': True}
|
51
|
+
D 2025-06-22T21:06:29.082219-0500 | TRACE | parse_upsert_command | 92 | ___
|
52
|
+
Processing `Effective From` in `Update` on a `Data Structure`
|
53
|
+
with usage level: `Basic` and attribute level `Advanced` and for_update `True`
|
54
|
+
| {}
|
55
|
+
D 2025-06-22T21:06:29.082237-0500 | TRACE | parse_upsert_command | 97 | Attribute `Effective From` is not supported for `Basic` usage level. Skipping. | {'highlight': True}
|
56
|
+
D 2025-06-22T21:06:29.082255-0500 | TRACE | parse_upsert_command | 92 | ___
|
57
|
+
Processing `Effective To` in `Update` on a `Data Structure`
|
58
|
+
with usage level: `Basic` and attribute level `Advanced` and for_update `True`
|
59
|
+
| {}
|
60
|
+
D 2025-06-22T21:06:29.082283-0500 | TRACE | parse_upsert_command | 97 | Attribute `Effective To` is not supported for `Basic` usage level. Skipping. | {'highlight': True}
|
61
|
+
D 2025-06-22T21:06:29.082301-0500 | TRACE | parse_upsert_command | 92 | ___
|
62
|
+
Processing `Merge Update` in `Update` on a `Data Structure`
|
63
|
+
with usage level: `Basic` and attribute level `Advanced` and for_update `True`
|
64
|
+
| {}
|
65
|
+
D 2025-06-22T21:06:29.082320-0500 | TRACE | parse_upsert_command | 97 | Attribute `Merge Update` is not supported for `Basic` usage level. Skipping. | {'highlight': True}
|
66
|
+
D 2025-06-22T21:06:29.082338-0500 | TRACE | parse_upsert_command | 92 | ___
|
67
|
+
Processing `Additional Properties` in `Update` on a `Data Structure`
|
68
|
+
with usage level: `Basic` and attribute level `Invisible` and for_update `True`
|
69
|
+
| {}
|
70
|
+
D 2025-06-22T21:06:29.082353-0500 | TRACE | parse_upsert_command | 97 | Attribute `Additional Properties` is not supported for `Basic` usage level. Skipping. | {'highlight': True}
|
71
|
+
D 2025-06-22T21:06:29.082368-0500 | TRACE | parse_upsert_command | 92 | ___
|
72
|
+
Processing `Extended Properties` in `Update` on a `Data Structure`
|
73
|
+
with usage level: `Basic` and attribute level `Invisible` and for_update `True`
|
74
|
+
| {}
|
75
|
+
D 2025-06-22T21:06:29.082382-0500 | TRACE | parse_upsert_command | 97 | Attribute `Extended Properties` is not supported for `Basic` usage level. Skipping. | {'highlight': True}
|
76
|
+
D 2025-06-22T21:06:29.082395-0500 | TRACE | parse_upsert_command | 92 | ___
|
77
|
+
Processing `Journal Entry` in `Update` on a `Data Structure`
|
78
|
+
with usage level: `Basic` and attribute level `Invisible` and for_update `True`
|
79
|
+
| {}
|
80
|
+
D 2025-06-22T21:06:29.082409-0500 | TRACE | parse_upsert_command | 97 | Attribute `Journal Entry` is not supported for `Basic` usage level. Skipping. | {'highlight': True}
|
81
|
+
D 2025-06-22T21:06:29.084882-0500 | DEBUG | process_data_structure_upsert_command | 706 | {
|
82
|
+
"valid": true,
|
83
|
+
"exists": true,
|
84
|
+
"display": "\n\t* Display Name: `TBDF-Incoming Weekly Measurement Data`\n\t\n\t* Description: `This describes the weekly measurement data for each patient for the Teddy Bear drop foot clinical trial.`\n\t\n\t* Qualified Name: `DataStruct::TBDF-Incoming Weekly Measurement Data`\n\t\n\t* GUID: `fd9380f4-1067-4f7b-bf3f-cb2f3a0e8341`\n\t",
|
85
|
+
"display_name": "Data Structure",
|
86
|
+
"qn_prefix": "DataStruct",
|
87
|
+
"is_own_anchor": true,
|
88
|
+
"reason": "",
|
89
|
+
"version": null,
|
90
|
+
"guid": "fd9380f4-1067-4f7b-bf3f-cb2f3a0e8341",
|
91
|
+
"qualified_name": "DataStruct::TBDF-Incoming Weekly Measurement Data",
|
92
|
+
"attributes": {
|
93
|
+
"Display Name": {
|
94
|
+
"status": "INFO",
|
95
|
+
"reason": "Element TBDF-Incoming Weekly Measurement Data exists",
|
96
|
+
"value": "TBDF-Incoming Weekly Measurement Data",
|
97
|
+
"valid": true,
|
98
|
+
"exists": true,
|
99
|
+
"qualified_name": "DataStruct::TBDF-Incoming Weekly Measurement Data",
|
100
|
+
"guid": "fd9380f4-1067-4f7b-bf3f-cb2f3a0e8341"
|
101
|
+
},
|
102
|
+
"Description": {
|
103
|
+
"status": "INFO",
|
104
|
+
"OK": null,
|
105
|
+
"value": "This describes the weekly measurement data for each patient for the Teddy Bear drop foot clinical trial.",
|
106
|
+
"valid": true,
|
107
|
+
"exists": true
|
108
|
+
},
|
109
|
+
"In Data Specification": {
|
110
|
+
"status": "INFO",
|
111
|
+
"reason": "Attribute with labels `{element_type}` missing",
|
112
|
+
"value": null,
|
113
|
+
"valid": false,
|
114
|
+
"exists": false
|
115
|
+
},
|
116
|
+
"Qualified Name": {
|
117
|
+
"status": "INFO",
|
118
|
+
"reason": "Optional attribute with label`Data Structure` missing",
|
119
|
+
"value": null,
|
120
|
+
"valid": false,
|
121
|
+
"exists": false
|
122
|
+
},
|
123
|
+
"GUID": {
|
124
|
+
"status": "INFO",
|
125
|
+
"reason": "Optional attribute with labels: `{'Guid', 'GUID', 'guid'}` missing",
|
126
|
+
"value": null,
|
127
|
+
"valid": true,
|
128
|
+
"exists": false
|
129
|
+
}
|
130
|
+
}
|
131
|
+
} | {}
|
132
|
+
D 2025-06-22T21:06:29.120455-0500 | INFO | process_data_structure_upsert_command | 796 | Updated element `TBDF-Incoming Weekly Measurement Data` with GUID fd9380f4-1067-4f7b-bf3f-cb2f3a0e8341 | {}
|
133
|
+
D 2025-06-22T21:06:29.218865-0500 | DEBUG | update_data_collection_memberships | 130 | as_is: set() | {}
|
134
|
+
D 2025-06-22T21:06:29.218956-0500 | DEBUG | update_data_collection_memberships | 131 | to_be_set: set() | {}
|
135
|
+
D 2025-06-22T21:06:29.218989-0500 | DEBUG | update_data_collection_memberships | 135 | to_remove: set() | {}
|
136
|
+
D 2025-06-22T21:06:29.219017-0500 | DEBUG | update_data_collection_memberships | 141 | to_add: set() | {}
|
137
|
+
D 2025-06-22T21:06:29.219049-0500 | SUCCESS | process_data_structure_upsert_command | 807 | Updated Data Structure `TBDF-Incoming Weekly Measurement Data` with GUID fd9380f4-1067-4f7b-bf3f-cb2f3a0e8341
|
138
|
+
|
139
|
+
___ | {}
|
140
|
+
D 2025-06-22T21:07:01.300523-0500 | INFO | process_markdown_file | 79 |
|
141
|
+
|
142
|
+
====================================================
|
143
|
+
|
144
|
+
| {}
|
145
|
+
D 2025-06-22T21:07:01.300839-0500 | INFO | process_markdown_file | 80 | Processing Markdown File: ../../md_processing/dr_egeria_inbox/dr_egeria_data_designer_1.md | {}
|
146
|
+
D 2025-06-22T21:13:00.847213-0500 | INFO | process_markdown_file | 79 |
|
147
|
+
|
148
|
+
====================================================
|
149
|
+
|
150
|
+
| {}
|
151
|
+
D 2025-06-22T21:13:00.847595-0500 | INFO | process_markdown_file | 80 | Processing Markdown File: ../../md_processing/dr_egeria_inbox/dr_egeria_data_designer_1.md | {}
|
152
|
+
D 2025-06-22T21:13:00.847888-0500 | INFO | parse_view_command | 276 | Processing View on Data Structures
|
153
|
+
| {}
|
154
|
+
D 2025-06-22T21:13:00.847923-0500 | TRACE | parse_view_command | 287 | ___
|
155
|
+
Processing `Search String` in `View` on a `Data Structures`
|
156
|
+
with usage level: `Basic` | {}
|
157
|
+
D 2025-06-22T21:13:00.848092-0500 | TRACE | parse_view_command | 287 | ___
|
158
|
+
Processing `Output Format` in `View` on a `Data Structures`
|
159
|
+
with usage level: `Basic` | {}
|
160
|
+
D 2025-06-22T21:13:00.848184-0500 | WARNING | proc_valid_value | 513 | Invalid value for attribute `{'Output Format', 'Format'}` | {}
|
161
|
+
D 2025-06-22T21:13:00.848209-0500 | TRACE | parse_view_command | 287 | ___
|
162
|
+
Processing `Detailed` in `View` on a `Data Structures`
|
163
|
+
with usage level: `Basic` | {}
|
164
|
+
D 2025-06-22T21:13:00.848228-0500 | TRACE | parse_view_command | 290 | Attribute `Detailed` is not supported for `Basic` usage level. Skipping. | {'highlight': True}
|
165
|
+
D 2025-06-22T21:13:00.848246-0500 | TRACE | parse_view_command | 287 | ___
|
166
|
+
Processing `Effective Time` in `View` on a `Data Structures`
|
167
|
+
with usage level: `Basic` | {}
|
168
|
+
D 2025-06-22T21:13:00.848261-0500 | TRACE | parse_view_command | 290 | Attribute `Effective Time` is not supported for `Basic` usage level. Skipping. | {'highlight': True}
|
169
|
+
D 2025-06-22T21:13:00.913154-0500 | INFO | process_data_structure_list_command | 1520 | Wrote `Data Structures` for search string: `*` | {}
|
170
|
+
D 2025-06-22T21:13:00.913258-0500 | INFO | parse_view_command | 276 | Processing View on Data Fields
|
171
|
+
| {}
|
172
|
+
D 2025-06-22T21:13:00.913296-0500 | TRACE | parse_view_command | 287 | ___
|
173
|
+
Processing `Search String` in `View` on a `Data Fields`
|
174
|
+
with usage level: `Basic` | {}
|
175
|
+
D 2025-06-22T21:13:00.913339-0500 | TRACE | parse_view_command | 287 | ___
|
176
|
+
Processing `Output Format` in `View` on a `Data Fields`
|
177
|
+
with usage level: `Basic` | {}
|
178
|
+
D 2025-06-22T21:13:00.913388-0500 | TRACE | parse_view_command | 287 | ___
|
179
|
+
Processing `Detailed` in `View` on a `Data Fields`
|
180
|
+
with usage level: `Basic` | {}
|
181
|
+
D 2025-06-22T21:13:00.913416-0500 | TRACE | parse_view_command | 290 | Attribute `Detailed` is not supported for `Basic` usage level. Skipping. | {'highlight': True}
|
182
|
+
D 2025-06-22T21:13:00.913444-0500 | TRACE | parse_view_command | 287 | ___
|
183
|
+
Processing `Effective Time` in `View` on a `Data Fields`
|
184
|
+
with usage level: `Basic` | {}
|
185
|
+
D 2025-06-22T21:13:00.913469-0500 | TRACE | parse_view_command | 290 | Attribute `Effective Time` is not supported for `Basic` usage level. Skipping. | {'highlight': True}
|
186
|
+
D 2025-06-22T21:13:01.067183-0500 | INFO | process_data_field_list_command | 1580 | Wrote `Data Fields` for search string: `*` | {}
|
187
|
+
D 2025-06-22T21:19:17.837646-0500 | INFO | process_markdown_file | 79 |
|
188
|
+
|
189
|
+
====================================================
|
190
|
+
|
191
|
+
| {}
|
192
|
+
D 2025-06-22T21:19:17.837857-0500 | INFO | process_markdown_file | 80 | Processing Markdown File: ../../md_processing/dr_egeria_inbox/dr_egeria_data_designer_1.md | {}
|
193
|
+
D 2025-06-22T21:19:17.838093-0500 | INFO | parse_view_command | 276 | Processing View on Data Structures
|
194
|
+
| {}
|
195
|
+
D 2025-06-22T21:19:17.838130-0500 | TRACE | parse_view_command | 287 | ___
|
196
|
+
Processing `Search String` in `View` on a `Data Structures`
|
197
|
+
with usage level: `Basic` | {}
|
198
|
+
D 2025-06-22T21:19:17.838317-0500 | TRACE | parse_view_command | 287 | ___
|
199
|
+
Processing `Output Format` in `View` on a `Data Structures`
|
200
|
+
with usage level: `Basic` | {}
|
201
|
+
D 2025-06-22T21:19:17.838464-0500 | WARNING | proc_valid_value | 513 | Invalid value for attribute `{'Format', 'Output Format'}` | {}
|
202
|
+
D 2025-06-22T21:19:17.838490-0500 | TRACE | parse_view_command | 287 | ___
|
203
|
+
Processing `Detailed` in `View` on a `Data Structures`
|
204
|
+
with usage level: `Basic` | {}
|
205
|
+
D 2025-06-22T21:19:17.838509-0500 | TRACE | parse_view_command | 290 | Attribute `Detailed` is not supported for `Basic` usage level. Skipping. | {'highlight': True}
|
206
|
+
D 2025-06-22T21:19:17.838527-0500 | TRACE | parse_view_command | 287 | ___
|
207
|
+
Processing `Effective Time` in `View` on a `Data Structures`
|
208
|
+
with usage level: `Basic` | {}
|
209
|
+
D 2025-06-22T21:19:17.838543-0500 | TRACE | parse_view_command | 290 | Attribute `Effective Time` is not supported for `Basic` usage level. Skipping. | {'highlight': True}
|
210
|
+
D 2025-06-22T21:19:17.907991-0500 | INFO | process_data_structure_list_command | 1520 | Wrote `Data Structures` for search string: `*` | {}
|
211
|
+
D 2025-06-22T21:19:17.908180-0500 | INFO | parse_view_command | 276 | Processing View on Data Fields
|
212
|
+
| {}
|
213
|
+
D 2025-06-22T21:19:17.908234-0500 | TRACE | parse_view_command | 287 | ___
|
214
|
+
Processing `Search String` in `View` on a `Data Fields`
|
215
|
+
with usage level: `Basic` | {}
|
216
|
+
D 2025-06-22T21:19:17.908310-0500 | TRACE | parse_view_command | 287 | ___
|
217
|
+
Processing `Output Format` in `View` on a `Data Fields`
|
218
|
+
with usage level: `Basic` | {}
|
219
|
+
D 2025-06-22T21:19:17.908377-0500 | TRACE | parse_view_command | 287 | ___
|
220
|
+
Processing `Detailed` in `View` on a `Data Fields`
|
221
|
+
with usage level: `Basic` | {}
|
222
|
+
D 2025-06-22T21:19:17.908414-0500 | TRACE | parse_view_command | 290 | Attribute `Detailed` is not supported for `Basic` usage level. Skipping. | {'highlight': True}
|
223
|
+
D 2025-06-22T21:19:17.908452-0500 | TRACE | parse_view_command | 287 | ___
|
224
|
+
Processing `Effective Time` in `View` on a `Data Fields`
|
225
|
+
with usage level: `Basic` | {}
|
226
|
+
D 2025-06-22T21:19:17.908486-0500 | TRACE | parse_view_command | 290 | Attribute `Effective Time` is not supported for `Basic` usage level. Skipping. | {'highlight': True}
|
227
|
+
D 2025-06-22T21:19:18.061319-0500 | INFO | process_data_field_list_command | 1580 | Wrote `Data Fields` for search string: `*` | {}
|
commands/cat/dr_egeria_md.py
CHANGED
@@ -24,7 +24,10 @@ from md_processing import (extract_command, process_glossary_upsert_command, pro
|
|
24
24
|
process_information_supply_chain_link_unlink_command,process_sol_arch_list_command)
|
25
25
|
from md_processing.md_commands.data_designer_commands import (process_data_spec_upsert_command,
|
26
26
|
process_data_dict_upsert_command,
|
27
|
-
|
27
|
+
process_data_collection_list_command,
|
28
|
+
process_data_structure_list_command,
|
29
|
+
process_data_field_list_command,
|
30
|
+
process_data_class_list_command,
|
28
31
|
process_data_field_upsert_command,
|
29
32
|
process_data_structure_upsert_command,
|
30
33
|
process_data_class_upsert_command)
|
@@ -160,8 +163,14 @@ def process_markdown_file(file_path: str, directive: str, server: str, url: str,
|
|
160
163
|
result = process_data_structure_upsert_command(client, current_block, directive)
|
161
164
|
elif potential_command in ["Create Data Class", "Update Data Class"]:
|
162
165
|
result = process_data_class_upsert_command(client, current_block, directive)
|
163
|
-
elif potential_command in ["View Data Dictionaries", "View Data Dictionary"]:
|
164
|
-
result =
|
166
|
+
elif potential_command in ["View Data Dictionaries", "View Data Dictionary", "View Data Specifications", "View Data Specs"]:
|
167
|
+
result = process_data_collection_list_command(client, current_block, directive)
|
168
|
+
elif potential_command in ["View Data Structures", "View Data Structure"]:
|
169
|
+
result = process_data_structure_list_command(client, current_block, directive)
|
170
|
+
elif potential_command in ["View Data Fields", "View Data Field"]:
|
171
|
+
result = process_data_field_list_command(client, current_block, directive)
|
172
|
+
elif potential_command in ["View Data Classes", "View Data Class"]:
|
173
|
+
result = process_data_class_list_command(client, current_block, directive)
|
165
174
|
|
166
175
|
|
167
176
|
else:
|
commands/cat/list_collections.py
CHANGED
@@ -134,22 +134,23 @@ def display_collections(
|
|
134
134
|
)
|
135
135
|
if type(collections) is list:
|
136
136
|
sorted_collection_list = sorted(
|
137
|
-
collections, key=lambda k: k["
|
137
|
+
collections, key=lambda k: k["display_name"]
|
138
138
|
)
|
139
139
|
for collection in sorted_collection_list:
|
140
|
-
display_name = collection["
|
141
|
-
qualified_name = collection["
|
142
|
-
guid = collection["
|
140
|
+
display_name = collection["display_name"]
|
141
|
+
qualified_name = collection["qualified_name"]
|
142
|
+
guid = collection["GUID"]
|
143
143
|
q_name = Text(f"{qualified_name}\n&\n{guid}", justify="center")
|
144
144
|
description = collection.get("description",'---')
|
145
145
|
collection_type = collection.get("collectionType", "---")
|
146
146
|
classifications = collection.get("classifications", "---")
|
147
|
+
|
147
148
|
classifications_md = Markdown(classifications)
|
148
|
-
members_struct = m_client.
|
149
|
+
members_struct = m_client.get_member_list(collection_guid=guid)
|
149
150
|
member_list = ""
|
150
151
|
if isinstance(members_struct, list):
|
151
152
|
for member in members_struct:
|
152
|
-
member_list = member_list + f"- {member
|
153
|
+
member_list = member_list + f"- {member.get('qualifiedName','---')}\n"
|
153
154
|
|
154
155
|
# members = "\n* ".join(collection.get("members", []))
|
155
156
|
members_md = Markdown(member_list)
|
@@ -28,6 +28,7 @@ from pyegeria import (
|
|
28
28
|
PropertyServerException,
|
29
29
|
UserNotAuthorizedException,
|
30
30
|
print_exception_response,
|
31
|
+
NO_ELEMENTS_FOUND
|
31
32
|
)
|
32
33
|
|
33
34
|
disable_ssl_warnings = True
|
@@ -54,7 +55,7 @@ EGERIA_OUTBOX_PATH = os.environ.get("EGERIA_OUTBOX_PATH", "md_processing/dr_eger
|
|
54
55
|
console = Console(width=EGERIA_WIDTH)
|
55
56
|
|
56
57
|
|
57
|
-
def
|
58
|
+
def display_data_obj(
|
58
59
|
object_type: str,
|
59
60
|
search_string: str = "*",
|
60
61
|
view_server: str = EGERIA_VIEW_SERVER,
|
@@ -91,14 +92,20 @@ def display_categories(
|
|
91
92
|
token = m_client.create_egeria_bearer_token()
|
92
93
|
|
93
94
|
match object_type:
|
94
|
-
case "Data
|
95
|
+
case "Data Structures":
|
95
96
|
find_proc = m_client.find_data_structures
|
96
97
|
case "Data Fields":
|
97
98
|
find_proc = m_client.find_data_fields
|
98
99
|
case "Data Classes":
|
99
100
|
find_proc = m_client.find_data_classes
|
101
|
+
case _: #catch invalid patterns
|
102
|
+
print(f"Invalid object type: {object_type}")
|
103
|
+
return
|
100
104
|
|
101
105
|
try:
|
106
|
+
if not callable(find_proc):
|
107
|
+
raise TypeError(f"find_proc is not callable for object type '{object_type}'")
|
108
|
+
|
102
109
|
if output_format == "FORM":
|
103
110
|
action = "Update-Form"
|
104
111
|
elif output_format == "REPORT":
|
@@ -108,8 +115,8 @@ def display_categories(
|
|
108
115
|
file_name = f"{object_type}-{time.strftime('%Y-%m-%d-%H-%M-%S')}-{action}.md"
|
109
116
|
full_file_path = os.path.join(file_path, file_name)
|
110
117
|
os.makedirs(os.path.dirname(full_file_path), exist_ok=True)
|
111
|
-
output =
|
112
|
-
if output ==
|
118
|
+
output = find_proc(search_string, output_format=output_format)
|
119
|
+
if output == NO_ELEMENTS_FOUND:
|
113
120
|
print(f"\n==> No elements found for search string '{search_string}'")
|
114
121
|
return
|
115
122
|
with open(full_file_path, 'w') as f:
|
@@ -117,7 +124,10 @@ def display_categories(
|
|
117
124
|
print(f"\n==> Elements output written to {full_file_path}")
|
118
125
|
return
|
119
126
|
else:
|
120
|
-
output =
|
127
|
+
output =find_proc(search_string, output_format="LIST")
|
128
|
+
if output == NO_ELEMENTS_FOUND:
|
129
|
+
print(f"\n==> No elements found for search string '{search_string}'")
|
130
|
+
return
|
121
131
|
console.print(Markdown(output))
|
122
132
|
return
|
123
133
|
|
@@ -131,16 +141,17 @@ def display_categories(
|
|
131
141
|
|
132
142
|
|
133
143
|
def main_structs():
|
134
|
-
main(object_type = "Data
|
144
|
+
main(object_type = "Data Structures")
|
135
145
|
|
136
|
-
def
|
146
|
+
def main_fields():
|
137
147
|
main(object_type = "Data Fields")
|
138
148
|
|
139
149
|
def main_classes():
|
140
150
|
main(object_type = "Data Classes")
|
141
151
|
|
142
|
-
def main(object_type: str):
|
152
|
+
def main(object_type: str="Data Fields"):
|
143
153
|
parser = argparse.ArgumentParser()
|
154
|
+
parser.add_argument("--kind", choices=["Data Structures", "Data Fields", "Data Classes"])
|
144
155
|
parser.add_argument("--server", help="Name of the server to display status for")
|
145
156
|
parser.add_argument("--url", help="URL Platform to connect to")
|
146
157
|
parser.add_argument("--userid", help="User Id")
|
@@ -152,6 +163,7 @@ def main(object_type: str):
|
|
152
163
|
url = args.url if args.url is not None else EGERIA_PLATFORM_URL
|
153
164
|
userid = args.userid if args.userid is not None else EGERIA_USER
|
154
165
|
user_pass = args.password if args.password is not None else EGERIA_USER_PASSWORD
|
166
|
+
kind = args.kind if args.kind is not None else object_type
|
155
167
|
|
156
168
|
try:
|
157
169
|
search_string = Prompt.ask(
|
@@ -159,8 +171,8 @@ def main(object_type: str):
|
|
159
171
|
)
|
160
172
|
output_format = Prompt.ask("What output format do you want?", choices=["TABLE", "FORM", "REPORT"],
|
161
173
|
default="TABLE")
|
162
|
-
|
163
|
-
|
174
|
+
|
175
|
+
display_data_obj(kind, search_string, server, url, userid,
|
164
176
|
user_pass, output_format = output_format)
|
165
177
|
|
166
178
|
except KeyboardInterrupt:
|
md_processing/__init__.py
CHANGED
@@ -12,7 +12,10 @@ from md_processing.md_commands.solution_architect_commands import (process_bluep
|
|
12
12
|
from md_processing.md_commands.data_designer_commands import (process_data_field_upsert_command,
|
13
13
|
process_data_spec_upsert_command,
|
14
14
|
process_data_dict_upsert_command,
|
15
|
-
|
15
|
+
process_data_collection_list_command,
|
16
|
+
process_data_structure_list_command,
|
17
|
+
process_data_field_list_command,
|
18
|
+
process_data_class_list_command,
|
16
19
|
process_data_structure_upsert_command)
|
17
20
|
|
18
21
|
from md_processing.md_commands.glossary_commands import (process_glossary_upsert_command, process_glossary_list_command,
|
md_processing/data/commands.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"Command Specifications": {
|
3
|
-
"exported": "Jun
|
3
|
+
"exported": "Jun 20, 2025 at 8:22:20 AM",
|
4
4
|
"Data Dictionary": {
|
5
5
|
"display_name": "Data Dictionary",
|
6
6
|
"qn_prefix": "DataDict",
|
@@ -1572,7 +1572,7 @@
|
|
1572
1572
|
"attr_labels": "",
|
1573
1573
|
"examples": "string, int, list",
|
1574
1574
|
"default_value": "string",
|
1575
|
-
"valid_values": "
|
1575
|
+
"valid_values": "string; int; long; date; boolean; char; byte; float; double; biginteger; bigdecimal; array<string>; array<int>; map<string,string>; map<string, boolean>; map<string, int>; map<string, long>; map<string,double>; map<string, date> map<string, object>; short; map<string, array<string>>; other",
|
1576
1576
|
"existing_element": "",
|
1577
1577
|
"description": "The data type of the data field. Point to data type valid value list if exists.",
|
1578
1578
|
"qualified_name_pattern": "",
|
@@ -3200,7 +3200,7 @@
|
|
3200
3200
|
}
|
3201
3201
|
]
|
3202
3202
|
},
|
3203
|
-
"View Data
|
3203
|
+
"View Data Fields": {
|
3204
3204
|
"display_name": "View Data Fields",
|
3205
3205
|
"qn_prefix": "",
|
3206
3206
|
"alternate_names": "List Data Fields",
|
@@ -3250,9 +3250,9 @@
|
|
3250
3250
|
"variable_name": "",
|
3251
3251
|
"inUpdate": true,
|
3252
3252
|
"attr_labels": "Format",
|
3253
|
-
"examples": "
|
3254
|
-
"default_value": "
|
3255
|
-
"valid_values": "
|
3253
|
+
"examples": "LIST",
|
3254
|
+
"default_value": "LIST",
|
3255
|
+
"valid_values": "LIST; FORM; REPORT; MERMAID; DICT",
|
3256
3256
|
"existing_element": "",
|
3257
3257
|
"description": "Optional specification of output format for the query.",
|
3258
3258
|
"qualified_name_pattern": "",
|
@@ -3293,10 +3293,135 @@
|
|
3293
3293
|
"isAnchor": false,
|
3294
3294
|
"min_cardinality": 0,
|
3295
3295
|
"max_cardinality": 1,
|
3296
|
+
"level": "INVISIBLE",
|
3297
|
+
"Journal Entry": ""
|
3298
|
+
}
|
3299
|
+
},
|
3300
|
+
{
|
3301
|
+
"Effective Time": {
|
3302
|
+
"variable_name": "effective_time",
|
3303
|
+
"inUpdate": true,
|
3304
|
+
"attr_labels": "",
|
3305
|
+
"examples": "",
|
3306
|
+
"default_value": "",
|
3307
|
+
"valid_values": "",
|
3308
|
+
"existing_element": "",
|
3309
|
+
"description": "An ISO-8601 string representing the time to use for evaluating effectivity of the elements related to this one.",
|
3310
|
+
"qualified_name_pattern": "",
|
3311
|
+
"generated": false,
|
3312
|
+
"style": "Simple",
|
3313
|
+
"user_specified": true,
|
3314
|
+
"unique": false,
|
3315
|
+
"input_required": false,
|
3316
|
+
"position": 0,
|
3317
|
+
"ReferenceURL": "",
|
3318
|
+
"isParent": false,
|
3319
|
+
"isAnchor": false,
|
3320
|
+
"min_cardinality": 1,
|
3321
|
+
"max_cardinality": 1,
|
3322
|
+
"level": "Advanced",
|
3323
|
+
"Journal Entry": ""
|
3324
|
+
}
|
3325
|
+
}
|
3326
|
+
]
|
3327
|
+
},
|
3328
|
+
"View Data Classes": {
|
3329
|
+
"display_name": "View Data Fields",
|
3330
|
+
"qn_prefix": "",
|
3331
|
+
"alternate_names": "List Data Class; View Data Class; List Data Class",
|
3332
|
+
"description": "Return the data classes, optionally filtered by the search string.",
|
3333
|
+
"upsert": false,
|
3334
|
+
"list": false,
|
3335
|
+
"details": false,
|
3336
|
+
"form": false,
|
3337
|
+
"ReferenceURL": "",
|
3338
|
+
"isOwnAnchor": true,
|
3339
|
+
"parent_relationship_type_name": "",
|
3340
|
+
"parent_at_end1": true,
|
3341
|
+
"style": "display",
|
3342
|
+
"anchor_scope_id": "",
|
3343
|
+
"parent_id": "",
|
3344
|
+
"level": "Basic",
|
3345
|
+
"Journal Entry": "",
|
3346
|
+
"Attributes": [
|
3347
|
+
{
|
3348
|
+
"Search String": {
|
3349
|
+
"variable_name": "",
|
3350
|
+
"inUpdate": true,
|
3351
|
+
"attr_labels": "Filter",
|
3352
|
+
"examples": "",
|
3353
|
+
"default_value": "*",
|
3354
|
+
"valid_values": "",
|
3355
|
+
"existing_element": "",
|
3356
|
+
"description": "An optional search string to filter results by.",
|
3357
|
+
"qualified_name_pattern": "",
|
3358
|
+
"generated": false,
|
3359
|
+
"style": "Simple",
|
3360
|
+
"user_specified": true,
|
3361
|
+
"unique": false,
|
3362
|
+
"input_required": false,
|
3363
|
+
"position": 0,
|
3364
|
+
"ReferenceURL": "",
|
3365
|
+
"isParent": false,
|
3366
|
+
"isAnchor": false,
|
3367
|
+
"min_cardinality": 0,
|
3368
|
+
"max_cardinality": 1,
|
3296
3369
|
"level": "Basic",
|
3297
3370
|
"Journal Entry": ""
|
3298
3371
|
}
|
3299
3372
|
},
|
3373
|
+
{
|
3374
|
+
"Output Format": {
|
3375
|
+
"variable_name": "",
|
3376
|
+
"inUpdate": true,
|
3377
|
+
"attr_labels": "Format",
|
3378
|
+
"examples": "LIST, FORM",
|
3379
|
+
"default_value": "LIST",
|
3380
|
+
"valid_values": "LIST; FORM; REPORT; MERMAID; DICT",
|
3381
|
+
"existing_element": "",
|
3382
|
+
"description": "Optional specification of output format for the query.",
|
3383
|
+
"qualified_name_pattern": "",
|
3384
|
+
"generated": false,
|
3385
|
+
"style": "Valid Value",
|
3386
|
+
"user_specified": true,
|
3387
|
+
"unique": false,
|
3388
|
+
"input_required": false,
|
3389
|
+
"position": 0,
|
3390
|
+
"ReferenceURL": "",
|
3391
|
+
"isParent": false,
|
3392
|
+
"isAnchor": false,
|
3393
|
+
"min_cardinality": 0,
|
3394
|
+
"max_cardinality": 1,
|
3395
|
+
"level": "Basic",
|
3396
|
+
"Journal Entry": ""
|
3397
|
+
}
|
3398
|
+
},
|
3399
|
+
{
|
3400
|
+
"Detailed": {
|
3401
|
+
"variable_name": "detailed",
|
3402
|
+
"inUpdate": true,
|
3403
|
+
"attr_labels": "",
|
3404
|
+
"examples": "True; False",
|
3405
|
+
"default_value": "True",
|
3406
|
+
"valid_values": "",
|
3407
|
+
"existing_element": "",
|
3408
|
+
"description": "If true a more detailed set of attributes will be teturned.",
|
3409
|
+
"qualified_name_pattern": "",
|
3410
|
+
"generated": false,
|
3411
|
+
"style": "Bool",
|
3412
|
+
"user_specified": true,
|
3413
|
+
"unique": false,
|
3414
|
+
"input_required": false,
|
3415
|
+
"position": 0,
|
3416
|
+
"ReferenceURL": "",
|
3417
|
+
"isParent": false,
|
3418
|
+
"isAnchor": false,
|
3419
|
+
"min_cardinality": 0,
|
3420
|
+
"max_cardinality": 1,
|
3421
|
+
"level": "INVISIBLE",
|
3422
|
+
"Journal Entry": ""
|
3423
|
+
}
|
3424
|
+
},
|
3300
3425
|
{
|
3301
3426
|
"Effective Time": {
|
3302
3427
|
"variable_name": "effective_time",
|
@@ -3418,7 +3543,7 @@
|
|
3418
3543
|
"isAnchor": false,
|
3419
3544
|
"min_cardinality": 0,
|
3420
3545
|
"max_cardinality": 1,
|
3421
|
-
"level": "
|
3546
|
+
"level": "INVISIBLE",
|
3422
3547
|
"Journal Entry": ""
|
3423
3548
|
}
|
3424
3549
|
},
|
@@ -3500,9 +3625,9 @@
|
|
3500
3625
|
"variable_name": "",
|
3501
3626
|
"inUpdate": true,
|
3502
3627
|
"attr_labels": "Format",
|
3503
|
-
"examples": "
|
3504
|
-
"default_value": "
|
3505
|
-
"valid_values": "
|
3628
|
+
"examples": "LIST, FORM, REPORT",
|
3629
|
+
"default_value": "LIST",
|
3630
|
+
"valid_values": "LIST; FORM; DICT; MD; MERMAID; REPORT",
|
3506
3631
|
"existing_element": "",
|
3507
3632
|
"description": "Optional specification of output format for the query.",
|
3508
3633
|
"qualified_name_pattern": "",
|
@@ -3543,7 +3668,7 @@
|
|
3543
3668
|
"isAnchor": false,
|
3544
3669
|
"min_cardinality": 0,
|
3545
3670
|
"max_cardinality": 1,
|
3546
|
-
"level": "
|
3671
|
+
"level": "INVISIBLE",
|
3547
3672
|
"Journal Entry": ""
|
3548
3673
|
}
|
3549
3674
|
},
|
@@ -3902,8 +4027,8 @@
|
|
3902
4027
|
"inUpdate": true,
|
3903
4028
|
"attr_labels": "Format",
|
3904
4029
|
"examples": "List, Form, Report",
|
3905
|
-
"default_value": "
|
3906
|
-
"valid_values": "
|
4030
|
+
"default_value": "LIST",
|
4031
|
+
"valid_values": "LIST; FORM; DICT; MD; MERMAID; REPORT",
|
3907
4032
|
"existing_element": "",
|
3908
4033
|
"description": "Optional specification of output format for the query.",
|
3909
4034
|
"qualified_name_pattern": "",
|
@@ -3929,7 +4054,7 @@
|
|
3929
4054
|
"attr_labels": "",
|
3930
4055
|
"examples": "BASIC",
|
3931
4056
|
"default_value": "CORE",
|
3932
|
-
"valid_values": "BASIC; CORE; FULL",
|
4057
|
+
"valid_values": "BASIC; CORE; FULL; INVISIBLE",
|
3933
4058
|
"existing_element": "",
|
3934
4059
|
"description": "Defines the set of attributes displayed for a given output type.",
|
3935
4060
|
"qualified_name_pattern": "",
|
@@ -3944,7 +4069,7 @@
|
|
3944
4069
|
"isAnchor": false,
|
3945
4070
|
"min_cardinality": 0,
|
3946
4071
|
"max_cardinality": 1,
|
3947
|
-
"level": "
|
4072
|
+
"level": "Invisible",
|
3948
4073
|
"Journal Entry": "BASIC - just show the basic properties of the collection without members, additional properties or extended properties.\nCORE - add members, additional properties\n FULL - add anchor, parent, etc?\n\n"
|
3949
4074
|
}
|
3950
4075
|
}
|
@@ -6694,7 +6819,7 @@
|
|
6694
6819
|
"View Solution Components": {
|
6695
6820
|
"display_name": "View Solution Components",
|
6696
6821
|
"qn_prefix": "",
|
6697
|
-
"alternate_names": "
|
6822
|
+
"alternate_names": "View Components",
|
6698
6823
|
"description": "Return the data structure details, optionally filtered by the search string.",
|
6699
6824
|
"upsert": false,
|
6700
6825
|
"list": false,
|
@@ -6819,7 +6944,7 @@
|
|
6819
6944
|
"View Solution Blueprints": {
|
6820
6945
|
"display_name": "View Solution Blueprints",
|
6821
6946
|
"qn_prefix": "",
|
6822
|
-
"alternate_names": "List
|
6947
|
+
"alternate_names": "View Blueprints; List Solution Blueprints",
|
6823
6948
|
"description": "Return the data structure details, optionally filtered by the search string.",
|
6824
6949
|
"upsert": false,
|
6825
6950
|
"list": false,
|