import os from flask import current_app from sqlalchemy import desc from applications.common.utils.upload import photos from applications.extensions import db from applications.models import Photo from applications.schemas import PhotoSchema from applications.common.curd import model_to_dicts def get_photo(page, limit): photo = Photo.query.order_by(desc(Photo.create_time)).paginate(page=page, per_page=limit, error_out=False) count = Photo.query.count() data = model_to_dicts(Schema=PhotoSchema, model=photo.items) return data, count def upload_one(photo, mime): filename = photos.save(photo) file_url = photos.url(filename) upload_url = current_app.config.get("UPLOADED_PHOTOS_DEST") size = os.path.getsize(upload_url + '/' + filename) photo = Photo(name=filename, href=file_url, mime=mime, size=size) db.session.add(photo) db.session.commit() return file_url def delete_photo_by_id(_id): photo_name = Photo.query.filter_by(id=_id).first().name photo = Photo.query.filter_by(id=_id).delete() db.session.commit() upload_url = current_app.config.get("UPLOADED_PHOTOS_DEST") os.remove(upload_url + '/' + photo_name) return photo