Merge lp:~wgrant/launchpad/show-package-sets-in-queue into lp:launchpad
- show-package-sets-in-queue
- Merge into devel
Proposed by
William Grant
Status: | Merged |
---|---|
Approved by: | Michael Hudson-Doyle |
Approved revision: | no longer in the source branch. |
Merged at revision: | not available |
Proposed branch: | lp:~wgrant/launchpad/show-package-sets-in-queue |
Merge into: | lp:launchpad |
Diff against target: |
426 lines (+148/-64) 8 files modified
lib/lp/soyuz/browser/queue.py (+11/-0) lib/lp/soyuz/doc/packageset.txt (+14/-2) lib/lp/soyuz/interfaces/packageset.py (+7/-1) lib/lp/soyuz/model/packageset.py (+7/-2) lib/lp/soyuz/stories/soyuz/xx-queue-pages-delayed-copies.txt (+2/-2) lib/lp/soyuz/stories/soyuz/xx-queue-pages-motu.txt (+7/-7) lib/lp/soyuz/stories/soyuz/xx-queue-pages.txt (+94/-50) lib/lp/soyuz/templates/distroseries-queue.pt (+6/-0) |
To merge this branch: | bzr merge lp:~wgrant/launchpad/show-package-sets-in-queue |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Paul Hummer (community) | code ui* | Approve | |
Review via email: mp+21521@code.launchpad.net |
Commit message
Show source package sets in the queue UI.
Description of the change
It was requested that we show package sets on DistroSeries/
To post a comment you must log in.
Revision history for this message
William Grant (wgrant) wrote : | # |
Revision history for this message
Paul Hummer (rockstar) wrote : | # |
Thanks for this branch. Anything to make Ubuntu packagers happy is a big +1 for me. The code looks good. Have you talked this over with anyone from Soyuz?
review:
Approve
(code ui*)
Revision history for this message
William Grant (wgrant) wrote : | # |
Yeah, Julian gave it a +1 last night.
Revision history for this message
Michael Hudson-Doyle (mwhudson) wrote : | # |
I'll land this too.
Preview Diff
[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1 | === modified file 'lib/lp/soyuz/browser/queue.py' | |||
2 | --- lib/lp/soyuz/browser/queue.py 2010-03-09 08:33:19 +0000 | |||
3 | +++ lib/lp/soyuz/browser/queue.py 2010-03-17 02:52:22 +0000 | |||
4 | @@ -28,6 +28,7 @@ | |||
5 | 28 | IBinaryPackageNameSet) | 28 | IBinaryPackageNameSet) |
6 | 29 | from lp.soyuz.interfaces.files import ( | 29 | from lp.soyuz.interfaces.files import ( |
7 | 30 | IBinaryPackageFileSet, ISourcePackageReleaseFileSet) | 30 | IBinaryPackageFileSet, ISourcePackageReleaseFileSet) |
8 | 31 | from lp.soyuz.interfaces.packageset import IPackagesetSet | ||
9 | 31 | from lp.soyuz.interfaces.publishing import name_priority_map | 32 | from lp.soyuz.interfaces.publishing import name_priority_map |
10 | 32 | from canonical.launchpad.webapp import LaunchpadView | 33 | from canonical.launchpad.webapp import LaunchpadView |
11 | 33 | from canonical.launchpad.webapp.batching import BatchNavigator | 34 | from canonical.launchpad.webapp.batching import BatchNavigator |
12 | @@ -480,3 +481,13 @@ | |||
13 | 480 | return self.sources[0].sourcepackagerelease.upload_changesfile | 481 | return self.sources[0].sourcepackagerelease.upload_changesfile |
14 | 481 | return self.context.changesfile | 482 | return self.context.changesfile |
15 | 482 | 483 | ||
16 | 484 | @property | ||
17 | 485 | def package_sets(self): | ||
18 | 486 | assert self.sourcepackagerelease, \ | ||
19 | 487 | "Can only be used on a source upload." | ||
20 | 488 | return ' '.join(sorted(ps.name for ps in | ||
21 | 489 | getUtility(IPackagesetSet).setsIncludingSource( | ||
22 | 490 | self.sourcepackagerelease.sourcepackagename, | ||
23 | 491 | distroseries=self.distroseries, | ||
24 | 492 | direct_inclusion=True))) | ||
25 | 493 | |||
26 | 483 | 494 | ||
27 | === modified file 'lib/lp/soyuz/doc/packageset.txt' | |||
28 | --- lib/lp/soyuz/doc/packageset.txt 2009-12-24 01:41:54 +0000 | |||
29 | +++ lib/lp/soyuz/doc/packageset.txt 2010-03-17 02:52:22 +0000 | |||
30 | @@ -500,6 +500,20 @@ | |||
31 | 500 | 1 -> umbrella | 500 | 1 -> umbrella |
32 | 501 | 5 -> firefox | 501 | 5 -> firefox |
33 | 502 | 502 | ||
34 | 503 | We can filter the package sets by series: | ||
35 | 504 | |||
36 | 505 | >>> from canonical.launchpad.interfaces import IDistributionSet | ||
37 | 506 | >>> ubuntu = getUtility(IDistributionSet)['ubuntu'] | ||
38 | 507 | >>> print_data( | ||
39 | 508 | ... ps_set.setsIncludingSource(firefox_spn, | ||
40 | 509 | ... distroseries=ubuntu['hoary'])) | ||
41 | 510 | 1 -> umbrella | ||
42 | 511 | 4 -> mozilla | ||
43 | 512 | 5 -> firefox | ||
44 | 513 | >>> print_data( | ||
45 | 514 | ... ps_set.setsIncludingSource(firefox_spn, | ||
46 | 515 | ... distroseries=ubuntu['warty'])) | ||
47 | 516 | |||
48 | 503 | It is also possible to ask the same question by providing the mere name of | 517 | It is also possible to ask the same question by providing the mere name of |
49 | 504 | the source package. | 518 | the source package. |
50 | 505 | 519 | ||
51 | @@ -622,10 +636,8 @@ | |||
52 | 622 | Introduce a copy archive that will be used to disambiguate archive | 636 | Introduce a copy archive that will be used to disambiguate archive |
53 | 623 | permissions. | 637 | permissions. |
54 | 624 | 638 | ||
55 | 625 | >>> from canonical.launchpad.interfaces import IDistributionSet | ||
56 | 626 | >>> from lp.soyuz.interfaces.archive import ( | 639 | >>> from lp.soyuz.interfaces.archive import ( |
57 | 627 | ... ArchivePurpose, IArchiveSet) | 640 | ... ArchivePurpose, IArchiveSet) |
58 | 628 | >>> ubuntu = getUtility(IDistributionSet)['ubuntu'] | ||
59 | 629 | >>> rebuild_archive = getUtility(IArchiveSet).new( | 641 | >>> rebuild_archive = getUtility(IArchiveSet).new( |
60 | 630 | ... owner=person1, purpose=ArchivePurpose.COPY, | 642 | ... owner=person1, purpose=ArchivePurpose.COPY, |
61 | 631 | ... distribution=ubuntu, name='copy-archive', | 643 | ... distribution=ubuntu, name='copy-archive', |
62 | 632 | 644 | ||
63 | === modified file 'lib/lp/soyuz/interfaces/packageset.py' | |||
64 | --- lib/lp/soyuz/interfaces/packageset.py 2009-11-03 14:43:22 +0000 | |||
65 | +++ lib/lp/soyuz/interfaces/packageset.py 2010-03-17 02:52:22 +0000 | |||
66 | @@ -27,6 +27,7 @@ | |||
67 | 27 | operation_parameters, operation_returns_collection_of, | 27 | operation_parameters, operation_returns_collection_of, |
68 | 28 | operation_returns_entry, webservice_error) | 28 | operation_returns_entry, webservice_error) |
69 | 29 | from lazr.restful.fields import Reference | 29 | from lazr.restful.fields import Reference |
70 | 30 | from lazr.restful.interface import copy_field | ||
71 | 30 | from lp.registry.interfaces.distroseries import IDistroSeries | 31 | from lp.registry.interfaces.distroseries import IDistroSeries |
72 | 31 | from lp.registry.interfaces.person import IPerson | 32 | from lp.registry.interfaces.person import IPerson |
73 | 32 | from lp.registry.interfaces.role import IHasOwner | 33 | from lp.registry.interfaces.role import IHasOwner |
74 | @@ -413,10 +414,12 @@ | |||
75 | 413 | @operation_parameters( | 414 | @operation_parameters( |
76 | 414 | sourcepackagename=TextLine( | 415 | sourcepackagename=TextLine( |
77 | 415 | title=_('Source package name'), required=True), | 416 | title=_('Source package name'), required=True), |
78 | 417 | distroseries=copy_field(IPackageset['distroseries'], required=False), | ||
79 | 416 | direct_inclusion=Bool(required=False)) | 418 | direct_inclusion=Bool(required=False)) |
80 | 417 | @operation_returns_collection_of(IPackageset) | 419 | @operation_returns_collection_of(IPackageset) |
81 | 418 | @export_read_operation() | 420 | @export_read_operation() |
83 | 419 | def setsIncludingSource(sourcepackagename, direct_inclusion=False): | 421 | def setsIncludingSource(sourcepackagename, distroseries=None, |
84 | 422 | direct_inclusion=False): | ||
85 | 420 | """Get the package sets that include this source package. | 423 | """Get the package sets that include this source package. |
86 | 421 | 424 | ||
87 | 422 | Return all package sets that directly or indirectly include the | 425 | Return all package sets that directly or indirectly include the |
88 | @@ -424,6 +427,9 @@ | |||
89 | 424 | 427 | ||
90 | 425 | :param sourcepackagename: the included source package name; can be | 428 | :param sourcepackagename: the included source package name; can be |
91 | 426 | either a string or a `ISourcePackageName`. | 429 | either a string or a `ISourcePackageName`. |
92 | 430 | :param distroseries: the `IDistroSeries` in which to look for sets. | ||
93 | 431 | If omitted, matching package sets from all series will be | ||
94 | 432 | returned. | ||
95 | 427 | :param direct_inclusion: if this flag is set to True, then only | 433 | :param direct_inclusion: if this flag is set to True, then only |
96 | 428 | package sets that directly include this source package name will | 434 | package sets that directly include this source package name will |
97 | 429 | be considered. | 435 | be considered. |
98 | 430 | 436 | ||
99 | === modified file 'lib/lp/soyuz/model/packageset.py' | |||
100 | --- lib/lp/soyuz/model/packageset.py 2009-11-06 21:10:13 +0000 | |||
101 | +++ lib/lp/soyuz/model/packageset.py 2010-03-17 02:52:22 +0000 | |||
102 | @@ -403,7 +403,8 @@ | |||
103 | 403 | source_name = getUtility(ISourcePackageNameSet)[source_name] | 403 | source_name = getUtility(ISourcePackageNameSet)[source_name] |
104 | 404 | return source_name | 404 | return source_name |
105 | 405 | 405 | ||
107 | 406 | def setsIncludingSource(self, sourcepackagename, direct_inclusion=False): | 406 | def setsIncludingSource(self, sourcepackagename, distroseries=None, |
108 | 407 | direct_inclusion=False): | ||
109 | 407 | """See `IPackagesetSet`.""" | 408 | """See `IPackagesetSet`.""" |
110 | 408 | sourcepackagename = self._nameToSourcePackageName(sourcepackagename) | 409 | sourcepackagename = self._nameToSourcePackageName(sourcepackagename) |
111 | 409 | 410 | ||
112 | @@ -421,5 +422,9 @@ | |||
113 | 421 | ''' | 422 | ''' |
114 | 422 | store = IStore(Packageset) | 423 | store = IStore(Packageset) |
115 | 423 | psets = SQL(query, (sourcepackagename.id,)) | 424 | psets = SQL(query, (sourcepackagename.id,)) |
117 | 424 | result_set = store.find(Packageset, In(Packageset.id, psets)) | 425 | clauses = [In(Packageset.id, psets)] |
118 | 426 | if distroseries: | ||
119 | 427 | clauses.append(Packageset.distroseries == distroseries) | ||
120 | 428 | |||
121 | 429 | result_set = store.find(Packageset, *clauses) | ||
122 | 425 | return _order_result_set(result_set) | 430 | return _order_result_set(result_set) |
123 | 426 | 431 | ||
124 | === modified file 'lib/lp/soyuz/stories/soyuz/xx-queue-pages-delayed-copies.txt' | |||
125 | --- lib/lp/soyuz/stories/soyuz/xx-queue-pages-delayed-copies.txt 2010-02-26 13:35:45 +0000 | |||
126 | +++ lib/lp/soyuz/stories/soyuz/xx-queue-pages-delayed-copies.txt 2010-03-17 02:52:22 +0000 | |||
127 | @@ -48,7 +48,7 @@ | |||
128 | 48 | 48 | ||
129 | 49 | >>> for row in find_tags_by_class(anon_browser.contents, "queue-row"): | 49 | >>> for row in find_tags_by_class(anon_browser.contents, "queue-row"): |
130 | 50 | ... print extract_text(row) | 50 | ... print extract_text(row) |
132 | 51 | Package Version Component Section Priority Pocket When | 51 | Package Version Component Section Priority Sets Pocket When |
133 | 52 | foo, foo (delayed) (source, i386) 666 main base low ... | 52 | foo, foo (delayed) (source, i386) 666 main base low ... |
134 | 53 | 53 | ||
135 | 54 | >>> anon_browser.getLink('foo, foo') | 54 | >>> anon_browser.getLink('foo, foo') |
136 | @@ -84,7 +84,7 @@ | |||
137 | 84 | 84 | ||
138 | 85 | >>> for row in find_tags_by_class(cprov_browser.contents, "queue-row"): | 85 | >>> for row in find_tags_by_class(cprov_browser.contents, "queue-row"): |
139 | 86 | ... print extract_text(row) | 86 | ... print extract_text(row) |
141 | 87 | Package Version Component Section Priority Pocket When | 87 | Package Version Component Section Priority Sets Pocket When |
142 | 88 | foo, foo (delayed) (source, i386) 666 main base low ... | 88 | foo, foo (delayed) (source, i386) 666 main base low ... |
143 | 89 | 89 | ||
144 | 90 | >>> anon_browser.getLink('foo, foo') | 90 | >>> anon_browser.getLink('foo, foo') |
145 | 91 | 91 | ||
146 | === modified file 'lib/lp/soyuz/stories/soyuz/xx-queue-pages-motu.txt' | |||
147 | --- lib/lp/soyuz/stories/soyuz/xx-queue-pages-motu.txt 2009-07-01 13:16:44 +0000 | |||
148 | +++ lib/lp/soyuz/stories/soyuz/xx-queue-pages-motu.txt 2010-03-17 02:52:22 +0000 | |||
149 | @@ -38,13 +38,13 @@ | |||
150 | 38 | ... "http://launchpad.dev/ubuntu/breezy-autotest/") | 38 | ... "http://launchpad.dev/ubuntu/breezy-autotest/") |
151 | 39 | >>> motu_browser.getLink("Show uploads").click() | 39 | >>> motu_browser.getLink("Show uploads").click() |
152 | 40 | >>> print_queue(motu_browser.contents) | 40 | >>> print_queue(motu_browser.contents) |
160 | 41 | Package Version Component Section Priority Pocket When | 41 | Package Version Component Section Priority Sets Pocket When |
161 | 42 | netapplet...ddtp... - Release 2006... | 42 | netapplet...ddtp... - Release 2006... |
162 | 43 | netapplet...dist... - Release 2006... | 43 | netapplet...dist... - Release 2006... |
163 | 44 | alsa-utils (source) 1.0.9a-4... main base low Release 2006... | 44 | alsa-utils (source) 1.0.9a-4... main base low Release 2006... |
164 | 45 | netapplet (source) 0.99.6-1 main web low Release 2006... | 45 | netapplet (source) 0.99.6-1 main web low Release 2006... |
165 | 46 | pmount (i386) 0.1-1 Release 2006... | 46 | pmount (i386) 0.1-1 Release 2006... |
166 | 47 | moz...irefox (i386) 0.9 Release 2006... | 47 | moz...irefox (i386) 0.9 Release 2006... |
167 | 48 | 48 | ||
168 | 49 | If we try and accept "alsa-utils" it will fail because our user does | 49 | If we try and accept "alsa-utils" it will fail because our user does |
169 | 50 | not have permission to accept items in "main": | 50 | not have permission to accept items in "main": |
170 | 51 | 51 | ||
171 | === modified file 'lib/lp/soyuz/stories/soyuz/xx-queue-pages.txt' | |||
172 | --- lib/lp/soyuz/stories/soyuz/xx-queue-pages.txt 2010-03-05 17:04:27 +0000 | |||
173 | +++ lib/lp/soyuz/stories/soyuz/xx-queue-pages.txt 2010-03-17 02:52:22 +0000 | |||
174 | @@ -62,13 +62,13 @@ | |||
175 | 62 | ... print extract_text(row) | 62 | ... print extract_text(row) |
176 | 63 | 63 | ||
177 | 64 | >>> print_queue(anon_browser.contents) | 64 | >>> print_queue(anon_browser.contents) |
185 | 65 | Package Version Component Section Priority Pocket When | 65 | Package Version Component Section Priority Sets Pocket When |
186 | 66 | netapplet...ddtp... - Release 2006-... | 66 | netapplet...ddtp... - Release 2006-... |
187 | 67 | netapplet...dist... - Release 2006-... | 67 | netapplet...dist... - Release 2006-... |
188 | 68 | alsa-utils (source) 1.0.9a-4... main base low Release 2006-... | 68 | alsa-utils (source) 1.0.9a-4... main base low Release 2006-... |
189 | 69 | netapplet (source) 0.99.6-1 main web low Release 2006-... | 69 | netapplet (source) 0.99.6-1 main web low Release 2006-... |
190 | 70 | pmount (i386) 0.1-1 Release 2006-... | 70 | pmount (i386) 0.1-1 Release 2006-... |
191 | 71 | moz...irefox (i386) 0.9 Release 2006-... | 71 | moz...irefox (i386) 0.9 Release 2006-... |
192 | 72 | 72 | ||
193 | 73 | The package name in the results list is a clickable link to the changes | 73 | The package name in the results list is a clickable link to the changes |
194 | 74 | file for that upload. | 74 | file for that upload. |
195 | @@ -92,12 +92,12 @@ | |||
196 | 92 | ... name="queue_state", index=0).displayValue = ['Unapproved'] | 92 | ... name="queue_state", index=0).displayValue = ['Unapproved'] |
197 | 93 | >>> anon_browser.getControl("Update").click() | 93 | >>> anon_browser.getControl("Update").click() |
198 | 94 | >>> print_queue(anon_browser.contents) | 94 | >>> print_queue(anon_browser.contents) |
205 | 95 | Package Version Component Section Priority Pocket When | 95 | Package Version Component Section Priority Sets Pocket When |
206 | 96 | lang...-de (source) 1.0 main trans... low Proposed 2007-... | 96 | lang...-de (source) 1.0 main trans... low Proposed 2007-... |
207 | 97 | netapplet...ddtp... - Backp... 2006-... | 97 | netapplet...ddtp... - Backp... 2006-... |
208 | 98 | cnews (source) 1.0 main base low Release 2006-... | 98 | cnews (source) 1.0 main base low Release 2006-... |
209 | 99 | cnews (source) 1.0 main base low Release 2006-... | 99 | cnews (source) 1.0 main base low Release 2006-... |
210 | 100 | netapplet...(raw-translations) - Updates 2006-... | 100 | netapplet...(raw-translations) - Updates 2006-... |
211 | 101 | 101 | ||
212 | 102 | The results can be filtered matching source name, binary name or | 102 | The results can be filtered matching source name, binary name or |
213 | 103 | custom-upload filename. | 103 | custom-upload filename. |
214 | @@ -105,24 +105,68 @@ | |||
215 | 105 | >>> anon_browser.getControl(name="queue_text").value = 'language' | 105 | >>> anon_browser.getControl(name="queue_text").value = 'language' |
216 | 106 | >>> anon_browser.getControl("Update").click() | 106 | >>> anon_browser.getControl("Update").click() |
217 | 107 | >>> print_queue(anon_browser.contents) | 107 | >>> print_queue(anon_browser.contents) |
220 | 108 | Package Version Component Section Priority Pocket When | 108 | Package Version Component Section Priority Sets Pocket When |
221 | 109 | lang...-de (source) 1.0 main trans... low Proposed 2007-... | 109 | lang...-de (source) 1.0 main trans... low Proposed 2007-... |
222 | 110 | 110 | ||
223 | 111 | >>> anon_browser.getControl(name="queue_text").value = 'netapplet' | 111 | >>> anon_browser.getControl(name="queue_text").value = 'netapplet' |
224 | 112 | >>> anon_browser.getControl("Update").click() | 112 | >>> anon_browser.getControl("Update").click() |
225 | 113 | >>> print_queue(anon_browser.contents) | 113 | >>> print_queue(anon_browser.contents) |
229 | 114 | Package Version Component Section Priority Pocket When | 114 | Package Version Component Section Priority Sets Pocket When |
230 | 115 | netapplet...(raw-translations) - Updates 2006-... | 115 | netapplet...(raw-translations) - Updates 2006-... |
231 | 116 | netapplet...ddtp... - Backp... 2006-... | 116 | netapplet...ddtp... - Backp... 2006-... |
232 | 117 | 117 | ||
233 | 118 | >>> anon_browser.getControl( | 118 | >>> anon_browser.getControl( |
234 | 119 | ... name="queue_state", index=0).displayValue = ['New'] | 119 | ... name="queue_state", index=0).displayValue = ['New'] |
235 | 120 | >>> anon_browser.getControl(name="queue_text").value = 'pmount' | 120 | >>> anon_browser.getControl(name="queue_text").value = 'pmount' |
236 | 121 | >>> anon_browser.getControl("Update").click() | 121 | >>> anon_browser.getControl("Update").click() |
237 | 122 | >>> print_queue(anon_browser.contents) | 122 | >>> print_queue(anon_browser.contents) |
241 | 123 | Package Version Component Section Priority Pocket When | 123 | Package Version Component Section Priority Sets Pocket When |
242 | 124 | pmount (i386) 0.1-1 Release 2006-... | 124 | pmount (i386) 0.1-1 Release 2006-... |
243 | 125 | 125 | ||
244 | 126 | A source's package sets are listed in the queue. Since there are none in | ||
245 | 127 | the sample data, we'll first add some. | ||
246 | 128 | |||
247 | 129 | >>> login('foo.bar@canonical.com') | ||
248 | 130 | >>> from lp.soyuz.interfaces.packageset import IPackagesetSet | ||
249 | 131 | >>> ubuntu = getUtility(IDistributionSet)['ubuntu'] | ||
250 | 132 | >>> hoary = ubuntu['hoary'] | ||
251 | 133 | >>> breezy_autotest = ubuntu['breezy-autotest'] | ||
252 | 134 | >>> pss = getUtility(IPackagesetSet) | ||
253 | 135 | >>> desktop = pss.new( | ||
254 | 136 | ... u'desktop', u'Ubuntu Desktop', name12, breezy_autotest) | ||
255 | 137 | >>> server = pss.new( | ||
256 | 138 | ... u'server', u'Ubuntu Server', name12, breezy_autotest) | ||
257 | 139 | >>> core = pss.new( | ||
258 | 140 | ... u'core', u'Ubuntu Core', name12, breezy_autotest) | ||
259 | 141 | >>> desktop.add([core]) | ||
260 | 142 | >>> desktop.addSources(['alsa-utils']) | ||
261 | 143 | >>> server.addSources(['alsa-utils']) | ||
262 | 144 | >>> core.addSources(['netapplet']) | ||
263 | 145 | |||
264 | 146 | Package sets from other series are not shown. | ||
265 | 147 | |||
266 | 148 | >>> kubuntu = pss.new(u'kubuntu', u'Kubuntu', name12, hoary) | ||
267 | 149 | >>> kubuntu.addSources(['alsa-utils']) | ||
268 | 150 | >>> logout() | ||
269 | 151 | |||
270 | 152 | >>> anon_browser.getControl( | ||
271 | 153 | ... name="queue_state", index=0).displayValue = ['New'] | ||
272 | 154 | >>> anon_browser.getControl(name="queue_text").value = '' | ||
273 | 155 | >>> anon_browser.getControl("Update").click() | ||
274 | 156 | >>> print_queue(anon_browser.contents) | ||
275 | 157 | Package Version Component Section Priority Sets Pocket When | ||
276 | 158 | netapplet...ddtp... - Release 2006-... | ||
277 | 159 | netapplet...dist... - Release 2006-... | ||
278 | 160 | alsa-utils (source) 1.0.9a-4... main base low desktop server Release 2006-... | ||
279 | 161 | netapplet (source) 0.99.6-1 main web low core Release 2006-... | ||
280 | 162 | pmount (i386) 0.1-1 Release 2006-... | ||
281 | 163 | moz...irefox (i386) 0.9 Release 2006-... | ||
282 | 164 | |||
283 | 165 | >>> login('foo.bar@canonical.com') | ||
284 | 166 | >>> desktop.removeSources(['alsa-utils']) | ||
285 | 167 | >>> server.removeSources(['alsa-utils']) | ||
286 | 168 | >>> core.removeSources(['netapplet']) | ||
287 | 169 | >>> logout() | ||
288 | 126 | 170 | ||
289 | 127 | == Queue item filelist == | 171 | == Queue item filelist == |
290 | 128 | 172 | ||
291 | @@ -243,26 +287,26 @@ | |||
292 | 243 | >>> upload_manager_browser.open( | 287 | >>> upload_manager_browser.open( |
293 | 244 | ... "http://localhost/ubuntu/breezy-autotest/+queue") | 288 | ... "http://localhost/ubuntu/breezy-autotest/+queue") |
294 | 245 | >>> print_queue(upload_manager_browser.contents) | 289 | >>> print_queue(upload_manager_browser.contents) |
303 | 246 | Package Version Component Section Priority Pocket When | 290 | Package Version Component Section Priority Sets Pocket When |
304 | 247 | bar (source) 1.0-1 universe devel low Release ... | 291 | bar (source) 1.0-1 universe devel low Release ... |
305 | 248 | netapplet...ddtp... - Release 2006-... | 292 | netapplet...ddtp... - Release 2006-... |
306 | 249 | netapplet...dist... - Release 2006-... | 293 | netapplet...dist... - Release 2006-... |
307 | 250 | alsa-utils (source) 1.0.9a-4... main base low Release 2006-... | 294 | alsa-utils (source) 1.0.9a-4... main base low Release 2006-... |
308 | 251 | netapplet (source) 0.99.6-1 main web low Release 2006-... | 295 | netapplet (source) 0.99.6-1 main web low Release 2006-... |
309 | 252 | pmount (i386) 0.1-1 Release 2006-... | 296 | pmount (i386) 0.1-1 Release 2006-... |
310 | 253 | moz...irefox (i386) 0.9 Release 2006-... | 297 | moz...irefox (i386) 0.9 Release 2006-... |
311 | 254 | 298 | ||
312 | 255 | >>> upload_manager_browser.getControl( | 299 | >>> upload_manager_browser.getControl( |
313 | 256 | ... name="QUEUE_ID").value = [str(bar_queue_id)] | 300 | ... name="QUEUE_ID").value = [str(bar_queue_id)] |
314 | 257 | >>> upload_manager_browser.getControl(name="Accept").click() | 301 | >>> upload_manager_browser.getControl(name="Accept").click() |
315 | 258 | >>> print_queue(upload_manager_browser.contents) | 302 | >>> print_queue(upload_manager_browser.contents) |
323 | 259 | Package Version Component Section Priority Pocket When | 303 | Package Version Component Section Priority Sets Pocket When |
324 | 260 | netapplet...ddtp... - Release 2006-... | 304 | netapplet...ddtp... - Release 2006-... |
325 | 261 | netapplet...dist... - Release 2006-... | 305 | netapplet...dist... - Release 2006-... |
326 | 262 | alsa-utils (source) 1.0.9a-4... main base low Release 2006-... | 306 | alsa-utils (source) 1.0.9a-4... main base low Release 2006-... |
327 | 263 | netapplet (source) 0.99.6-1 main web low Release 2006-... | 307 | netapplet (source) 0.99.6-1 main web low Release 2006-... |
328 | 264 | pmount (i386) 0.1-1 Release 2006-... | 308 | pmount (i386) 0.1-1 Release 2006-... |
329 | 265 | moz...irefox (i386) 0.9 Release 2006-... | 309 | moz...irefox (i386) 0.9 Release 2006-... |
330 | 266 | 310 | ||
331 | 267 | Accepting queue items results in an email to the uploader (and the changer | 311 | Accepting queue items results in an email to the uploader (and the changer |
332 | 268 | if it is someone other than the uploader) and (usually) an email to the | 312 | if it is someone other than the uploader) and (usually) an email to the |
333 | @@ -310,8 +354,8 @@ | |||
334 | 310 | ... name="queue_state", index=0).displayValue = ['Accepted'] | 354 | ... name="queue_state", index=0).displayValue = ['Accepted'] |
335 | 311 | >>> upload_manager_browser.getControl("Update").click() | 355 | >>> upload_manager_browser.getControl("Update").click() |
336 | 312 | >>> print_queue(upload_manager_browser.contents) | 356 | >>> print_queue(upload_manager_browser.contents) |
339 | 313 | Package Version Component Section Priority Pocket When | 357 | Package Version Component Section Priority Sets Pocket When |
340 | 314 | moz...irefox (i386) 0.9 Release 2006-... | 358 | moz...irefox (i386) 0.9 Release 2006-... |
341 | 315 | 359 | ||
342 | 316 | Going back to the "new" queue, we can see our item has gone: | 360 | Going back to the "new" queue, we can see our item has gone: |
343 | 317 | 361 | ||
344 | @@ -319,8 +363,8 @@ | |||
345 | 319 | ... name="queue_state", index=0).displayValue = ['New'] | 363 | ... name="queue_state", index=0).displayValue = ['New'] |
346 | 320 | >>> upload_manager_browser.getControl("Update").click() | 364 | >>> upload_manager_browser.getControl("Update").click() |
347 | 321 | >>> print_queue(upload_manager_browser.contents) | 365 | >>> print_queue(upload_manager_browser.contents) |
350 | 322 | Package Version Component Section Priority Pocket When | 366 | Package Version Component Section Priority Sets Pocket When |
351 | 323 | netapplet...ddtp... - Release 2006-... | 367 | netapplet...ddtp... - Release 2006-... |
352 | 324 | netapplet...dist... - Release 2006-... | 368 | netapplet...dist... - Release 2006-... |
353 | 325 | alsa-utils (source) 1.0.9a-4... main base low Release 2006-... | 369 | alsa-utils (source) 1.0.9a-4... main base low Release 2006-... |
354 | 326 | netapplet (source) 0.99.6-1 main web low Release 2006-... | 370 | netapplet (source) 0.99.6-1 main web low Release 2006-... |
355 | @@ -396,10 +440,10 @@ | |||
356 | 396 | OK: pmount(restricted/admin/extra) | 440 | OK: pmount(restricted/admin/extra) |
357 | 397 | 441 | ||
358 | 398 | >>> print_queue(upload_manager_browser.contents) | 442 | >>> print_queue(upload_manager_browser.contents) |
363 | 399 | Package Version Component Section Priority Pocket When | 443 | Package Version Component Section Priority Sets Pocket When |
364 | 400 | netapplet...ddtp... - Release 2006-... | 444 | netapplet...ddtp... - Release 2006-... |
365 | 401 | netapplet...dist... - Release 2006-... | 445 | netapplet...dist... - Release 2006-... |
366 | 402 | alsa-utils (source) 1.0.9a-4... main base low Release 2006-... | 446 | alsa-utils (source) 1.0.9a-4... main base low Release 2006-... |
367 | 403 | 447 | ||
368 | 404 | Any user can now see the 'accepted' queue contains pmount with its | 448 | Any user can now see the 'accepted' queue contains pmount with its |
369 | 405 | overridden values. | 449 | overridden values. |
370 | @@ -408,8 +452,8 @@ | |||
371 | 408 | ... name="queue_state", index=0).displayValue=['Accepted'] | 452 | ... name="queue_state", index=0).displayValue=['Accepted'] |
372 | 409 | >>> anon_browser.getControl("Update").click() | 453 | >>> anon_browser.getControl("Update").click() |
373 | 410 | >>> print_queue(anon_browser.contents) | 454 | >>> print_queue(anon_browser.contents) |
376 | 411 | Package Version Component Section Priority Pocket When | 455 | Package Version Component Section Priority Sets Pocket When |
377 | 412 | pmount (i386) 0.1-1 Release 2006-... | 456 | pmount (i386) 0.1-1 Release 2006-... |
378 | 413 | ... | 457 | ... |
379 | 414 | 458 | ||
380 | 415 | The user can drill down into the file list to see the overridden binary | 459 | The user can drill down into the file list to see the overridden binary |
381 | @@ -428,7 +472,7 @@ | |||
382 | 428 | ... name="queue_state", index=0).displayValue=['Done'] | 472 | ... name="queue_state", index=0).displayValue=['Done'] |
383 | 429 | >>> anon_browser.getControl("Update").click() | 473 | >>> anon_browser.getControl("Update").click() |
384 | 430 | >>> print_queue(anon_browser.contents) | 474 | >>> print_queue(anon_browser.contents) |
386 | 431 | Package Version Component Section Priority Pocket When | 475 | Package Version Component Section Priority Sets Pocket When |
387 | 432 | ... | 476 | ... |
388 | 433 | netapplet (source) 0.99.6-1 restricted admin low ... | 477 | netapplet (source) 0.99.6-1 restricted admin low ... |
389 | 434 | 478 | ||
390 | @@ -446,9 +490,9 @@ | |||
391 | 446 | OK: alsa-utils | 490 | OK: alsa-utils |
392 | 447 | 491 | ||
393 | 448 | >>> print_queue(upload_manager_browser.contents) | 492 | >>> print_queue(upload_manager_browser.contents) |
397 | 449 | Package Version Component Section Priority Pocket When | 493 | Package Version Component Section Priority Sets Pocket When |
398 | 450 | netapplet...ddtp... - Release 2006-... | 494 | netapplet...ddtp... - Release 2006-... |
399 | 451 | netapplet...dist... - Release 2006-... | 495 | netapplet...dist... - Release 2006-... |
400 | 452 | 496 | ||
401 | 453 | One rejection email is generated: | 497 | One rejection email is generated: |
402 | 454 | 498 | ||
403 | 455 | 499 | ||
404 | === modified file 'lib/lp/soyuz/templates/distroseries-queue.pt' | |||
405 | --- lib/lp/soyuz/templates/distroseries-queue.pt 2009-09-04 10:19:08 +0000 | |||
406 | +++ lib/lp/soyuz/templates/distroseries-queue.pt 2010-03-17 02:52:22 +0000 | |||
407 | @@ -63,6 +63,7 @@ | |||
408 | 63 | <th> Component </th> | 63 | <th> Component </th> |
409 | 64 | <th> Section </th> | 64 | <th> Section </th> |
410 | 65 | <th> Priority </th> | 65 | <th> Priority </th> |
411 | 66 | <th> Sets </th> | ||
412 | 66 | <th> Pocket </th> | 67 | <th> Pocket </th> |
413 | 67 | <th> When </th> | 68 | <th> When </th> |
414 | 68 | </tr> | 69 | </tr> |
415 | @@ -111,6 +112,11 @@ | |||
416 | 111 | content="packageupload/sourcepackagerelease/urgency/name/lower"> | 112 | content="packageupload/sourcepackagerelease/urgency/name/lower"> |
417 | 112 | </tal:priority> | 113 | </tal:priority> |
418 | 113 | </td> | 114 | </td> |
419 | 115 | <td style="padding-top: 5px"> | ||
420 | 116 | <tal:packagesets condition="is_source" | ||
421 | 117 | content="packageupload/package_sets"> | ||
422 | 118 | </tal:packagesets> | ||
423 | 119 | </td> | ||
424 | 114 | </tal:is_source> | 120 | </tal:is_source> |
425 | 115 | <td style="padding-top: 5px" | 121 | <td style="padding-top: 5px" |
426 | 116 | tal:content="packageupload/pocket/title">Updates | 122 | tal:content="packageupload/pocket/title">Updates |
Screenshot at http:// people. ubuntu. com/~wgrant/ launchpad/ package- sets-in- queue.png. ScottK has given it a +1.