Spaces:
Runtime error
Runtime error
| """ | |
| Configurações centralizadas para o Docling Document Processor. | |
| Este módulo contém todas as constantes e configurações usadas | |
| em toda a aplicação. | |
| """ | |
| from pathlib import Path | |
| # ============================================================================= | |
| # LIMITES DE ARQUIVO | |
| # ============================================================================= | |
| MAX_FILE_SIZE_MB: int = 50 | |
| """Tamanho máximo de arquivo em megabytes.""" | |
| MAX_FILE_SIZE_BYTES: int = MAX_FILE_SIZE_MB * 1024 * 1024 | |
| """Tamanho máximo de arquivo em bytes (calculado).""" | |
| MAX_FILES_PER_SESSION: int = 5 | |
| """Número máximo de arquivos por upload.""" | |
| # ============================================================================= | |
| # PROCESSAMENTO | |
| # ============================================================================= | |
| PROCESSING_TIMEOUT_SECONDS: int = 300 | |
| """Timeout para processamento de documentos (5 minutos).""" | |
| GPU_TIMEOUT_SECONDS: int = 120 # Limite máximo do ZeroGPU | |
| """Timeout para execução GPU via ZeroGPU.""" | |
| # ============================================================================= | |
| # TIPOS DE ARQUIVO SUPORTADOS | |
| # ============================================================================= | |
| SUPPORTED_EXTENSIONS: list[str] = [".pdf", ".doc", ".docx"] | |
| """Extensões de arquivo aceitas.""" | |
| SUPPORTED_MIME_TYPES: dict[str, list[str]] = { | |
| ".pdf": ["application/pdf"], | |
| ".doc": ["application/msword"], | |
| ".docx": [ | |
| "application/vnd.openxmlformats-officedocument.wordprocessingml.document" | |
| ], | |
| } | |
| """Mapeamento de extensões para MIME types válidos.""" | |
| # ============================================================================= | |
| # RATE LIMITING | |
| # ============================================================================= | |
| RATE_LIMIT_REQUESTS: int = 10 | |
| """Número máximo de requisições por janela de tempo.""" | |
| RATE_LIMIT_WINDOW_HOURS: int = 1 | |
| """Janela de tempo para rate limiting em horas.""" | |
| # ============================================================================= | |
| # DIRETÓRIOS | |
| # ============================================================================= | |
| BASE_DIR: Path = Path(__file__).parent | |
| """Diretório base da aplicação.""" | |
| TEMP_DIR: Path = BASE_DIR / "temp" | |
| """Diretório para arquivos temporários.""" | |
| LOGS_DIR: Path = BASE_DIR / "logs" | |
| """Diretório para arquivos de log.""" | |
| TEMP_DIR_CLEANUP_HOURS: int = 1 | |
| """Tempo máximo de retenção de arquivos temporários em horas.""" | |
| # ============================================================================= | |
| # FORMATOS DE SAÍDA | |
| # ============================================================================= | |
| OUTPUT_FORMATS: list[str] = ["JSON", "Markdown", "Ambos"] | |
| """Formatos de saída disponíveis.""" | |
| # ============================================================================= | |
| # LOGGING | |
| # ============================================================================= | |
| LOG_FILE: str = "docling_space.log" | |
| """Nome do arquivo de log.""" | |
| LOG_MAX_BYTES: int = 10 * 1024 * 1024 # 10MB | |
| """Tamanho máximo do arquivo de log antes de rotacionar.""" | |
| LOG_BACKUP_COUNT: int = 5 | |
| """Número de arquivos de backup de log a manter.""" | |
| LOG_FORMAT: str = "[%(asctime)s] [%(levelname)s] [%(module)s] %(message)s" | |
| """Formato das mensagens de log.""" | |
| LOG_DATE_FORMAT: str = "%Y-%m-%d %H:%M:%S" | |
| """Formato de data para logs.""" | |
| # ============================================================================= | |
| # CARACTERES PROIBIDOS EM NOMES DE ARQUIVO | |
| # ============================================================================= | |
| FORBIDDEN_FILENAME_CHARS: str = r'<>:"/\|?*' | |
| """Caracteres que devem ser removidos de nomes de arquivo.""" | |
| FILENAME_MAX_LENGTH: int = 255 | |
| """Comprimento máximo de nome de arquivo.""" | |