From 44ab08fbe8fbbc962fd3afd250a281e88747f85e Mon Sep 17 00:00:00 2001
From: Neda Moeini <neda.moeini@geant.org>
Date: Fri, 28 Mar 2025 10:22:40 +0100
Subject: [PATCH] Improve CSV file handling

---
 sage_validation/file_validator/forms.py | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/sage_validation/file_validator/forms.py b/sage_validation/file_validator/forms.py
index ef6e9ec..75c9c38 100644
--- a/sage_validation/file_validator/forms.py
+++ b/sage_validation/file_validator/forms.py
@@ -76,7 +76,9 @@ class CSVUploadForm(forms.Form):
         self._validate_file_type(file)
 
         # Step 2: Parse file and validate headers
-        csv_file = file.read().decode("utf-8").splitlines()
+        raw_data = file.read().decode("utf-8")
+        normalized_data = raw_data.replace('\r\n', '\n').replace('\r', '\n')
+        csv_file = normalized_data.splitlines()
         reader = csv.DictReader(csv_file, delimiter=",")
         fieldnames = reader.fieldnames if reader.fieldnames is not None else []
         self._validate_headers(fieldnames)
-- 
GitLab