From 641605384436e74d569aacd78349ea5b534233b4 Mon Sep 17 00:00:00 2001 From: codebude Date: Mon, 8 Jun 2026 11:47:03 +0200 Subject: [PATCH 1/2] Bugfix Goodreads notes transformation --- backend/app/routers/data.py | 4 +--- backend/app/services/data_import.py | 2 +- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/backend/app/routers/data.py b/backend/app/routers/data.py index c4463ef..699e478 100644 --- a/backend/app/routers/data.py +++ b/backend/app/routers/data.py @@ -35,7 +35,6 @@ BOOK_IMPORT_FIELDS, PREDEFINED_MAPPINGS, compute_schema_fingerprint, - delete_parsed_upload, execute_import, get_predefined_mapping, load_parsed_upload, @@ -323,8 +322,7 @@ async def event_generator(): final_error = 'error.importExecutionFailed' yield f"data: {json.dumps({'event': 'error', 'message': 'error.importExecutionFailed'})}\n\n" finally: - if completed and import_failed_rows == 0 and final_error is None: - delete_parsed_upload(body.file_id, current_user.id) + pass # import file is cleaned up by the periodic temp file job return StreamingResponse( event_generator(), diff --git a/backend/app/services/data_import.py b/backend/app/services/data_import.py index 9aef8eb..b78b253 100644 --- a/backend/app/services/data_import.py +++ b/backend/app/services/data_import.py @@ -838,7 +838,7 @@ async def execute_import( "tags": {"source": "Bookshelves", "transform": None}, "notes": { "source": "My Review", - "transform": "value.replace('
', '\n') if value else None", + "transform": "re.sub(r'', '\\n', value, flags=re.IGNORECASE) if value else None", }, "blurb": {"source": "", "transform": None}, "rating": { From a0d427bc6c433b54c19c78968f940042f9a2498d Mon Sep 17 00:00:00 2001 From: codebude Date: Mon, 8 Jun 2026 11:48:00 +0200 Subject: [PATCH 2/2] Prolong retention time of import files --- backend/app/services/data_import.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/backend/app/services/data_import.py b/backend/app/services/data_import.py index b78b253..2516669 100644 --- a/backend/app/services/data_import.py +++ b/backend/app/services/data_import.py @@ -885,7 +885,7 @@ def get_predefined_mapping(mapping_id: int) -> dict[str, object] | None: return None -def cleanup_temp_files(max_age_hours: int = 24) -> None: +def cleanup_temp_files(max_age_hours: int = 48) -> None: """Delete temporary import files older than *max_age_hours*. Args: