Download src/services/file_service.py from Distopia22/icd-cpt-coding-api-backend: direct link, hf CLI and curl.
- Browser
- Download file 1.15 kB
-
https://huggingface.co/spaces/Distopia22/icd-cpt-coding-api-backend/resolve/main/src/services/file_service.py
- Command line
-
hf download hf://spaces/Distopia22/icd-cpt-coding-api-backend/src/services/file_service.py
-
curl -L -o file_service.py https://huggingface.co/spaces/Distopia22/icd-cpt-coding-api-backend/resolve/main/src/services/file_service.py
1.15 kB
| 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() |