From 5151ea44129cf428b73e1bb0b587e258b59564b7 Mon Sep 17 00:00:00 2001 From: yackob03 Date: Wed, 25 Sep 2013 17:46:42 -0400 Subject: [PATCH] Update the model and test db to fix tag support. --- data/database.py | 2 +- data/model.py | 20 ++++++++++---------- test.db | Bin 36864 -> 31744 bytes 3 files changed, 11 insertions(+), 11 deletions(-) diff --git a/data/database.py b/data/database.py index db2e802f1..e80d7c746 100644 --- a/data/database.py +++ b/data/database.py @@ -91,7 +91,7 @@ class RepositoryImage(BaseModel): def initialize_db(): create_model_tables([User, Repository, Image, RepositoryImage, AccessToken, - Role, RepositoryPermission, Visibility]) + Role, RepositoryPermission, Visibility, RepositoryTag]) Role.create(name='admin') Role.create(name='write') Role.create(name='read') diff --git a/data/model.py b/data/model.py index 7cdd0cfa8..3b0dff86e 100644 --- a/data/model.py +++ b/data/model.py @@ -114,8 +114,8 @@ def list_repository_tags(namespace_name, repository_name): select = RepositoryTag.select(RepositoryTag, Image) with_repo = select.join(Repository) with_image = with_repo.switch(RepositoryTag).join(Image) - return joined.where(Repository.name == repository_name and - Repository.namespace == namespace_name) + return with_image.where(Repository.name == repository_name and + Repository.namespace == namespace_name) def get_tag_image(namespace_name, repository_name, tag_name): @@ -127,13 +127,13 @@ def get_tag_image(namespace_name, repository_name, tag_name): def create_or_update_tag(namespace_name, repository_name, tag_name, tag_image_id): - repo = Repository.get(Repository.name == name and - Repository.namespace == namespace) + repo = Repository.get(Repository.name == repository_name and + Repository.namespace == namespace_name) image = Image.get(Image.image_id == tag_image_id) try: tag = RepositoryTag.get(RepositoryTag.repository == repo and - RepositoryTag.tag_name == tag_name) + RepositoryTag.name == tag_name) tag.image = image tag.save() except RepositoryTag.DoesNotExist: @@ -143,16 +143,16 @@ def create_or_update_tag(namespace_name, repository_name, tag_name, def delete_tag(namespace_name, repository_name, tag_name): - repo = Repository.get(Repository.name == name and - Repository.namespace == namespace) + repo = Repository.get(Repository.name == repository_name and + Repository.namespace == namespace_name) tag = RepositoryTag.get(RepositoryTag.repository == repo and - RepositoryTag.tag_name == tag_name) + RepositoryTag.name == tag_name) tag.delete_instance() def delete_all_repository_tags(namespace_name, repository_name): - repo = Repository.get(Repository.name == name and - Repository.namespace == namespace) + repo = Repository.get(Repository.name == repository_name and + Repository.namespace == namespace_name) RepositoryTag.delete().where(RepositoryTag.repository == repo) diff --git a/test.db b/test.db index 45270148d205fb0ac04a2dc2ed00eca1e9b79d96..dd3835cc2307e5b1d4bb82cec04f336605b0d385 100644 GIT binary patch delta 1529 zcmbtTTTC2P7(O%q%x;&0;o4ndDV4?mw!6-pnKKtm)6iX(n_wxF1?1AX(p4^o1#ErU zPE35z2aDqanm(9l`p`s^WuJ^8G5XdAlg31&4?Z-~c%dQMhMH)^GsRliK6;Wl=gfc3 z|9#*2&v!0=z+V1?x$o(5@_80iPn4T}SLX3>CZroA+v&5b`R#R#PQ{>!>xY)K9jfLFO?D50m64O1~p+qDeakxZ;nHHzV4Lv#^hQRj-6 zEH9(QVc{BrYw#JZ-1{(A3vs5DoK10FMdbe$YOVZ6n4HbbPA{K*IX9hpEz#57e$h6^ z(qu^;UCI)7u3t_MFI~!BaC(Nbc5X>f67$^)bIY^Eotkhtw~6TOR@L5unrene4Rws| zEH4`7jAI%(r?_*B=PE-ej!>MbV%}nF;2C&#rMX+M+h9BA(zQ!;(02h)Se0W648T+ri~ z92M0zS#HB>0?VQzY67>Lk?9&tbxXoIwW}kQPEjN5&%kY>me3SYP$hxV1{_2EDW$h} ztgkaOGMIj$CrLB%dr8DLEGAS{)igz5cT>90^-3h8k^bbFp3#Ak(Gn7&O(qFh)IK;N*(8TAc0hS-*1f%ktpHS=c~u7dB|tci?aIHXdMMJ0RSq zHu(h(@xU-F3lNFyK9&0q#1yN}{|a@1f;~&O5!{2@6zF^KCx=7D%}k6d1EzqO0{a8Z z7rYOd;@6XL#?Mc@<8O^$Sv${_hZwj^`6<`W&~T92x;_$_F&3TNVjzxVCJ_4~`#19= zGg0vRn8O}dAC4xQ8Si*@&UP*?IIqm-vWxQzmllm_|Lx8gN5@8gWjqE!;6~?>E;=?H zZE1S6b1G{$wJycNQJum>ABUOB&KlDW-SsGiVjKxTBXqL6?B8sysrncC;r^ypzjyqj s)_gP^ZEj{>Kl$Kk?gQEPbJ$;R*_HYE)2IEb>F4}6r%n}jrkDf&08zf23;+NC literal 36864 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