ara-cli 0.1.9.74__py3-none-any.whl → 0.1.9.75__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.
Potentially problematic release.
This version of ara-cli might be problematic. Click here for more details.
- ara_cli/ara_config.py +181 -73
- ara_cli/artefact_autofix.py +103 -72
- ara_cli/artefact_models/businessgoal_artefact_model.py +23 -25
- ara_cli/artefact_models/epic_artefact_model.py +23 -24
- ara_cli/artefact_models/feature_artefact_model.py +74 -46
- ara_cli/artefact_models/keyfeature_artefact_model.py +21 -24
- ara_cli/artefact_models/task_artefact_model.py +73 -13
- ara_cli/artefact_models/userstory_artefact_model.py +22 -24
- ara_cli/artefact_models/vision_artefact_model.py +23 -42
- ara_cli/artefact_scan.py +55 -16
- ara_cli/prompt_handler.py +4 -4
- ara_cli/tag_extractor.py +43 -28
- ara_cli/version.py +1 -1
- {ara_cli-0.1.9.74.dist-info → ara_cli-0.1.9.75.dist-info}/METADATA +1 -1
- {ara_cli-0.1.9.74.dist-info → ara_cli-0.1.9.75.dist-info}/RECORD +21 -21
- tests/test_ara_config.py +420 -36
- tests/test_artefact_scan.py +296 -35
- tests/test_chat.py +2 -2
- {ara_cli-0.1.9.74.dist-info → ara_cli-0.1.9.75.dist-info}/WHEEL +0 -0
- {ara_cli-0.1.9.74.dist-info → ara_cli-0.1.9.75.dist-info}/entry_points.txt +0 -0
- {ara_cli-0.1.9.74.dist-info → ara_cli-0.1.9.75.dist-info}/top_level.txt +0 -0
ara_cli/tag_extractor.py
CHANGED
|
@@ -7,6 +7,47 @@ class TagExtractor:
|
|
|
7
7
|
def __init__(self, file_system=None):
|
|
8
8
|
self.file_system = file_system or os
|
|
9
9
|
|
|
10
|
+
def filter_column(self, tags_set, filtered_artefacts):
|
|
11
|
+
status_tags = {"to-do", "in-progress", "review", "done", "closed"}
|
|
12
|
+
|
|
13
|
+
artefacts_to_process = self._get_artefacts_without_status_tags(filtered_artefacts, status_tags)
|
|
14
|
+
self._add_non_status_tags_to_set(tags_set, artefacts_to_process, status_tags)
|
|
15
|
+
|
|
16
|
+
def _get_artefacts_without_status_tags(self, filtered_artefacts, status_tags):
|
|
17
|
+
artefacts_to_process = []
|
|
18
|
+
for artefact_list in filtered_artefacts.values():
|
|
19
|
+
for artefact in artefact_list:
|
|
20
|
+
tag_set = self._get_tag_set(artefact)
|
|
21
|
+
if not tag_set & status_tags:
|
|
22
|
+
artefacts_to_process.append(artefact)
|
|
23
|
+
return artefacts_to_process
|
|
24
|
+
|
|
25
|
+
def _get_tag_set(self, artefact):
|
|
26
|
+
tags = artefact.tags + [artefact.status] if artefact.status else artefact.tags
|
|
27
|
+
return set(tag for tag in tags if tag is not None)
|
|
28
|
+
|
|
29
|
+
def _add_non_status_tags_to_set(self, tags_set, artefacts, status_tags):
|
|
30
|
+
for artefact in artefacts:
|
|
31
|
+
tags = [tag for tag in (artefact.tags + [artefact.status]) if tag is not None]
|
|
32
|
+
for tag in tags:
|
|
33
|
+
if self._is_skipped_tag(tag, status_tags):
|
|
34
|
+
continue
|
|
35
|
+
tags_set.add(tag)
|
|
36
|
+
|
|
37
|
+
def _is_skipped_tag(self, tag, status_tags):
|
|
38
|
+
return (
|
|
39
|
+
tag in status_tags
|
|
40
|
+
or tag.startswith("priority_")
|
|
41
|
+
or tag.startswith("user_")
|
|
42
|
+
)
|
|
43
|
+
|
|
44
|
+
def add_to_tags_set(self, tags_set, filtered_artefacts):
|
|
45
|
+
for artefact_list in filtered_artefacts.values():
|
|
46
|
+
for artefact in artefact_list:
|
|
47
|
+
user_tags = [f"user_{tag}" for tag in artefact.users]
|
|
48
|
+
tags = [tag for tag in (artefact.tags + [artefact.status] + user_tags) if tag is not None]
|
|
49
|
+
tags_set.update(tags)
|
|
50
|
+
|
|
10
51
|
def extract_tags(
|
|
11
52
|
self,
|
|
12
53
|
navigate_to_target=False,
|
|
@@ -33,35 +74,9 @@ class TagExtractor:
|
|
|
33
74
|
unique_tags = set()
|
|
34
75
|
|
|
35
76
|
if filtered_extra_column:
|
|
36
|
-
|
|
37
|
-
artefacts_to_process = []
|
|
38
|
-
|
|
39
|
-
for artefact_list in filtered_artefacts.values():
|
|
40
|
-
for artefact in artefact_list:
|
|
41
|
-
tags = artefact.tags + \
|
|
42
|
-
[artefact.status] if artefact.status else artefact.tags
|
|
43
|
-
tag_set = set(tag for tag in tags if tag is not None)
|
|
44
|
-
if not tag_set & status_tags:
|
|
45
|
-
artefacts_to_process.append(artefact)
|
|
46
|
-
|
|
47
|
-
for artefact in artefacts_to_process:
|
|
48
|
-
tags = [tag for tag in (
|
|
49
|
-
artefact.tags + [artefact.status]) if tag is not None]
|
|
50
|
-
for tag in tags:
|
|
51
|
-
if (
|
|
52
|
-
tag in status_tags
|
|
53
|
-
or tag.startswith("priority_")
|
|
54
|
-
or tag.startswith("user_")
|
|
55
|
-
):
|
|
56
|
-
continue
|
|
57
|
-
unique_tags.add(tag)
|
|
58
|
-
|
|
77
|
+
self.filter_column(unique_tags, filtered_artefacts)
|
|
59
78
|
else:
|
|
60
|
-
|
|
61
|
-
for artefact in artefact_list:
|
|
62
|
-
user_tags = [f"user_{tag}" for tag in artefact.users]
|
|
63
|
-
tags = [tag for tag in (artefact.tags + [artefact.status] + user_tags) if tag is not None]
|
|
64
|
-
unique_tags.update(tags)
|
|
79
|
+
self.add_to_tags_set(unique_tags, filtered_artefacts)
|
|
65
80
|
|
|
66
81
|
sorted_tags = sorted(unique_tags)
|
|
67
82
|
return sorted_tags
|
ara_cli/version.py
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
# version.py
|
|
2
|
-
__version__ = "0.1.9.
|
|
2
|
+
__version__ = "0.1.9.75" # fith parameter like .0 for local install test purposes only. official numbers should be 4 digit numbers
|
|
@@ -2,8 +2,8 @@ ara_cli/__init__.py,sha256=0zl7IegxTid26EBGLav_fXZ4CCIV3H5TfAoFQiOHjvg,148
|
|
|
2
2
|
ara_cli/__main__.py,sha256=Z6XYWRLceIoZPvfC-X9EXouSZdtFOOe84kKVWJGA4r4,1861
|
|
3
3
|
ara_cli/ara_command_action.py,sha256=J613DUTjRxrPG8Jm-fJcIM0QlZTeULmq9Q7DKkDxJHg,22039
|
|
4
4
|
ara_cli/ara_command_parser.py,sha256=HHuLxGeLjsd3R-JcoWJ5MUgaxXqkECHoqE95amlaVXY,18115
|
|
5
|
-
ara_cli/ara_config.py,sha256=
|
|
6
|
-
ara_cli/artefact_autofix.py,sha256=
|
|
5
|
+
ara_cli/ara_config.py,sha256=SgZfQVpqj5JJN4SB0n2IvAH0sKIdS3k1K1Zht2wDywA,8814
|
|
6
|
+
ara_cli/artefact_autofix.py,sha256=XT-OGiznPCX7b6wwxFigHaVt5KzC2pFm6IT8HuwiSVs,17519
|
|
7
7
|
ara_cli/artefact_creator.py,sha256=0Ory6cB-Ahkw-BDNb8QHnTbp_OHGABdkb9bhwcEdcIc,6063
|
|
8
8
|
ara_cli/artefact_deleter.py,sha256=Co4wwCH3yW8H9NrOq7_2p5571EeHr0TsfE-H8KqoOfY,1900
|
|
9
9
|
ara_cli/artefact_fuzzy_search.py,sha256=iBlDqjZf-_D3VUjFf7ZwkiQbpQDcwRndIU7aG_sRTgE,2668
|
|
@@ -11,7 +11,7 @@ ara_cli/artefact_link_updater.py,sha256=nKdxTpDKqWTOAMD8viKmUaklSFGWzJZ8S8E8xW_A
|
|
|
11
11
|
ara_cli/artefact_lister.py,sha256=jhk4n4eqp7hDIq07q43QzS7-36BM3OfZ4EABxCeOGcw,4764
|
|
12
12
|
ara_cli/artefact_reader.py,sha256=E6DMBvbOYf1OoLf-OyLaiB6K2-gd7iHmjoQZU9Rsy6g,6965
|
|
13
13
|
ara_cli/artefact_renamer.py,sha256=Hnz_3zD9xxnBa1FHyUE6mIktLk_9ttP2rFRvQIkmz-o,4061
|
|
14
|
-
ara_cli/artefact_scan.py,sha256=
|
|
14
|
+
ara_cli/artefact_scan.py,sha256=msPCm-vPWOAZ_e_z5GylXxq1MtNlmJ4zvKrsdOFCWF4,4813
|
|
15
15
|
ara_cli/chat.py,sha256=CR30wBfKaS8DVCeavEEYFMeCFp3IyRtybQnk-GrCj7U,29341
|
|
16
16
|
ara_cli/classifier.py,sha256=zWskj7rBYdqYBGjksBm46iTgVU5IIf2PZsJr4qeiwVU,1878
|
|
17
17
|
ara_cli/codefusionretriever.py,sha256=fCHgXdIBRzkVAnapX-KI2NQ44XbrrF4tEQmn5J6clUI,1980
|
|
@@ -25,29 +25,29 @@ ara_cli/list_filter.py,sha256=qKGwwQsrWe7L5FbdxEbBYD1bbbi8c-RMypjXqXvLbgs,5291
|
|
|
25
25
|
ara_cli/output_suppressor.py,sha256=nwiHaQLwabOjMoJOeUESBnZszGMxrQZfJ3N2OvahX7Y,389
|
|
26
26
|
ara_cli/prompt_chat.py,sha256=kd_OINDQFit6jN04bb7mzgY259JBbRaTaNp9F-webkc,1346
|
|
27
27
|
ara_cli/prompt_extractor.py,sha256=6l1Or7wuFNUDqbMg-NDXpFX-WMi2XV7YGH6hGDvow2o,7557
|
|
28
|
-
ara_cli/prompt_handler.py,sha256=
|
|
28
|
+
ara_cli/prompt_handler.py,sha256=f1J-SAyFQjVgfi0k_Pk4JYotcU_UV4oSrLKoJH-25iM,18576
|
|
29
29
|
ara_cli/prompt_rag.py,sha256=ydlhe4CUqz0jdzlY7jBbpKaf_5fjMrAZKnriKea3ZAg,7485
|
|
30
30
|
ara_cli/run_file_lister.py,sha256=XbrrDTJXp1LFGx9Lv91SNsEHZPP-PyEMBF_P4btjbDA,2360
|
|
31
|
-
ara_cli/tag_extractor.py,sha256=
|
|
31
|
+
ara_cli/tag_extractor.py,sha256=TGdaQOVnjy25R0zDsAifB67C5oom0Fwo24s0_fr5A_I,3151
|
|
32
32
|
ara_cli/template_manager.py,sha256=YwrN6AYPpl6ZrW8BVQpVXx8yTRf-oNpJUIKeg4NAggs,6606
|
|
33
33
|
ara_cli/update_config_prompt.py,sha256=Oy9vNTw6UhDohyTEfSKkqE5ifEMPlmWNYkKHgUrK_pY,4607
|
|
34
|
-
ara_cli/version.py,sha256=
|
|
34
|
+
ara_cli/version.py,sha256=pKiqeeWiFsEsFOcA9URWYucMsyrAfEmlaiQ8MVZ8ApI,146
|
|
35
35
|
ara_cli/artefact_models/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
36
36
|
ara_cli/artefact_models/artefact_load.py,sha256=dNcwZDW2Dk0bts9YnPZ0ESmWD2NbsLIvl4Z-qQeGmTQ,401
|
|
37
37
|
ara_cli/artefact_models/artefact_mapping.py,sha256=8aD0spBjkJ8toMAmFawc6UTUxB6-tEEViZXv2I-r88Q,1874
|
|
38
38
|
ara_cli/artefact_models/artefact_model.py,sha256=qSbcrmFWAYgBqcNl9QARI1_uLQJm-TPVgP5q2AEFnjE,15983
|
|
39
39
|
ara_cli/artefact_models/artefact_templates.py,sha256=8HNM-TsNvKgTpruOBs751yRDXJypTiJhc1tkWCiYG7s,9830
|
|
40
|
-
ara_cli/artefact_models/businessgoal_artefact_model.py,sha256=
|
|
40
|
+
ara_cli/artefact_models/businessgoal_artefact_model.py,sha256=GYT5S2xEnQHwv-k-lEeX5NMSqA-UEfV3PhNjgPDUJpw,4698
|
|
41
41
|
ara_cli/artefact_models/capability_artefact_model.py,sha256=SZqHx4O2mj4urn77Stnj4_Jxtlq3-LgBBU9SMkByppI,3079
|
|
42
|
-
ara_cli/artefact_models/epic_artefact_model.py,sha256=
|
|
42
|
+
ara_cli/artefact_models/epic_artefact_model.py,sha256=h9pC00ZxCL-t_NMjwTCeOnIJZPa9hhB-R05wr110LXs,5619
|
|
43
43
|
ara_cli/artefact_models/example_artefact_model.py,sha256=UXrKbaPotg1jwcrVSdCeo-XH4tTD_-U1e3giaBn5_xg,1384
|
|
44
|
-
ara_cli/artefact_models/feature_artefact_model.py,sha256=
|
|
44
|
+
ara_cli/artefact_models/feature_artefact_model.py,sha256=FrR7_xydOmMySAz0QpWgrNFF6UcbFsDj7Ji1R2dc82g,19179
|
|
45
45
|
ara_cli/artefact_models/issue_artefact_model.py,sha256=v6CpKnkqiUh6Wch2kkEmyyW49c8ysdy1qz8l1Ft9uJA,2552
|
|
46
|
-
ara_cli/artefact_models/keyfeature_artefact_model.py,sha256=
|
|
46
|
+
ara_cli/artefact_models/keyfeature_artefact_model.py,sha256=J9oXLsCAo22AW31D5Z104y02ss0S0O4tPCcd09zYCD0,4066
|
|
47
47
|
ara_cli/artefact_models/serialize_helper.py,sha256=Wks30wy-UrwJURetydKykLgJkdGRgXFHkDT24vHe5tU,595
|
|
48
|
-
ara_cli/artefact_models/task_artefact_model.py,sha256=
|
|
49
|
-
ara_cli/artefact_models/userstory_artefact_model.py,sha256=
|
|
50
|
-
ara_cli/artefact_models/vision_artefact_model.py,sha256=
|
|
48
|
+
ara_cli/artefact_models/task_artefact_model.py,sha256=OrG7Z0u5QDGoS1a0PlWNxC2n47j9RtNZQo0rz1kNs84,5841
|
|
49
|
+
ara_cli/artefact_models/userstory_artefact_model.py,sha256=2awH31ROtm7j4T44Bv4cylQDYLQtnfgXZMhDu_pgw-k,6435
|
|
50
|
+
ara_cli/artefact_models/vision_artefact_model.py,sha256=frjaUJj-mmIlVHEhzAQztCGs-CtvNu_odSborgztfzo,5251
|
|
51
51
|
ara_cli/templates/agile.artefacts,sha256=nTA8dp98HWKAD-0qhmNpVYIfkVGoJshZqMJGnphiOsE,7932
|
|
52
52
|
ara_cli/templates/template.businessgoal.prompt_log.md,sha256=xF6bkgj_GqAAqHxJWJiQNt11mEuSGemIqoZ2wOo6dI0,214
|
|
53
53
|
ara_cli/templates/template.capability.prompt_log.md,sha256=eO8EzrHgb2vYJ-DP1jGzAfDlMo8nY75hZDfhh0s40uQ,208
|
|
@@ -123,15 +123,15 @@ ara_cli/templates/specification_breakdown_files/template.technology.exploration.
|
|
|
123
123
|
ara_cli/templates/specification_breakdown_files/template.technology.md,sha256=bySiksz-8xtq0Nnj4svqe2MgUftWrVkbK9AcrDUE3KY,952
|
|
124
124
|
tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
125
125
|
tests/test_ara_command_action.py,sha256=JTLqXM9BSMlU33OQgrk_sZnoowFJZKZAx8q-st-wa34,25821
|
|
126
|
-
tests/test_ara_config.py,sha256=
|
|
126
|
+
tests/test_ara_config.py,sha256=pvkdPLTzgLkOijil0HaN0mhLC2Rdu4Fu5RfXEyOlRfs,16672
|
|
127
127
|
tests/test_artefact_autofix.py,sha256=K5h-IcPHZHdbLFgQHoto3K4fgX8cNW-ddHgQwCAIlFc,22145
|
|
128
128
|
tests/test_artefact_fuzzy_search.py,sha256=5Sh3_l9QK8-WHn6JpGPU1b6h4QEnl2JoMq1Tdp2cj1U,1261
|
|
129
129
|
tests/test_artefact_link_updater.py,sha256=biqbEp2jCOz8giv72hu2P2hDfeJfJ9OrVGdAv5d9cK4,2191
|
|
130
130
|
tests/test_artefact_lister.py,sha256=VCEOCgDgnAOeUUgIoGAbWgz60hf9UT-tdHg18LGfB34,22656
|
|
131
131
|
tests/test_artefact_reader.py,sha256=660K-d8ed-j8hulsUB_7baPD2-hhbg9TffUR5yVc4Uo,927
|
|
132
132
|
tests/test_artefact_renamer.py,sha256=lSnKCCfoFGgKhTdDZrEaeBq1xJAak1QoqH5aSeOe9Ro,3494
|
|
133
|
-
tests/test_artefact_scan.py,sha256=
|
|
134
|
-
tests/test_chat.py,sha256=
|
|
133
|
+
tests/test_artefact_scan.py,sha256=uNWgrt7ieZ4ogKACsPqzAsh59JF2BhTKSag31hpVrTQ,16887
|
|
134
|
+
tests/test_chat.py,sha256=BcVCGJjdBHEIXR9l-9Q83fQXP7Hly6yHewY2qEuZ1DE,49161
|
|
135
135
|
tests/test_classifier.py,sha256=grYGPksydNdPsaEBQxYHZTuTdcJWz7VQtikCKA6BNaQ,1920
|
|
136
136
|
tests/test_directory_navigator.py,sha256=7G0MVrBbtBvbrFUpL0zb_9EkEWi1dulWuHsrQxMJxDY,140
|
|
137
137
|
tests/test_file_classifier.py,sha256=kLWPiePu3F5mkVuI_lK_2QlLh2kXD_Mt2K8KZZ1fAnA,10940
|
|
@@ -141,8 +141,8 @@ tests/test_list_filter.py,sha256=fJA3d_SdaOAUkE7jn68MOVS0THXGghy1fye_64Zvo1U,796
|
|
|
141
141
|
tests/test_tag_extractor.py,sha256=nSiAYlTKZ7TLAOtcJpwK5zTWHhFYU0tI5xKnivLc1dU,2712
|
|
142
142
|
tests/test_template_manager.py,sha256=q-LMHRG4rHkD6ON6YW4cpZxUx9hul6Or8wVVRC2kb-8,4099
|
|
143
143
|
tests/test_update_config_prompt.py,sha256=xsqj1WTn4BsG5Q2t-sNPfu7EoMURFcS-hfb5VSXUnJc,6765
|
|
144
|
-
ara_cli-0.1.9.
|
|
145
|
-
ara_cli-0.1.9.
|
|
146
|
-
ara_cli-0.1.9.
|
|
147
|
-
ara_cli-0.1.9.
|
|
148
|
-
ara_cli-0.1.9.
|
|
144
|
+
ara_cli-0.1.9.75.dist-info/METADATA,sha256=gWhv0kRyRzVik_sN-4cY1ILDTcqrWyE8p5y9d50ODpo,415
|
|
145
|
+
ara_cli-0.1.9.75.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
146
|
+
ara_cli-0.1.9.75.dist-info/entry_points.txt,sha256=v4h7MzysTgSIDYfEo3oj4Kz_8lzsRa3hq-KJHEcLVX8,45
|
|
147
|
+
ara_cli-0.1.9.75.dist-info/top_level.txt,sha256=WM4cLHT5DYUaWzLtRj-gu3yVNFpGQ6lLRI3FMmC-38I,14
|
|
148
|
+
ara_cli-0.1.9.75.dist-info/RECORD,,
|