40 lines
1.1 KiB
Python
40 lines
1.1 KiB
Python
import os
|
|
import logging
|
|
from pathlib import Path
|
|
|
|
|
|
def allowed_file(filename, allowed_extensions):
|
|
"""Check if file extension is allowed."""
|
|
return '.' in filename and \
|
|
filename.rsplit('.', 1)[1].lower() in allowed_extensions
|
|
|
|
|
|
def setup_logging():
|
|
"""Setup simple logging configuration."""
|
|
# Create logs directory
|
|
log_dir = Path('logs')
|
|
log_dir.mkdir(exist_ok=True)
|
|
|
|
# Configure logging
|
|
logging.basicConfig(
|
|
level=logging.INFO,
|
|
format='%(asctime)s - %(name)s - %(levelname)s - %(message)s',
|
|
handlers=[
|
|
logging.FileHandler('logs/app.log'),
|
|
logging.StreamHandler()
|
|
]
|
|
)
|
|
|
|
# Set levels for noisy libraries
|
|
logging.getLogger('werkzeug').setLevel(logging.WARNING)
|
|
logging.getLogger('ultralytics').setLevel(logging.WARNING)
|
|
|
|
|
|
def validate_image_size(file_size, max_size):
|
|
"""Validate image file size."""
|
|
return file_size <= max_size
|
|
|
|
|
|
def get_file_extension(filename):
|
|
"""Get file extension from filename."""
|
|
return filename.rsplit('.', 1)[1].lower() if '.' in filename else '' |