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 CHANGED
@@ -1 +1 @@
1
- __version__ = "6.20.4.0"
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):