From 03d424cfca2171e21e335f117d7cf90ca40857ce Mon Sep 17 00:00:00 2001 From: Piyush Ranjan Date: Sat, 16 Aug 2025 00:53:43 +0530 Subject: [PATCH 1/2] add missing requirement openpyxl --- requirements.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/requirements.txt b/requirements.txt index 2aad2df..364eb4d 100644 --- a/requirements.txt +++ b/requirements.txt @@ -8,3 +8,4 @@ pycryptodome>=3.20.0 PyMySQL>=1.1.1 PyYAML>=6.0.2 xmltodict>=0.12.0 +openpyxl>=3.1.5 \ No newline at end of file From 853869f2304076d6bd7bd77a6ea78a5cb7934b74 Mon Sep 17 00:00:00 2001 From: Piyush Ranjan Date: Sat, 16 Aug 2025 00:54:09 +0530 Subject: [PATCH 2/2] support default delimiter for CSV --- ingen/reader/file_reader.py | 2 +- test/reader/test_file_reader.py | 24 ++++++++++++++++++++++++ 2 files changed, 25 insertions(+), 1 deletion(-) diff --git a/ingen/reader/file_reader.py b/ingen/reader/file_reader.py index df8524b..7553cb9 100644 --- a/ingen/reader/file_reader.py +++ b/ingen/reader/file_reader.py @@ -25,7 +25,7 @@ def read(self, src): dtype = src.get('dtype') try: result = pd.read_csv(src['file_path'], - sep=src.get('delimiter'), + sep=src.get('delimiter', ','), index_col=False, skiprows=config['header_size'], skipfooter=config['trailer_size'], diff --git a/test/reader/test_file_reader.py b/test/reader/test_file_reader.py index a693614..686fc33 100644 --- a/test/reader/test_file_reader.py +++ b/test/reader/test_file_reader.py @@ -109,6 +109,30 @@ def test_read_all_columns(self, mock_pandas): dtype=None ) + @patch('ingen.reader.file_reader.pd') + def test_default_delimiter_comma(self, mock_pandas): + source = { + 'id': 'test-source', + 'type': 'file', + 'file_type': 'delimited_file', + # 'delimiter' intentionally omitted to test default + 'file_path': 'random/path/to/file', + 'columns': ['first_name', 'last_name'] + } + + reader = ReaderFactory.get_reader(source) + reader.read(source) + + mock_pandas.read_csv.assert_called_with( + source['file_path'], + sep=',', + index_col=False, + skiprows=0, + skipfooter=0, + names=source['columns'], + dtype=None + ) + @patch('ingen.reader.file_reader.pd') def test_column_dtype(self, mock_pandas): source = self._src