Comenzando a utilizar SQLAlchemy

Tuve que reescribir bastante para lograrlo, pero ya funciona :3
This commit is contained in:
Daniel Cortes
2019-03-11 20:59:55 -03:00
parent db7e0a4901
commit cb89bf932d
15 changed files with 311 additions and 320 deletions

View File

@@ -1,48 +1,15 @@
from flask import Flask, Blueprint, flash, request, redirect, url_for, current_app, render_template, jsonify
from werkzeug.exceptions import abort
from files.db import get_db
from flask import Flask, Blueprint, flash, request, redirect, url_for, current_app, render_template, jsonify
from files.auth import admin_required
from files.files import get_files_by_category
from files.models import Category, db
bp = Blueprint('categories', __name__, url_prefix='/categories')
def get_categories():
db = get_db()
categories = db.execute(
'SELECT id, name'
' FROM categories'
' ORDER BY name DESC'
).fetchall()
return categories
def get_category(id):
db = get_db()
category = db.execute(
'SELECT id, name'
' FROM categories'
' WHERE id = ?'
' LIMIT 1',
(id,)
).fetchone()
return category
def get_files_by_category(id):
db = get_db()
files = db.execute(
'SELECT id, filename, private'
' FROM files'
' WHERE category = ?'
' ORDER BY filename DESC',
(id,)
).fetchall()
return files
@bp.route('/')
def index():
categories = get_categories()
return render_template('categories/index.html', categories=categories)
categories = Category.query.all()
return render_template('categories/index.html', categories=categories)
@bp.route('/create', methods=['GET', 'POST'])
@admin_required
@@ -57,21 +24,18 @@ def create():
if error is not None:
flash(error)
else:
db = get_db()
db.execute(
'INSERT INTO categories (name)'
' VALUES (?)',
(name,)
)
db.commit()
c = Category(name)
db.session.add(c)
db.session.commit()
return redirect(url_for('categories.index'))
return render_template('categories/create.html')
@bp.route('<int:id>')
def view(id):
category = get_category(id)
files = get_files_by_category(id)
category = Category.query.get(id)
files = category.files
return render_template('categories/view.html', category=category, files=files)
@@ -80,9 +44,8 @@ def view(id):
def update():
pass
@bp.route('/<int:id>/delete')
@admin_required
def delete():
pass