diff --git a/requirements.in b/requirements.in index ea4a93b..dead4cb 100644 --- a/requirements.in +++ b/requirements.in @@ -6,6 +6,3 @@ pydantic-settings s3fs aiofiles duckdb -polars -pyarrow -xlsx2csv \ No newline at end of file diff --git a/src/hellocomputer/analytics.py b/src/hellocomputer/analytics.py index b8eec56..be84368 100644 --- a/src/hellocomputer/analytics.py +++ b/src/hellocomputer/analytics.py @@ -35,7 +35,7 @@ class DDB: self.sheets = tuple( self.db.query("select Field2 from metadata where Field1 = 'Sheets'") .fetchall()[0][0] - .split(",") + .split(";") ) self.path = path @@ -83,5 +83,18 @@ class DDB: return self - def query(self, sql): - return self.db.query(sql) + def load_folder_local(self, path: str): + self.sheets = tuple( + self.query( + f"select Field2 from read_csv_auto('{path}/metadata.csv') where Field1 = 'Sheets'" + ) + .fetchall()[0][0] + .split(";") + ) + return self + + def load_folder_gcs(self, path: str): + return self + + def query(self, sql, *args, **kwargs): + return self.db.query(sql, *args, **kwargs) diff --git a/test/test_load.py b/test/test_data.py similarity index 79% rename from test/test_load.py rename to test/test_data.py index b4d7a27..ddeb3bc 100644 --- a/test/test_load.py +++ b/test/test_data.py @@ -6,7 +6,7 @@ TEST_DATA_FOLDER = Path(hellocomputer.__file__).parents[2] / "test" / "data" TEST_OUTPUT_FOLDER = Path(hellocomputer.__file__).parents[2] / "test" / "output" -def test_load_data(): +def test_dump(): db = ( DDB() .load_metadata(TEST_DATA_FOLDER / "TestExcelHelloComputer.xlsx") @@ -15,3 +15,8 @@ def test_load_data(): assert db.sheets == ("answers",) assert (TEST_OUTPUT_FOLDER / "answers.csv").exists() + + +def test_load(): + db = DDB().load_folder_local(TEST_OUTPUT_FOLDER) + assert db.sheets == ("answers",)