regscale-cli 6.20.4.0__py3-none-any.whl → 6.20.4.1__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 regscale-cli might be problematic. Click here for more details.
- regscale/__init__.py +1 -1
- regscale/integrations/public/fedramp/fedramp_cis_crm.py +9 -2
- regscale/models/integration_models/synqly_models/capabilities.json +1 -1
- {regscale_cli-6.20.4.0.dist-info → regscale_cli-6.20.4.1.dist-info}/METADATA +1 -1
- {regscale_cli-6.20.4.0.dist-info → regscale_cli-6.20.4.1.dist-info}/RECORD +9 -9
- {regscale_cli-6.20.4.0.dist-info → regscale_cli-6.20.4.1.dist-info}/LICENSE +0 -0
- {regscale_cli-6.20.4.0.dist-info → regscale_cli-6.20.4.1.dist-info}/WHEEL +0 -0
- {regscale_cli-6.20.4.0.dist-info → regscale_cli-6.20.4.1.dist-info}/entry_points.txt +0 -0
- {regscale_cli-6.20.4.0.dist-info → regscale_cli-6.20.4.1.dist-info}/top_level.txt +0 -0
regscale/__init__.py
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
__version__ = "6.20.4.
|
|
1
|
+
__version__ = "6.20.4.1"
|
|
@@ -610,6 +610,13 @@ def get_all_control_objectives(imps: List[ControlImplementation]) -> List[Contro
|
|
|
610
610
|
return res
|
|
611
611
|
|
|
612
612
|
|
|
613
|
+
def clean_key(key: str) -> str:
|
|
614
|
+
"""
|
|
615
|
+
Clean the key by removing spaces
|
|
616
|
+
"""
|
|
617
|
+
return key.replace(" ", "")
|
|
618
|
+
|
|
619
|
+
|
|
613
620
|
def update_all_objectives(
|
|
614
621
|
leveraged_auth_id: int,
|
|
615
622
|
cis_data: Dict[str, Dict[str, str]],
|
|
@@ -634,7 +641,7 @@ def update_all_objectives(
|
|
|
634
641
|
"[cyan]Processing control objectives...", total=len(EXISTING_IMPLEMENTATIONS.values())
|
|
635
642
|
)
|
|
636
643
|
# Create a combined dataset for easier access
|
|
637
|
-
combined_data = {key: {"cis": cis_data[key], "crm": crm_data.get(key, {})} for key in cis_data}
|
|
644
|
+
combined_data = {key: {"cis": cis_data[key], "crm": crm_data.get(clean_key(key), {})} for key in cis_data}
|
|
638
645
|
|
|
639
646
|
# Process implementations in parallel
|
|
640
647
|
with ThreadPoolExecutor(max_workers=30) as executor:
|
|
@@ -1075,7 +1082,7 @@ def parse_cis_worksheet(file_path: click.Path, cis_sheet_name: str) -> dict:
|
|
|
1075
1082
|
results = list(executor.map(_process_row, [row for _, row in cis_df.iterrows()]))
|
|
1076
1083
|
|
|
1077
1084
|
# iterate the results and index by control_id
|
|
1078
|
-
return {result["control_id"]: result for result in results}
|
|
1085
|
+
return {clean_key(result["control_id"]): result for result in results}
|
|
1079
1086
|
|
|
1080
1087
|
|
|
1081
1088
|
def determine_skip_row(original_df: "pd.DataFrame", text_to_find: str, original_skip: int):
|