| |
| import os |
| from werkzeug.utils import secure_filename |
| from datetime import datetime |
| from models import Photo, Like |
| from database import db |
|
|
| ALLOWED_EXTENSIONS = {'png', 'jpg', 'jpeg', 'gif', 'webp'} |
|
|
| def allowed_file(filename): |
| return '.' in filename and filename.rsplit('.', 1)[1].lower() in ALLOWED_EXTENSIONS |
|
|
| def save_photo(file, upload_folder): |
| if file and allowed_file(file.filename): |
| filename = secure_filename(file.filename) |
| timestamp = datetime.now().strftime('%Y%m%d_%H%M%S_') |
| filename = timestamp + filename |
| filepath = os.path.join(upload_folder, filename) |
| file.save(filepath) |
| return filename |
| return None |
|
|
| def get_trending_photos(limit=3): |
| |
| return Photo.query.order_by(Photo.likes_count.desc()).limit(limit).all() |