Add model auto-download and English logging
This commit is contained in:
@@ -51,11 +51,11 @@ class FileValidator:
|
||||
if not any(filename.lower().endswith(ext.lower()) for ext in self.allowed_extensions):
|
||||
# Логирование попытки загрузки файла с неразрешенным расширением
|
||||
file_extension = os.path.splitext(filename)[1]
|
||||
logger.warning("Попытка загрузки файла с неразрешенным расширением '%s'. "
|
||||
"Имя файла: %s. Разрешенные расширения: %s", file_extension, filename, ", ".join(self.allowed_extensions))
|
||||
logger.warning("Attempt to upload a file with disallowed extension '%s'. "
|
||||
"Filename: %s. Allowed extensions: %s", file_extension, filename, ", ".join(self.allowed_extensions))
|
||||
|
||||
raise ValidationError(f"Расширение файла не разрешено. "
|
||||
f"Разрешенные расширения: {', '.join(self.allowed_extensions)}")
|
||||
raise ValidationError(f"File extension is not allowed. "
|
||||
f"Allowed extensions: {', '.join(self.allowed_extensions)}")
|
||||
|
||||
def validate_file_by_path(self, file_path: str, filename: str) -> bool:
|
||||
"""
|
||||
@@ -78,18 +78,18 @@ class FileValidator:
|
||||
file_size = os.path.getsize(file_path)
|
||||
max_size_bytes = self.max_file_size_mb * 1024 * 1024
|
||||
if file_size > max_size_bytes:
|
||||
raise ValidationError(f"Размер файла ({file_size / (1024*1024):.2f} МБ) "
|
||||
f"превышает максимально допустимый ({self.max_file_size_mb} МБ)")
|
||||
raise ValidationError(f"File size ({file_size / (1024*1024):.2f} MB) "
|
||||
f"exceeds the maximum allowed size ({self.max_file_size_mb} MB)")
|
||||
|
||||
# Проверка MIME-типа
|
||||
try:
|
||||
mime_type = magic.from_file(file_path, mime=True)
|
||||
if mime_type not in self.allowed_mime_types:
|
||||
raise ValidationError(f"MIME-тип файла ({mime_type}) не разрешен. "
|
||||
f"Разрешенные MIME-типы: {', '.join(self.allowed_mime_types)}")
|
||||
raise ValidationError(f"File MIME type ({mime_type}) is not allowed. "
|
||||
f"Allowed MIME types: {', '.join(self.allowed_mime_types)}")
|
||||
except ValidationError:
|
||||
raise
|
||||
except Exception as e:
|
||||
logger.warning("Не удалось определить MIME-тип файла: %s", e)
|
||||
logger.warning("Failed to determine file MIME type: %s", e)
|
||||
|
||||
return True
|
||||
|
||||
Reference in New Issue
Block a user