Sign In
Sign Up
Sign In
Sign Up
Manage this list
×
Keyboard Shortcuts
Thread View
j
: Next unread message
k
: Previous unread message
j a
: Jump to all threads
j l
: Jump to MailingList overview
2024
June
May
April
March
February
January
2023
December
November
October
September
August
July
June
May
April
March
February
January
2022
December
November
October
September
August
July
June
May
April
March
February
January
2021
December
November
October
September
August
July
June
May
April
March
February
January
2020
December
November
October
September
August
July
June
May
April
March
February
January
2019
December
November
October
September
August
July
June
May
April
March
February
January
2018
December
November
October
September
August
July
June
May
April
March
February
January
2017
December
November
October
September
August
July
June
May
April
March
February
January
2016
December
November
October
September
August
July
June
May
April
March
February
January
2015
December
November
October
September
August
July
June
May
April
March
February
January
2014
December
November
October
September
August
July
June
May
April
March
February
January
2013
December
November
October
September
August
July
June
May
April
March
February
January
2012
December
November
October
September
August
July
June
May
April
March
February
January
2011
December
November
October
September
August
July
June
May
April
March
February
January
2010
December
November
October
September
August
July
June
May
April
List overview
Download
copr-devel
January 2013
----- 2024 -----
June 2024
May 2024
April 2024
March 2024
February 2024
January 2024
----- 2023 -----
December 2023
November 2023
October 2023
September 2023
August 2023
July 2023
June 2023
May 2023
April 2023
March 2023
February 2023
January 2023
----- 2022 -----
December 2022
November 2022
October 2022
September 2022
August 2022
July 2022
June 2022
May 2022
April 2022
March 2022
February 2022
January 2022
----- 2021 -----
December 2021
November 2021
October 2021
September 2021
August 2021
July 2021
June 2021
May 2021
April 2021
March 2021
February 2021
January 2021
----- 2020 -----
December 2020
November 2020
October 2020
September 2020
August 2020
July 2020
June 2020
May 2020
April 2020
March 2020
February 2020
January 2020
----- 2019 -----
December 2019
November 2019
October 2019
September 2019
August 2019
July 2019
June 2019
May 2019
April 2019
March 2019
February 2019
January 2019
----- 2018 -----
December 2018
November 2018
October 2018
September 2018
August 2018
July 2018
June 2018
May 2018
April 2018
March 2018
February 2018
January 2018
----- 2017 -----
December 2017
November 2017
October 2017
September 2017
August 2017
July 2017
June 2017
May 2017
April 2017
March 2017
February 2017
January 2017
----- 2016 -----
December 2016
November 2016
October 2016
September 2016
August 2016
July 2016
June 2016
May 2016
April 2016
March 2016
February 2016
January 2016
----- 2015 -----
December 2015
November 2015
October 2015
September 2015
August 2015
July 2015
June 2015
May 2015
April 2015
March 2015
February 2015
January 2015
----- 2014 -----
December 2014
November 2014
October 2014
September 2014
August 2014
July 2014
June 2014
May 2014
April 2014
March 2014
February 2014
January 2014
----- 2013 -----
December 2013
November 2013
October 2013
September 2013
August 2013
July 2013
June 2013
May 2013
April 2013
March 2013
February 2013
January 2013
----- 2012 -----
December 2012
November 2012
October 2012
September 2012
August 2012
July 2012
June 2012
May 2012
April 2012
March 2012
February 2012
January 2012
----- 2011 -----
December 2011
November 2011
October 2011
September 2011
August 2011
July 2011
June 2011
May 2011
April 2011
March 2011
February 2011
January 2011
----- 2010 -----
December 2010
November 2010
October 2010
September 2010
August 2010
July 2010
June 2010
May 2010
April 2010
copr-devel@lists.fedorahosted.org
10 participants
206 discussions
Start a n
N
ew thread
[copr] master: Prevent displaying bunch of copr chroots in listing, this would get too long (d9126e7)
by bkabrda@fedoraproject.org
15 Jan '13
15 Jan '13
Repository :
http://git.fedorahosted.org/cgit/copr.git
On branch : master >--------------------------------------------------------------- commit d9126e74f75666c3d8afa19610665fd6e6ed83fb Author: Bohuslav Kabrda <bkabrda(a)redhat.com> Date: Mon Jan 14 14:05:20 2013 +0100 Prevent displaying bunch of copr chroots in listing, this would get too long >--------------------------------------------------------------- coprs_frontend/coprs/templates/coprs/show.html | 1 - 1 files changed, 0 insertions(+), 1 deletions(-) diff --git a/coprs_frontend/coprs/templates/coprs/show.html b/coprs_frontend/coprs/templates/coprs/show.html index 1bbec24..c0524f3 100644 --- a/coprs_frontend/coprs/templates/coprs/show.html +++ b/coprs_frontend/coprs/templates/coprs/show.html @@ -7,7 +7,6 @@ {% for copr in coprs %} <div class=copr> <h2><a href="{{ url_for('coprs_ns.copr_detail', username = copr.owner.name, coprname = copr.name) }}">{{ copr.owner.name }}/{{ copr.name }}</a></h2> - chroots: {{ copr.chroots_list|join(', ') }}<br> builds: {{ copr.build_count }}<br> {% if copr.repos %} repos: {{ copr.repos_list|length }}
1
0
0
0
[copr] master: Fix the backref name to copr_chroots (00c5b4e)
by bkabrda@fedoraproject.org
15 Jan '13
15 Jan '13
Repository :
http://git.fedorahosted.org/cgit/copr.git
On branch : master >--------------------------------------------------------------- commit 00c5b4e247f920782ab3186f3064dcef146bb545 Author: Bohuslav Kabrda <bkabrda(a)redhat.com> Date: Mon Jan 14 14:04:32 2013 +0100 Fix the backref name to copr_chroots >--------------------------------------------------------------- coprs_frontend/coprs/models.py | 6 +----- 1 files changed, 1 insertions(+), 5 deletions(-) diff --git a/coprs_frontend/coprs/models.py b/coprs_frontend/coprs/models.py index 746a410..e36a543 100644 --- a/coprs_frontend/coprs/models.py +++ b/coprs_frontend/coprs/models.py @@ -115,10 +115,6 @@ class Copr(db.Model, Serializer): def repos_list(self): return self.repos.split(' ') - @property - def chroots_list(self): - return None #TODO - __mapper_args__ = {'order_by': id.desc()} class CoprPermission(db.Model, Serializer): @@ -192,4 +188,4 @@ class CoprChroot(db.Model, Serializer): mock_chroot_id = db.Column(db.Integer, db.ForeignKey('mock_chroot.id'), primary_key = True) mock_chroot = db.relationship('MockChroot', backref = db.backref('coprs')) copr_id = db.Column(db.Integer, db.ForeignKey('copr.id'), primary_key = True) - copr = db.relationship('Copr', backref = db.backref('mock_chroots')) + copr = db.relationship('Copr', backref = db.backref('copr_chroots'))
1
0
0
0
[copr] master: Drop the chroots column from copr table (6cd4e17)
by bkabrda@fedoraproject.org
15 Jan '13
15 Jan '13
Repository :
http://git.fedorahosted.org/cgit/copr.git
On branch : master >--------------------------------------------------------------- commit 6cd4e17ac9c873914491025268eb2896ba43400d Author: Bohuslav Kabrda <bkabrda(a)redhat.com> Date: Mon Jan 14 13:33:34 2013 +0100 Drop the chroots column from copr table >--------------------------------------------------------------- .../versions/2fa80e062525_add_mock_chroots.py | 17 +++++++++++++++++ coprs_frontend/coprs/models.py | 13 +------------ 2 files changed, 18 insertions(+), 12 deletions(-) diff --git a/coprs_frontend/alembic/versions/2fa80e062525_add_mock_chroots.py b/coprs_frontend/alembic/versions/2fa80e062525_add_mock_chroots.py index a6e3780..7d77a35 100644 --- a/coprs_frontend/alembic/versions/2fa80e062525_add_mock_chroots.py +++ b/coprs_frontend/alembic/versions/2fa80e062525_add_mock_chroots.py @@ -31,11 +31,28 @@ def upgrade(): sa.ForeignKeyConstraint(['mock_chroot_id'], ['mock_chroot.id'], ), sa.PrimaryKeyConstraint('mock_chroot_id', 'copr_id') ) + if op.get_bind().dialect.name == 'sqlite': + op.rename_table('copr', 'copr_1') + op.create_table('copr', + sa.Column('id', sa.Integer(), nullable=False), + sa.Column('name', sa.String(length=100), nullable=False), + sa.Column('repos', sa.Text(), nullable=True), + sa.Column('created_on', sa.Integer(), nullable=True), + sa.Column('build_count', sa.Integer(), nullable=True), + sa.Column('owner_id', sa.Integer(), nullable=True), + sa.ForeignKeyConstraint(['owner_id'], ['user.id'], ), + sa.PrimaryKeyConstraint('id') + ) + op.execute('INSERT INTO copr SELECT id,name,repos,created_on,build_count,owner_id FROM copr_1') + op.drop_table('copr_1') + else: + op.drop_column('copr', u'chroots') ### end Alembic commands ### def downgrade(): ### commands auto generated by Alembic - please adjust! ### + op.add_column('copr', sa.Column(u'chroots', sa.TEXT(), nullable=False)) op.drop_table('copr_chroot') op.drop_table('mock_chroot') ### end Alembic commands ### diff --git a/coprs_frontend/coprs/models.py b/coprs_frontend/coprs/models.py index 120cf15..746a410 100644 --- a/coprs_frontend/coprs/models.py +++ b/coprs_frontend/coprs/models.py @@ -102,7 +102,6 @@ class User(db.Model, Serializer): class Copr(db.Model, Serializer): id = db.Column(db.Integer, primary_key = True) name = db.Column(db.String(100), nullable = False) - chroots = db.Column(db.Text, nullable = False) repos = db.Column(db.Text) created_on = db.Column(db.Integer) # duplicate information, but speeds up a lot and makes queries simpler @@ -118,17 +117,7 @@ class Copr(db.Model, Serializer): @property def chroots_list(self): - return self.chroots.split(' ') - - # These two properties help the wtform while getting data from a copr object - @property - def release(self): - return '-'.join(self.chroots_list[0].split('-')[0:-1]) - - @property - def arches(self): - x = [chroot.split('-')[-1] for chroot in self.chroots_list] - return x + return None #TODO __mapper_args__ = {'order_by': id.desc()}
1
0
0
0
[copr] master: Refactor getting mock chroots by its attributest (83a2c9c)
by bkabrda@fedoraproject.org
15 Jan '13
15 Jan '13
Repository :
http://git.fedorahosted.org/cgit/copr.git
On branch : master >--------------------------------------------------------------- commit 83a2c9ca4028ad4e23029dad81aae77e262c55c0 Author: Bohuslav Kabrda <bkabrda(a)redhat.com> Date: Mon Jan 14 11:45:13 2013 +0100 Refactor getting mock chroots by its attributest >--------------------------------------------------------------- coprs_frontend/coprs/models.py | 6 ++++++ coprs_frontend/manage.py | 12 ++++++------ 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/coprs_frontend/coprs/models.py b/coprs_frontend/coprs/models.py index f3f1ca0..120cf15 100644 --- a/coprs_frontend/coprs/models.py +++ b/coprs_frontend/coprs/models.py @@ -193,6 +193,12 @@ class MockChroot(db.Model, Serializer): def chroot_name(self): return '{0}-{1}-{2}'.format(self.os_release, self.os_version, self.arch) + @classmethod + def get(cls, os_release, os_version, arch, active_only = False): + return cls.query.filter(cls.os_release==os_release, + cls.os_version==os_version, + cls.arch==arch).first() + class CoprChroot(db.Model, Serializer): mock_chroot_id = db.Column(db.Integer, db.ForeignKey('mock_chroot.id'), primary_key = True) mock_chroot = db.relationship('MockChroot', backref = db.backref('coprs')) diff --git a/coprs_frontend/manage.py b/coprs_frontend/manage.py index 322cd61..e2461d8 100755 --- a/coprs_frontend/manage.py +++ b/coprs_frontend/manage.py @@ -54,6 +54,10 @@ class CreateChrootCommand(ChrootCommand): split_chroot = chroot_name.split('-') if len(split_chroot) < 3: print 'Invalid chroot format, must be "{release}-{version}-{arch}".' + return + if models.MockChroot.get(*split_chroot): + print 'Already exists.' + return new_chroot = models.MockChroot(os_release=split_chroot[0], os_version=split_chroot[1], arch=split_chroot[2], @@ -67,9 +71,7 @@ class AlterChrootCommand(ChrootCommand): split_chroot = chroot_name.split('-') if len(split_chroot) < 3: print 'Invalid chroot format, must be "{release}-{version}-{arch}".' - chroot = models.MockChroot.query.filter(models.MockChroot.os_release==split_chroot[0], - models.MockChroot.os_version==split_chroot[1], - models.MockChroot.arch==split_chroot[2]).first() + chroot = models.MockChroot.get(*split_chroot) if action == 'activate': chroot.is_active = True else: @@ -93,9 +95,7 @@ class DropChrootCommand(ChrootCommand): split_chroot = chroot_name.split('-') if len(split_chroot) < 3: print 'Invalid chroot format, must be "{release}-{version}-{arch}".' - chroot = models.MockChroot.query.filter(models.MockChroot.os_release==split_chroot[0], - models.MockChroot.os_version==split_chroot[1], - models.MockChroot.arch==split_chroot[2]).first() + chroot = models.MockChroot.get(*split_chroot) if chroot: db.session.delete(chroot) db.session.commit()
1
0
0
0
[copr] master: Use the formatting metod for printing chroots (68c1d20)
by bkabrda@fedoraproject.org
15 Jan '13
15 Jan '13
Repository :
http://git.fedorahosted.org/cgit/copr.git
On branch : master >--------------------------------------------------------------- commit 68c1d2052944123b144abc5ffa2deec70fa28d76 Author: Bohuslav Kabrda <bkabrda(a)redhat.com> Date: Mon Jan 14 10:50:53 2013 +0100 Use the formatting metod for printing chroots >--------------------------------------------------------------- coprs_frontend/manage.py | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/coprs_frontend/manage.py b/coprs_frontend/manage.py index 7c9cddf..322cd61 100755 --- a/coprs_frontend/manage.py +++ b/coprs_frontend/manage.py @@ -107,7 +107,7 @@ class DisplayChrootsCommand(Command): if active_only: chroots = chroots.filter(models.MockChroot.is_active==True) for ch in chroots: - print '{0}-{1}-{2}'.format(ch.os_release, ch.os_version, ch.arch) + print ch.chroot_name option_list = ( Option('--active-only',
1
0
0
0
[copr] master: Remove the leftover comment (ccc481e)
by bkabrda@fedoraproject.org
15 Jan '13
15 Jan '13
Repository :
http://git.fedorahosted.org/cgit/copr.git
On branch : master >--------------------------------------------------------------- commit ccc481ef80a79fda3c140bae0064b00bd3780a01 Author: Bohuslav Kabrda <bkabrda(a)redhat.com> Date: Mon Jan 14 10:43:57 2013 +0100 Remove the leftover comment >--------------------------------------------------------------- coprs_frontend/coprs/models.py | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/coprs_frontend/coprs/models.py b/coprs_frontend/coprs/models.py index 1383aeb..f3f1ca0 100644 --- a/coprs_frontend/coprs/models.py +++ b/coprs_frontend/coprs/models.py @@ -187,7 +187,7 @@ class MockChroot(db.Model, Serializer): os_release = db.Column(db.String(50), nullable = False) # fedora/epel/... os_version = db.Column(db.String(50), nullable = False) # 18/rawhide/... arch = db.Column(db.String(50), nullable = False) # x86_64/i686/... - is_active = db.Column(db.Boolean, default = True) # x86_64/i686/... + is_active = db.Column(db.Boolean, default = True) @property def chroot_name(self):
1
0
0
0
[copr] master: Basic mock chroot commands for manage.py (30b3980)
by bkabrda@fedoraproject.org
15 Jan '13
15 Jan '13
Repository :
http://git.fedorahosted.org/cgit/copr.git
On branch : master >--------------------------------------------------------------- commit 30b3980485418b73b355d45f75a1d47c2dd3a6aa Author: Bohuslav Kabrda <bkabrda(a)redhat.com> Date: Mon Jan 14 10:35:39 2013 +0100 Basic mock chroot commands for manage.py >--------------------------------------------------------------- coprs_frontend/manage.py | 83 +++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 82 insertions(+), 1 deletions(-) diff --git a/coprs_frontend/manage.py b/coprs_frontend/manage.py index cd53522..7c9cddf 100755 --- a/coprs_frontend/manage.py +++ b/coprs_frontend/manage.py @@ -5,7 +5,7 @@ import os import flask from flask.ext.script import Manager, Command, Option -from coprs import app, db +from coprs import app, db, models class CreateSqliteFileCommand(Command): 'Create the sqlite DB file (not the tables). Used for alembic, "create_db" does this automatically.' @@ -42,10 +42,91 @@ class DropDBCommand(Command): def run(self): db.drop_all() +class ChrootCommand(Command): + option_list = ( + Option('chroot_name', + help='Chroot name, e.g. fedora-18-x86_64.'), + ) + +class CreateChrootCommand(ChrootCommand): + 'Creates a mock chroot in DB' + def run(self, chroot_name): + split_chroot = chroot_name.split('-') + if len(split_chroot) < 3: + print 'Invalid chroot format, must be "{release}-{version}-{arch}".' + new_chroot = models.MockChroot(os_release=split_chroot[0], + os_version=split_chroot[1], + arch=split_chroot[2], + is_active=True) + db.session.add(new_chroot) + db.session.commit() + +class AlterChrootCommand(ChrootCommand): + 'Activates or deactivates a chroot' + def run(self, chroot_name, action): + split_chroot = chroot_name.split('-') + if len(split_chroot) < 3: + print 'Invalid chroot format, must be "{release}-{version}-{arch}".' + chroot = models.MockChroot.query.filter(models.MockChroot.os_release==split_chroot[0], + models.MockChroot.os_version==split_chroot[1], + models.MockChroot.arch==split_chroot[2]).first() + if action == 'activate': + chroot.is_active = True + else: + chroot.is_active = False + + db.session.add(chroot) + db.session.commit() + + option_list = ChrootCommand.option_list + ( + Option('--action', + '-a', + dest='action', + help='Action to take - currently activate or deactivate', + choices=['activate', 'deactivate'], + required=True), + ) + +class DropChrootCommand(ChrootCommand): + 'Activates or deactivates a chroot' + def run(self, chroot_name): + split_chroot = chroot_name.split('-') + if len(split_chroot) < 3: + print 'Invalid chroot format, must be "{release}-{version}-{arch}".' + chroot = models.MockChroot.query.filter(models.MockChroot.os_release==split_chroot[0], + models.MockChroot.os_version==split_chroot[1], + models.MockChroot.arch==split_chroot[2]).first() + if chroot: + db.session.delete(chroot) + db.session.commit() + +class DisplayChrootsCommand(Command): + 'Displays current mock chroots' + def run(self, active_only): + chroots = models.MockChroot.query + if active_only: + chroots = chroots.filter(models.MockChroot.is_active==True) + for ch in chroots: + print '{0}-{1}-{2}'.format(ch.os_release, ch.os_version, ch.arch) + + option_list = ( + Option('--active-only', + '-a', + dest='active_only', + help='Display only active chroots', + required=False, + action='store_true', + default=False), + ) + manager = Manager(app) manager.add_command('create_sqlite_file', CreateSqliteFileCommand()) manager.add_command('create_db', CreateDBCommand()) manager.add_command('drop_db', DropDBCommand()) +manager.add_command('create_chroot', CreateChrootCommand()) +manager.add_command('alter_chroot', AlterChrootCommand()) +manager.add_command('display_chroots', DisplayChrootsCommand()) +manager.add_command('drop_chroot', DropChrootCommand()) if __name__ == '__main__': manager.run()
1
0
0
0
[copr] master: Use activation/deactivation for chroots (ca2907b)
by bkabrda@fedoraproject.org
15 Jan '13
15 Jan '13
Repository :
http://git.fedorahosted.org/cgit/copr.git
On branch : master >--------------------------------------------------------------- commit ca2907b2f2c1849ff9feb23e33919a85d47550a1 Author: Bohuslav Kabrda <bkabrda(a)redhat.com> Date: Mon Jan 14 10:35:11 2013 +0100 Use activation/deactivation for chroots >--------------------------------------------------------------- ...062525_.py => 2fa80e062525_add_mock_chroots.py} | 1 + coprs_frontend/coprs/models.py | 1 + 2 files changed, 2 insertions(+), 0 deletions(-) diff --git a/coprs_frontend/alembic/versions/2fa80e062525_.py b/coprs_frontend/alembic/versions/2fa80e062525_add_mock_chroots.py similarity index 95% rename from coprs_frontend/alembic/versions/2fa80e062525_.py rename to coprs_frontend/alembic/versions/2fa80e062525_add_mock_chroots.py index b56b134..a6e3780 100644 --- a/coprs_frontend/alembic/versions/2fa80e062525_.py +++ b/coprs_frontend/alembic/versions/2fa80e062525_add_mock_chroots.py @@ -21,6 +21,7 @@ def upgrade(): sa.Column('os_release', sa.String(length=50), nullable=False), sa.Column('os_version', sa.String(length=50), nullable=False), sa.Column('arch', sa.String(length=50), nullable=False), + sa.Column('is_active', sa.Boolean(), nullable=False), sa.PrimaryKeyConstraint('id') ) op.create_table('copr_chroot', diff --git a/coprs_frontend/coprs/models.py b/coprs_frontend/coprs/models.py index fa5cc4a..1383aeb 100644 --- a/coprs_frontend/coprs/models.py +++ b/coprs_frontend/coprs/models.py @@ -187,6 +187,7 @@ class MockChroot(db.Model, Serializer): os_release = db.Column(db.String(50), nullable = False) # fedora/epel/... os_version = db.Column(db.String(50), nullable = False) # 18/rawhide/... arch = db.Column(db.String(50), nullable = False) # x86_64/i686/... + is_active = db.Column(db.Boolean, default = True) # x86_64/i686/... @property def chroot_name(self):
1
0
0
0
[copr] master: Start using flask-script; it also substitues runapp.py (1b2c502)
by bkabrda@fedoraproject.org
15 Jan '13
15 Jan '13
Repository :
http://git.fedorahosted.org/cgit/copr.git
On branch : master >--------------------------------------------------------------- commit 1b2c5028461b3c05409541fc34242748439ed9bc Author: Bohuslav Kabrda <bkabrda(a)redhat.com> Date: Mon Jan 14 09:30:11 2013 +0100 Start using flask-script; it also substitues runapp.py >--------------------------------------------------------------- coprs_frontend/manage.py | 95 ++++++++++++++++++++-------------------------- coprs_frontend/runapp.py | 2 - 2 files changed, 41 insertions(+), 56 deletions(-) diff --git a/coprs_frontend/manage.py b/coprs_frontend/manage.py index 7716e86..cd53522 100755 --- a/coprs_frontend/manage.py +++ b/coprs_frontend/manage.py @@ -1,64 +1,51 @@ #!/usr/bin/env python -import argparse import os -from coprs import app, db +import flask +from flask.ext.script import Manager, Command, Option -class DBManager(object): - def __init__(self, db): - self.db = db +from coprs import app, db - def create_sqlite_file(self): - if app.config['SQLALCHEMY_DATABASE_URI'].startswith('sqlite'): +class CreateSqliteFileCommand(Command): + 'Create the sqlite DB file (not the tables). Used for alembic, "create_db" does this automatically.' + def run(self): + if flask.current_app.config['SQLALCHEMY_DATABASE_URI'].startswith('sqlite'): # strip sqlite:/// - datadir_name = os.path.dirname(app.config['SQLALCHEMY_DATABASE_URI'][10:]) + datadir_name = os.path.dirname(flask.current_app.config['SQLALCHEMY_DATABASE_URI'][10:]) if not os.path.exists(datadir_name): os.makedirs(datadir_name) - def create_db(self, alembic_ini=None): - self.create_sqlite_file() - self.db.create_all() - if alembic_ini is not None: - # then, load the Alembic configuration and generate the - # version table, "stamping" it with the most recent rev: - from alembic.config import Config - from alembic import command - alembic_cfg = Config(alembic_ini) - command.stamp(alembic_cfg, "head") - - def delete_db(self): - self.db.drop_all() - -parser = argparse.ArgumentParser(description = 'Manage the app') -parser.add_argument('-s', '--create-sqlite-file', - required = False, - help = 'Create the sqlite DB file (not the tables). User for alembic, the -c does this automatically.', - action = 'store_true') - -parser.add_argument('-c', '--create-db', - required = False, - help = 'Create the DB scheme', - action = 'store_true') - -parser.add_argument('-d', '--delete-db', - required = False, - help = 'Delete DB', - action = 'store_true') - -parser.add_argument('-f', '--alembic', - required = False, - help = 'Path to the alembic configuration file (alembic.ini)') - -args = parser.parse_args() - -manager = DBManager(db) -if args.create_sqlite_file: - manager.create_sqlite_file() -elif args.create_db: - if not args.alembic: - print "Please provide the path to the alembic configuration file." - else: - manager.create_db(args.alembic) -elif args.delete_db: - manager.delete_db() +class CreateDBCommand(Command): + 'Create the DB scheme' + def run(self, alembic_ini=None): + CreateSqliteFileCommand().run() + db.create_all() + + # load the Alembic configuration and generate the + # version table, "stamping" it with the most recent rev: + from alembic.config import Config + from alembic import command + alembic_cfg = Config(alembic_ini) + command.stamp(alembic_cfg, "head") + + option_list = ( + Option('--alembic', + '-f', + dest='alembic_ini', + help='Path to the alembic configuration file (alembic.ini)', + required=True), + ) + +class DropDBCommand(Command): + 'Delete DB' + def run(self): + db.drop_all() + +manager = Manager(app) +manager.add_command('create_sqlite_file', CreateSqliteFileCommand()) +manager.add_command('create_db', CreateDBCommand()) +manager.add_command('drop_db', DropDBCommand()) + +if __name__ == '__main__': + manager.run() diff --git a/coprs_frontend/runapp.py b/coprs_frontend/runapp.py deleted file mode 100644 index eaa0fa2..0000000 --- a/coprs_frontend/runapp.py +++ /dev/null @@ -1,2 +0,0 @@ -from coprs import app -app.run()
1
0
0
0
[copr] master: Add MockChroot model and its realtion to copr (4e21328)
by bkabrda@fedoraproject.org
15 Jan '13
15 Jan '13
Repository :
http://git.fedorahosted.org/cgit/copr.git
On branch : master >--------------------------------------------------------------- commit 4e213282c11f8b490054be269b651f67232ef87f Author: Bohuslav Kabrda <bkabrda(a)redhat.com> Date: Mon Jan 14 09:19:33 2013 +0100 Add MockChroot model and its realtion to copr >--------------------------------------------------------------- coprs_frontend/alembic/versions/2fa80e062525_.py | 40 ++++++++++++++++++++++ coprs_frontend/coprs/models.py | 16 +++++++++ 2 files changed, 56 insertions(+), 0 deletions(-) diff --git a/coprs_frontend/alembic/versions/2fa80e062525_.py b/coprs_frontend/alembic/versions/2fa80e062525_.py new file mode 100644 index 0000000..b56b134 --- /dev/null +++ b/coprs_frontend/alembic/versions/2fa80e062525_.py @@ -0,0 +1,40 @@ +"""empty message + +Revision ID: 2fa80e062525 +Revises: 2e30169e58ce +Create Date: 2013-01-14 09:04:42.768432 + +""" + +# revision identifiers, used by Alembic. +revision = '2fa80e062525' +down_revision = '2e30169e58ce' + +from alembic import op +import sqlalchemy as sa + + +def upgrade(): + ### commands auto generated by Alembic - please adjust! ### + op.create_table('mock_chroot', + sa.Column('id', sa.Integer(), nullable=False), + sa.Column('os_release', sa.String(length=50), nullable=False), + sa.Column('os_version', sa.String(length=50), nullable=False), + sa.Column('arch', sa.String(length=50), nullable=False), + sa.PrimaryKeyConstraint('id') + ) + op.create_table('copr_chroot', + sa.Column('mock_chroot_id', sa.Integer(), nullable=False), + sa.Column('copr_id', sa.Integer(), nullable=False), + sa.ForeignKeyConstraint(['copr_id'], ['copr.id'], ), + sa.ForeignKeyConstraint(['mock_chroot_id'], ['mock_chroot.id'], ), + sa.PrimaryKeyConstraint('mock_chroot_id', 'copr_id') + ) + ### end Alembic commands ### + + +def downgrade(): + ### commands auto generated by Alembic - please adjust! ### + op.drop_table('copr_chroot') + op.drop_table('mock_chroot') + ### end Alembic commands ### diff --git a/coprs_frontend/coprs/models.py b/coprs_frontend/coprs/models.py index 9393c5c..fa5cc4a 100644 --- a/coprs_frontend/coprs/models.py +++ b/coprs_frontend/coprs/models.py @@ -181,3 +181,19 @@ class Build(db.Model, Serializer): @property def cancelable(self): return self.state == 'pending' + +class MockChroot(db.Model, Serializer): + id = db.Column(db.Integer, primary_key = True) + os_release = db.Column(db.String(50), nullable = False) # fedora/epel/... + os_version = db.Column(db.String(50), nullable = False) # 18/rawhide/... + arch = db.Column(db.String(50), nullable = False) # x86_64/i686/... + + @property + def chroot_name(self): + return '{0}-{1}-{2}'.format(self.os_release, self.os_version, self.arch) + +class CoprChroot(db.Model, Serializer): + mock_chroot_id = db.Column(db.Integer, db.ForeignKey('mock_chroot.id'), primary_key = True) + mock_chroot = db.relationship('MockChroot', backref = db.backref('coprs')) + copr_id = db.Column(db.Integer, db.ForeignKey('copr.id'), primary_key = True) + copr = db.relationship('Copr', backref = db.backref('mock_chroots'))
1
0
0
0
← Newer
1
...
13
14
15
16
17
18
19
20
21
Older →
Jump to page:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Results per page:
10
25
50
100
200