[copr] master: Have the mock chroots properly sorted in copr overview (01a84ac)

bkabrda at fedoraproject.org bkabrda at fedoraproject.org
Thu Jan 31 12:06:32 UTC 2013


Repository : http://git.fedorahosted.org/cgit/copr.git

On branch  : master

>---------------------------------------------------------------

commit 01a84acf3f8ee8972ff431a8a78cf96070ef27ed
Author: Bohuslav Kabrda <bkabrda at redhat.com>
Date:   Thu Jan 31 13:05:08 2013 +0100

    Have the mock chroots properly sorted in copr overview


>---------------------------------------------------------------

 coprs_frontend/coprs/logic/coprs_logic.py          |    4 ++++
 .../coprs/views/coprs_ns/coprs_general.py          |    9 ++++++---
 2 files changed, 10 insertions(+), 3 deletions(-)

diff --git a/coprs_frontend/coprs/logic/coprs_logic.py b/coprs_frontend/coprs/logic/coprs_logic.py
index f8a6f24..1fd32e8 100644
--- a/coprs_frontend/coprs/logic/coprs_logic.py
+++ b/coprs_frontend/coprs/logic/coprs_logic.py
@@ -10,6 +10,7 @@ class CoprsLogic(object):
     @classmethod
     def get(cls, user, username, coprname, **kwargs):
         with_builds = kwargs.get('with_builds', False)
+        with_mock_chroots = kwargs.get('with_mock_chroots', False)
 
         query = db.session.query(models.Copr).\
                            join(models.Copr.owner).\
@@ -21,6 +22,9 @@ class CoprsLogic(object):
             query = query.outerjoin(models.Copr.builds).\
                           options(db.contains_eager(models.Copr.builds)).\
                           order_by(models.Build.submitted_on.desc())
+        if with_mock_chroots:
+            query = query.outerjoin(*models.Copr.mock_chroots.attr).\
+                          options(db.contains_eager(*models.Copr.mock_chroots.attr))
 
         return query
 
diff --git a/coprs_frontend/coprs/views/coprs_ns/coprs_general.py b/coprs_frontend/coprs/views/coprs_ns/coprs_general.py
index 79467dd..2f32925 100644
--- a/coprs_frontend/coprs/views/coprs_ns/coprs_general.py
+++ b/coprs_frontend/coprs/views/coprs_ns/coprs_general.py
@@ -1,6 +1,7 @@
 import time
 
 import flask
+import sqlalchemy
 
 from coprs import db
 from coprs import exceptions
@@ -90,9 +91,11 @@ def copr_new():
 
 @coprs_ns.route('/detail/<username>/<coprname>/')
 def copr_detail(username, coprname):
-    query = coprs_logic.CoprsLogic.get(flask.g.user, username, coprname)
-    copr = query.first()
-    if not copr:
+    query = coprs_logic.CoprsLogic.get(flask.g.user, username, coprname, with_mock_chroots=True)
+    try:
+        print dir(db)
+        copr = query.one()
+    except sqlalchemy.orm.exc.NoResultFound:
         return page_not_found('Copr with name {0} does not exist.'.format(coprname))
 
     return flask.render_template('coprs/detail/overview.html',



More information about the copr-devel mailing list