aboutsummaryrefslogtreecommitdiff
path: root/app/blueprints/api/endpoints.py
diff options
context:
space:
mode:
authorrubenwardy <rw@rubenwardy.com>2020-06-06 18:37:21 +0100
committerrubenwardy <rw@rubenwardy.com>2020-06-06 18:37:21 +0100
commite3c8057334bd585092a3eee0e57a52de151eec9b (patch)
treef4927983a7fe7d8cfe848de5717eaaebc71441f0 /app/blueprints/api/endpoints.py
parent2cfb59d0428b3b22b540bd5e7bfc156bbd4f9f75 (diff)
downloadcheatdb-optimise_packages_query.tar.xz
WIP: Optimise packages queryoptimise_packages_query
Diffstat (limited to 'app/blueprints/api/endpoints.py')
-rw-r--r--app/blueprints/api/endpoints.py20
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)