safeuploads 0.1.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,92 @@
1
+ """
2
+ File Security Module
3
+
4
+ A comprehensive file security system for validating uploads and preventing attacks.
5
+ """
6
+
7
+ # Core classes and configurations
8
+ from .config import SecurityLimits, FileSecurityConfig
9
+ from .exceptions import (
10
+ ConfigValidationError,
11
+ FileSecurityConfigurationError,
12
+ ErrorCode,
13
+ FileSecurityError,
14
+ FileValidationError,
15
+ FilenameSecurityError,
16
+ UnicodeSecurityError,
17
+ ExtensionSecurityError,
18
+ WindowsReservedNameError,
19
+ FileSizeError,
20
+ MimeTypeError,
21
+ FileSignatureError,
22
+ CompressionSecurityError,
23
+ ZipBombError,
24
+ ZipContentError,
25
+ FileProcessingError,
26
+ )
27
+ from .enums import (
28
+ DangerousExtensionCategory,
29
+ CompoundExtensionCategory,
30
+ UnicodeAttackCategory,
31
+ SuspiciousFilePattern,
32
+ ZipThreatCategory,
33
+ )
34
+
35
+ # Main validator
36
+ from .file_validator import FileValidator
37
+
38
+ # Specialized validators
39
+ from .validators import (
40
+ BaseValidator,
41
+ UnicodeSecurityValidator,
42
+ ExtensionSecurityValidator,
43
+ WindowsSecurityValidator,
44
+ CompressionSecurityValidator,
45
+ )
46
+
47
+ # Inspectors
48
+ from .inspectors import ZipContentInspector
49
+
50
+ # Perform configuration validation when module is imported
51
+ # This ensures configuration issues are caught early during application startup
52
+ FileSecurityConfig.validate_and_report(strict=False)
53
+
54
+ # Export all public APIs
55
+ __all__ = [
56
+ # Core configuration
57
+ "SecurityLimits",
58
+ "FileSecurityConfig",
59
+ # Exceptions
60
+ "ConfigValidationError",
61
+ "FileSecurityConfigurationError",
62
+ "ErrorCode",
63
+ "FileSecurityError",
64
+ "FileValidationError",
65
+ "FilenameSecurityError",
66
+ "UnicodeSecurityError",
67
+ "ExtensionSecurityError",
68
+ "WindowsReservedNameError",
69
+ "FileSizeError",
70
+ "MimeTypeError",
71
+ "FileSignatureError",
72
+ "CompressionSecurityError",
73
+ "ZipBombError",
74
+ "ZipContentError",
75
+ "FileProcessingError",
76
+ # Enums
77
+ "DangerousExtensionCategory",
78
+ "CompoundExtensionCategory",
79
+ "UnicodeAttackCategory",
80
+ "SuspiciousFilePattern",
81
+ "ZipThreatCategory",
82
+ # Main validator
83
+ "FileValidator",
84
+ # Specialized validators
85
+ "BaseValidator",
86
+ "UnicodeSecurityValidator",
87
+ "ExtensionSecurityValidator",
88
+ "WindowsSecurityValidator",
89
+ "CompressionSecurityValidator",
90
+ # Inspectors
91
+ "ZipContentInspector",
92
+ ]