From de27485c98720cb93aae3e015e88a0b889a3b9a6 Mon Sep 17 00:00:00 2001 From: Gustavo Henrique Santos Souza de Miranda Date: Mon, 21 Jul 2025 00:13:26 -0300 Subject: [PATCH 1/2] Add unidecode dependency on pyproject.toml --- pyproject.toml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index e6b6187..124a6f3 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -20,7 +20,8 @@ dependencies = [ "sqlalchemy", "textual", "tomli", - "tomli_w" + "tomli_w", + "unidecode" ] [project.urls] From 736c0f160ff67b40af5da792651750d12750a0e4 Mon Sep 17 00:00:00 2001 From: Gustavo Henrique Santos Souza de Miranda Date: Mon, 21 Jul 2025 00:14:17 -0300 Subject: [PATCH 2/2] fix the sanitization directory method to remove accents and diacritics --- src/pilgrim/service/travel_diary_service.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/pilgrim/service/travel_diary_service.py b/src/pilgrim/service/travel_diary_service.py index e1aa6e6..8932b8c 100644 --- a/src/pilgrim/service/travel_diary_service.py +++ b/src/pilgrim/service/travel_diary_service.py @@ -7,7 +7,7 @@ from pilgrim.utils import DirectoryManager from sqlalchemy.exc import IntegrityError from pilgrim.models.travel_diary import TravelDiary - +from unidecode import unidecode class TravelDiaryService: def __init__(self, session): @@ -20,8 +20,10 @@ class TravelDiaryService: - Replaces spaces with underscores - Ensures name is unique by adding a suffix if needed """ + transliterated_name = unidecode(name) + # Remove special characters and replace spaces - safe_name = re.sub(r'[^\w\s-]', '', name) + safe_name = re.sub(r'[^\w\s-]', '', transliterated_name) safe_name = safe_name.strip().replace(' ', '_').lower() # Ensure we have a valid name