This decorator validates the file extension and file size of an in memory file object.
Project description
File Validation Decorator
A decorator for validating file types and sizes. If the validation fails, an Exception will be raised and the code will stop before reaching the function you are decorating. A successful validation will execute the function being decorated - business as usual.
Example Of A Successful File Validation
Successful file validations allow the function that is being decorated to execute. The first parameter defined in your function needs to be the file object.
from file_validation_decorator.file_validation import file_validation
@file_validation(accepted_file_extensions=['txt'], accepted_mime_types=['text/plain'])
def hello(file):
print('Hello World!')
with open('test.txt', 'r') as file:
hello(file)
Example Of A File That Is Too Large In Size
The decorator is provided a file size of .000001 and will raise a FileSizeExceeded error.
from file_validation_decorator.file_validation import file_validation
@file_validation(accepted_file_extensions=['txt'], max_file_size=.000001)
def hello(file):
print('Hello World!')
with open('test.txt', 'r') as file:
hello(file)
Example Of A File Extension That Is Not Allowed
The example file being uploaded here is a .txt but a text file is not provided in the accepted file extensions list. This will raise a FileTypeNotAllowed error.
from file_validation_decorator.file_validation import file_validation
@file_validation(accepted_file_extensions=['jpeg'])
def hello(file):
print('Hello World!')
with open('test.txt', 'r') as file:
hello(file)
Exceptions
-
FileExtensionNotAllowed - Raised when the file's extension is not found in the list of accepted_file_extensions
-
FileTypeNotAllowed - Raised when the file's type is not found in the list of accepted_file_types
-
FileMimeTypeNotAllowed - Raised when the file's mime type is not found in the list of accepted_mime_types
-
FileSizeExceeded - Raised when the file's size is larger than the max_file_size
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for file_validation_decorator-0.0.6.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 57c5c293909d09d4e4c339bae5c1dd1aab40b30d00c280e829cd96003d2b6300 |
|
MD5 | d249a5df166c9cfe29bf791362526083 |
|
BLAKE2b-256 | e9a89e0945eeeb9eb2abc500dc1b6aec09d35d137854059ddf1c87fb9a3fb2a5 |
Hashes for file_validation_decorator-0.0.6-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3054bc13cd324da690a36e472a0e910e8093961f420e4272c99bc10f6b465314 |
|
MD5 | 0eba435816bc6004cfe0611458411cbe |
|
BLAKE2b-256 | 85731a93c5fda8ade7f0022602714e0cdf1d6c5142b1dfb523e968a2b7498a4f |