diff options
Diffstat (limited to 'app/blueprints/api/endpoints.py')
-rw-r--r-- | app/blueprints/api/endpoints.py | 20 |
1 files changed, 16 insertions, 4 deletions
diff --git a/app/blueprints/api/endpoints.py b/app/blueprints/api/endpoints.py index d5ef9d0..d9defb0 100644 --- a/app/blueprints/api/endpoints.py +++ b/app/blueprints/api/endpoints.py @@ -25,15 +25,27 @@ from app.models import * from app.utils import is_package_page from app.markdown import render_markdown from app.querybuilder import QueryBuilder +from sqlalchemy.orm import joinedload @bp.route("/api/packages/") def packages(): qb = QueryBuilder(request.args) - query = qb.buildPackageQuery() - ver = qb.getMinetestVersion() + query = qb.buildPackageQuery(db.session.query(Package, PackageRelease)) + + import sys + print(query, file=sys.stdout) + + pkgs = [result[0].getAsDictionaryShort(current_app.config["BASE_URL"], release=result[1]) \ + for result in query.all()] + + + # qb = QueryBuilder(request.args) + # query = qb.buildPackageQuery() + # ver = qb.getMinetestVersion() + + # pkgs = [result.getAsDictionaryShort(current_app.config["BASE_URL"], version=ver) \ + # for result in query.all()] - pkgs = [package.getAsDictionaryShort(current_app.config["BASE_URL"], version=ver) \ - for package in query.all()] return jsonify(pkgs) |