|
17 | 17 |
|
18 | 18 | from src.config import Settings, get_settings |
19 | 19 | from src.models import Sekolah |
20 | | -from src.core.gsheet import fetch_csv_data, _extract_file_version |
21 | | -from src.core.s3 import (_upload_to_s3, _latest_csv_from_s3, _read_csv_from_s3) |
| 20 | +from src.core.gsheet import fetch_xlsx_data, _extract_file_version |
| 21 | +from src.core.s3 import (_upload_xlsx_to_s3, _read_xlsx_from_s3) |
22 | 22 | from src.models.sekolah import SekolahStatus |
23 | 23 | from src.pipeline.status_sync import sync_entiti_statuses, delete_inactive_entiti |
24 | 24 | from src.core.time import _utc_now |
@@ -99,13 +99,13 @@ def _read_google_sheet(sheet_id: str, gid: str) -> Iterable[Dict[str, Any]]: |
99 | 99 |
|
100 | 100 |
|
101 | 101 | def _load_rows(settings: Settings) -> tuple[Iterable[Dict[str, Any]], str | None]: |
102 | | - csv_bytes, file_name = fetch_csv_data(settings.gsheet_id, settings.gsheet_gid) |
103 | | - logger.info("Uploading CSV data to S3 bucket %s", settings.s3_bucket_dataproc) |
104 | | - s3_key = _upload_to_s3(csv_bytes, settings.s3_bucket_dataproc, settings.s3_prefix_sekolah, file_name) |
105 | | - logger.info("CSV uploaded to S3 at key: %s", s3_key) |
| 102 | + xlsx_bytes, file_name = fetch_xlsx_data(settings.gsheet_id, settings.gsheet_gid) |
| 103 | + logger.info("Uploading XLSX data to S3 bucket %s", settings.s3_bucket_dataproc) |
| 104 | + s3_key = _upload_xlsx_to_s3(xlsx_bytes, settings.s3_bucket_dataproc, settings.s3_prefix_sekolah, file_name) |
| 105 | + logger.info("XLSX uploaded to S3 at key: %s", s3_key) |
106 | 106 |
|
107 | | - df = _read_csv_from_s3(settings.s3_bucket_dataproc, s3_key) |
108 | | - logger.info("CSV loaded from S3: %d rows, %d columns", df.shape[0], df.shape[1]) |
| 107 | + df = _read_xlsx_from_s3(settings.s3_bucket_dataproc, s3_key) |
| 108 | + logger.info("XLSX loaded from S3: %d rows, %d columns", df.shape[0], df.shape[1]) |
109 | 109 | return df.to_dict(orient="records"), file_name |
110 | 110 |
|
111 | 111 |
|
|
0 commit comments