From fa2a58d9da5adac3eb667163524a344218f05ef7 Mon Sep 17 00:00:00 2001
From: Jakub Dylag <jjd1c23@soton.ac.uk>
Date: Thu, 22 May 2025 15:53:16 +0100
Subject: [PATCH] (bug) QA parser not removing codes that cannot be fixed

---
 acmc/parse.py | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/acmc/parse.py b/acmc/parse.py
index 8a364e5..7e805b8 100644
--- a/acmc/parse.py
+++ b/acmc/parse.py
@@ -99,6 +99,8 @@ class Proto:
                     _logger.debug(f"Check: Fixed")
                 except InvalidCodesException as ex:
                     errors.append(ex.error)
+                    codes = codes[cond(codes)] #remove codes that cannot be fixed
+                    _logger.debug(f"Check: Invalid Codes Removed, no fix available")
             else:
                 _logger.debug(f"Check: passed")
 
@@ -231,7 +233,7 @@ class Read3(Proto):
                             f"QA Alphanumeric Dot",
                             codes=codes,
                             codes_file=codes_file,
-                            mask=None,
+                            mask=codes.str.match(r"^[a-zA-Z0-9.]+$"),
                             code_type=self.name,
                         )
                     )
@@ -246,7 +248,7 @@ class Read3(Proto):
                             f"QA In Database",
                             codes=codes,
                             codes_file=codes_file,
-                            mask=None,
+                            mask=self.in_database(codes, self.db, self.name),
                             code_type=self.name,
                         )
                     )
-- 
GitLab