| import logging | |
| from services.regex_pii_remover import RegexPIIRemover | |
| logger = logging.getLogger(__name__) | |
| class FileService: | |
| def __init__(self): | |
| """Initialize file service with PII remover""" | |
| self.pii_remover = RegexPIIRemover() | |
| logger.info("FileService initialized") | |
| def remove_pii(self, text: str) -> tuple[str, int]: | |
| """ | |
| Remove PII from text using regex patterns | |
| Args: | |
| text: Input text containing potential PII | |
| Returns: | |
| tuple: (cleaned_text, pii_count) | |
| """ | |
| try: | |
| logger.info(f"Starting PII removal (text length: {len(text)})") | |
| cleaned_text, pii_count = self.pii_remover.remove_pii(text) | |
| logger.info(f"PII removal complete: {pii_count} entities removed") | |
| return cleaned_text, pii_count | |
| except Exception as e: | |
| logger.error(f"Error during PII removal: {str(e)}") | |
| # Return original text if PII removal fails | |
| return text, 0 | |
| # Global instance | |
| file_service = FileService() |