Repository :
http://git.fedorahosted.org/cgit/copr.git
On branch : new
---------------------------------------------------------------
commit 1470b3ee49090f791bd6b6bbc01f1122784f7b2e
Author: Richard Marko <rmarko(a)fedoraproject.org>
Date: Mon Jan 20 17:19:25 2014 +0100
[frontend] 1054474 - drop Copr.build_count nonsense
Signed-off-by: Richard Marko <rmarko(a)fedoraproject.org>
---------------------------------------------------------------
.../versions/4837ad1d96ea_drop_copr_build_coun.py | 24 ++++++++++++++++++++
coprs_frontend/coprs/logic/builds_logic.py | 1 -
coprs_frontend/coprs/logic/coprs_logic.py | 5 ----
coprs_frontend/coprs/models.py | 8 +++++-
4 files changed, 30 insertions(+), 8 deletions(-)
diff --git a/coprs_frontend/alembic/versions/4837ad1d96ea_drop_copr_build_coun.py
b/coprs_frontend/alembic/versions/4837ad1d96ea_drop_copr_build_coun.py
new file mode 100644
index 0000000..80a402a
--- /dev/null
+++ b/coprs_frontend/alembic/versions/4837ad1d96ea_drop_copr_build_coun.py
@@ -0,0 +1,24 @@
+"""drop Copr.build_count
+
+Revision ID: 4837ad1d96ea
+Revises: 294405dfc7c0
+Create Date: 2014-01-20 17:05:20.917522
+
+"""
+
+# revision identifiers, used by Alembic.
+revision = '4837ad1d96ea'
+down_revision = '294405dfc7c0'
+
+from alembic import op
+import sqlalchemy as sa
+
+
+def upgrade():
+ """ Drop 'build_count' colum from copr table.
"""
+ op.drop_column('copr', 'build_count')
+
+
+def downgrade():
+ """ Add 'build_count' colum to copr table. """
+ op.add_column('copr', sa.Column('build_count',
sa.Integer(default=0)))
diff --git a/coprs_frontend/coprs/logic/builds_logic.py
b/coprs_frontend/coprs/logic/builds_logic.py
index 7721b30..9af4344 100644
--- a/coprs_frontend/coprs/logic/builds_logic.py
+++ b/coprs_frontend/coprs/logic/builds_logic.py
@@ -79,7 +79,6 @@ class BuildsLogic(object):
if not build.user:
build.user = user
- coprs_logic.CoprsLogic.increment_build_count(user, copr)
db.session.add(build)
# add BuildChroot object for each active chroot
diff --git a/coprs_frontend/coprs/logic/coprs_logic.py
b/coprs_frontend/coprs/logic/coprs_logic.py
index ee511fb..49b18f2 100644
--- a/coprs_frontend/coprs/logic/coprs_logic.py
+++ b/coprs_frontend/coprs/logic/coprs_logic.py
@@ -162,11 +162,6 @@ class CoprsLogic(object):
return existing
@classmethod
- def increment_build_count(cls, user, copr): # TODO API of this method is different,
maybe change?
- models.Copr.query.filter(models.Copr.id == copr.id).\
- update({models.Copr.build_count: models.Copr.build_count + 1})
-
- @classmethod
def unfinished_blocking_actions_for(cls, user, copr):
blocking_actions = [helpers.ActionTypeEnum('rename'),
helpers.ActionTypeEnum('delete')]
diff --git a/coprs_frontend/coprs/models.py b/coprs_frontend/coprs/models.py
index 527461b..2cdb0ed 100644
--- a/coprs_frontend/coprs/models.py
+++ b/coprs_frontend/coprs/models.py
@@ -148,8 +148,6 @@ class Copr(db.Model, Serializer):
# description and instructions given by copr owner
description = db.Column(db.Text)
instructions = db.Column(db.Text)
- # duplicate information, but speeds up a lot and makes queries simpler
- build_count = db.Column(db.Integer, default = 0)
deleted = db.Column(db.Boolean, default=False)
# relations
@@ -183,6 +181,12 @@ class Copr(db.Model, Serializer):
"""Returns list of active mock_chroots of this
copr"""
return filter(lambda x: x.is_active, self.mock_chroots)
+ @property
+ def build_count(self):
+ """ Return number of builds in this copr """
+
+ return len(self.builds)
+
def check_copr_chroot(self, chroot):
"""Return object of chroot, if is related to our copr or
None"""
result = None