Merge lp:~wgrant/launchpad/diffs-in-queue into lp:launchpad
- diffs-in-queue
- Merge into devel
Status: | Merged |
---|---|
Approved by: | Michael Nelson |
Approved revision: | no longer in the source branch. |
Merged at revision: | 10929 |
Proposed branch: | lp:~wgrant/launchpad/diffs-in-queue |
Merge into: | lp:launchpad |
Diff against target: |
529 lines (+116/-82) 12 files modified
lib/canonical/launchpad/webapp/configure.zcml (+6/-0) lib/canonical/launchpad/webapp/tales.py (+13/-0) lib/lp/archiveuploader/nascentupload.py (+1/-1) lib/lp/soyuz/doc/nascentupload-announcements.txt (+3/-3) lib/lp/soyuz/doc/package-diff.txt (+31/-31) lib/lp/soyuz/doc/publishing.txt (+4/-4) lib/lp/soyuz/model/packagediff.py (+1/-1) lib/lp/soyuz/stories/soyuz/xx-package-diff.txt (+13/-13) lib/lp/soyuz/stories/soyuz/xx-queue-pages.txt (+28/-2) lib/lp/soyuz/templates/distroseries-queue.pt (+14/-0) lib/lp/soyuz/templates/sourcepackagepublishinghistory-listing-archive-extra.pt (+1/-14) lib/lp/soyuz/templates/sourcepackagerelease-diffs.pt (+1/-13) |
To merge this branch: | bzr merge lp:~wgrant/launchpad/diffs-in-queue |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Eleanor Berger (community) | Approve | ||
Michael Nelson (community) | ui | Approve | |
Review via email: mp+25135@code.launchpad.net |
Commit message
Display diffs in the distroseries queue interface.
Description of the change
This branch exposes package diffs in the distroseries queue UI. Archive admins want to be able to see diffs without having to grab the packages locally. While we have calculated them in LP for a couple of years, they have not previously been shown until the package was accepted.
Since this was to be the third place that an identical PackageDiff link was required, I created an fmt:link for IPackageDiff, updating the two existing link locations to use it, and added a new row to the queue file listing.
William Grant (wgrant) wrote : | # |
Michael Nelson (michael.nelson) wrote : | # |
Hey William,
As per our conversation, we both agreed that including the "diff from" in the link (ie. generated by the formatter) would be clearer.
Thanks!
William Grant (wgrant) wrote : | # |
Thanks Michael. I've moved 'diff from' into PackageDiff.title, and fixed most of the obvious fallout.
Eleanor Berger (intellectronica) : | # |
Preview Diff
1 | === modified file 'lib/canonical/launchpad/webapp/configure.zcml' |
2 | --- lib/canonical/launchpad/webapp/configure.zcml 2010-05-16 23:56:51 +0000 |
3 | +++ lib/canonical/launchpad/webapp/configure.zcml 2010-05-27 09:11:17 +0000 |
4 | @@ -535,6 +535,12 @@ |
5 | name="fmt" |
6 | /> |
7 | <adapter |
8 | + for="lp.soyuz.interfaces.packagediff.IPackageDiff" |
9 | + provides="zope.traversing.interfaces.IPathAdapter" |
10 | + factory="canonical.launchpad.webapp.tales.PackageDiffFormatterAPI" |
11 | + name="fmt" |
12 | + /> |
13 | + <adapter |
14 | for="*" |
15 | provides="zope.traversing.interfaces.IPathAdapter" |
16 | factory="canonical.launchpad.webapp.tales.PermissionRequiredQuery" |
17 | |
18 | === modified file 'lib/canonical/launchpad/webapp/tales.py' |
19 | --- lib/canonical/launchpad/webapp/tales.py 2010-05-21 02:33:14 +0000 |
20 | +++ lib/canonical/launchpad/webapp/tales.py 2010-05-27 09:11:17 +0000 |
21 | @@ -2460,3 +2460,16 @@ |
22 | def displayname(self, view_name, rootsite=None): |
23 | """Return the displayname as a string.""" |
24 | return self._context.title |
25 | + |
26 | + |
27 | +class PackageDiffFormatterAPI(ObjectFormatterAPI): |
28 | + def link(self, view_name, rootsite=None): |
29 | + diff = self._context |
30 | + if not diff.date_fulfilled: |
31 | + return '%s (pending)' % cgi.escape(diff.title) |
32 | + else: |
33 | + file_size = NumberFormatterAPI( |
34 | + diff.diff_content.content.filesize).bytes() |
35 | + return '<a href="%s">%s</a> (%s)' % ( |
36 | + cgi.escape(diff.diff_content.http_url), |
37 | + cgi.escape(diff.title), file_size) |
38 | |
39 | === modified file 'lib/lp/archiveuploader/nascentupload.py' |
40 | --- lib/lp/archiveuploader/nascentupload.py 2010-03-30 13:53:25 +0000 |
41 | +++ lib/lp/archiveuploader/nascentupload.py 2010-05-27 09:11:17 +0000 |
42 | @@ -920,7 +920,7 @@ |
43 | diff = to_sourcepackagerelease.requestDiffTo( |
44 | sourcepackagerelease.creator, sourcepackagerelease) |
45 | self.logger.debug( |
46 | - 'Package diff for %s from %s requested' % ( |
47 | + '%s %s requested' % ( |
48 | diff.from_source.name, diff.title)) |
49 | |
50 | if self.binaryful: |
51 | |
52 | === modified file 'lib/lp/soyuz/doc/nascentupload-announcements.txt' |
53 | --- lib/lp/soyuz/doc/nascentupload-announcements.txt 2009-12-13 11:55:40 +0000 |
54 | +++ lib/lp/soyuz/doc/nascentupload-announcements.txt 2010-05-27 09:11:17 +0000 |
55 | @@ -143,7 +143,7 @@ |
56 | >>> bar_src.logger = mock_logger |
57 | >>> result = bar_src.do_accept() |
58 | DEBUG: Creating queue entry |
59 | - DEBUG: Package diff for bar from 1.0-1 to 1.0-1 requested |
60 | + DEBUG: bar diff from 1.0-1 to 1.0-1 requested |
61 | DEBUG: Setting it to ACCEPTED |
62 | ... |
63 | DEBUG: Sending rejection email. |
64 | @@ -408,7 +408,7 @@ |
65 | >>> lang_pack.logger = mock_logger |
66 | >>> result = lang_pack.do_accept() |
67 | DEBUG: Creating queue entry |
68 | - DEBUG: Package diff for language-pack-pt from 1.0-2 to 1.0-3 requested |
69 | + DEBUG: language-pack-pt diff from 1.0-2 to 1.0-3 requested |
70 | DEBUG: Setting it to UNAPPROVED |
71 | DEBUG: Skipping acceptance and announcement, it is a language-package upload. |
72 | |
73 | @@ -461,7 +461,7 @@ |
74 | >>> bar_src.logger = mock_logger |
75 | >>> result = bar_src.do_accept() |
76 | DEBUG: Creating queue entry |
77 | - DEBUG: Package diff for bar from 1.0-1 to 1.0-3 requested |
78 | + DEBUG: bar diff from 1.0-1 to 1.0-3 requested |
79 | DEBUG: Setting it to UNAPPROVED |
80 | ... |
81 | |
82 | |
83 | === modified file 'lib/lp/soyuz/doc/package-diff.txt' |
84 | --- lib/lp/soyuz/doc/package-diff.txt 2010-02-23 08:33:11 +0000 |
85 | +++ lib/lp/soyuz/doc/package-diff.txt 2010-05-27 09:11:17 +0000 |
86 | @@ -87,7 +87,7 @@ |
87 | request. |
88 | |
89 | >>> print package_diff.title |
90 | - 0.1-1 to 0.1-2 |
91 | + diff from 0.1-1 to 0.1-2 |
92 | |
93 | IPackageDiff has a property which indicates whether a diff content |
94 | should be private or not. See section 'PackageDiff privacy' below. |
95 | @@ -102,8 +102,8 @@ |
96 | ... requester=cprov, to_sourcepackagerelease=pmount_to) |
97 | Traceback (most recent call last): |
98 | ... |
99 | - PackageDiffAlreadyRequested: 0.1-1 to 0.1-2 was already requested |
100 | - by Celso Providelo |
101 | + PackageDiffAlreadyRequested: diff from 0.1-1 to 0.1-2 was already |
102 | + requested by Celso Providelo |
103 | |
104 | |
105 | == Diff request for source uploads == |
106 | @@ -167,7 +167,7 @@ |
107 | |
108 | >>> [diff] = biscuit_eight_pub.sourcepackagerelease.package_diffs |
109 | >>> print diff.title |
110 | - 1.0-1 to 1.0-8 |
111 | + diff from 1.0-1 to 1.0-8 |
112 | |
113 | We will release ubuntu/hoary so we can upload to post-RELEASE pockets |
114 | and ubuntu/breezy-autotest. |
115 | @@ -185,7 +185,7 @@ |
116 | |
117 | >>> [diff] = biscuit_nine_pub.sourcepackagerelease.package_diffs |
118 | >>> print diff.title |
119 | - 1.0-8 to 1.0-9 |
120 | + diff from 1.0-8 to 1.0-9 |
121 | |
122 | Now version 1.0-12 gets uploaded to the just opened distroseries. It |
123 | gets diffed against the last version present in the RELEASE pocket of |
124 | @@ -199,7 +199,7 @@ |
125 | |
126 | >>> [diff] = biscuit_twelve_pub.sourcepackagerelease.package_diffs |
127 | >>> print diff.title |
128 | - 1.0-8 to 1.0-12 |
129 | + diff from 1.0-8 to 1.0-12 |
130 | |
131 | The subsequent version uploaded to hoary-updates will get a diff |
132 | against 1.0-9. |
133 | @@ -211,7 +211,7 @@ |
134 | |
135 | >>> [diff] = biscuit_ten_pub.sourcepackagerelease.package_diffs |
136 | >>> print diff.title |
137 | - 1.0-9 to 1.0-10 |
138 | + diff from 1.0-9 to 1.0-10 |
139 | |
140 | An upload to other pocket, in this case hoary-proposed, will get a diff |
141 | against the last version in the RELEASE pocket. |
142 | @@ -223,7 +223,7 @@ |
143 | |
144 | >>> [diff] = biscuit_eleven_pub.sourcepackagerelease.package_diffs |
145 | >>> print diff.title |
146 | - 1.0-8 to 1.0-11 |
147 | + diff from 1.0-8 to 1.0-11 |
148 | |
149 | For testing diffs in the PPA context we need to activate the PPA for |
150 | Foo Bar. |
151 | @@ -245,7 +245,7 @@ |
152 | |
153 | >>> [diff] = biscuit_two_pub.sourcepackagerelease.package_diffs |
154 | >>> print diff.title |
155 | - 1.0-8 (in Ubuntu) to 1.0-2 |
156 | + diff from 1.0-8 (in Ubuntu) to 1.0-2 |
157 | |
158 | A subsequent upload in the PPA context will get a diff against 1.0-2, |
159 | the version found in its context. |
160 | @@ -257,7 +257,7 @@ |
161 | |
162 | >>> [diff] = biscuit_three_pub.sourcepackagerelease.package_diffs |
163 | >>> print diff.title |
164 | - 1.0-2 to 1.0-3 |
165 | + diff from 1.0-2 to 1.0-3 |
166 | |
167 | |
168 | == Performing a Diff == |
169 | @@ -422,25 +422,25 @@ |
170 | ... diff.date_fulfilled is not None, id_diff |
171 | |
172 | >>> print_diffs(packagediff_set) |
173 | - biscuit 1.0-2 to 1.0-3 False 0 |
174 | - biscuit 1.0-8 (in Ubuntu) to 1.0-2 False -1 |
175 | - biscuit 1.0-8 to 1.0-11 False -2 |
176 | - biscuit 1.0-9 to 1.0-10 False -3 |
177 | - biscuit 1.0-8 to 1.0-12 False -4 |
178 | - biscuit 1.0-8 to 1.0-9 False -5 |
179 | - biscuit 1.0-1 to 1.0-8 True -6 |
180 | - pmount 0.1-1 to 0.1-2 False -7 |
181 | + biscuit diff from 1.0-2 to 1.0-3 False 0 |
182 | + biscuit diff from 1.0-8 (in Ubuntu) to 1.0-2 False -1 |
183 | + biscuit diff from 1.0-8 to 1.0-11 False -2 |
184 | + biscuit diff from 1.0-9 to 1.0-10 False -3 |
185 | + biscuit diff from 1.0-8 to 1.0-12 False -4 |
186 | + biscuit diff from 1.0-8 to 1.0-9 False -5 |
187 | + biscuit diff from 1.0-1 to 1.0-8 True -6 |
188 | + pmount diff from 0.1-1 to 0.1-2 False -7 |
189 | |
190 | Or only the PackageDiffs not yet fullfilled. |
191 | |
192 | >>> print_diffs(packagediff_set.getPendingDiffs()) |
193 | - pmount 0.1-1 to 0.1-2 False 0 |
194 | - biscuit 1.0-8 to 1.0-9 False 2 |
195 | - biscuit 1.0-8 to 1.0-12 False 3 |
196 | - biscuit 1.0-9 to 1.0-10 False 4 |
197 | - biscuit 1.0-8 to 1.0-11 False 5 |
198 | - biscuit 1.0-8 (in Ubuntu) to 1.0-2 False 6 |
199 | - biscuit 1.0-2 to 1.0-3 False 7 |
200 | + pmount diff from 0.1-1 to 0.1-2 False 0 |
201 | + biscuit diff from 1.0-8 to 1.0-9 False 2 |
202 | + biscuit diff from 1.0-8 to 1.0-12 False 3 |
203 | + biscuit diff from 1.0-9 to 1.0-10 False 4 |
204 | + biscuit diff from 1.0-8 to 1.0-11 False 5 |
205 | + biscuit diff from 1.0-8 (in Ubuntu) to 1.0-2 False 6 |
206 | + biscuit diff from 1.0-2 to 1.0-3 False 7 |
207 | |
208 | Note that the iteration over all PackageDiffs is sorted by descending |
209 | database ID, i.e. newest first, and getPendingDiffs() results are |
210 | @@ -466,8 +466,8 @@ |
211 | >>> sprs = [biscuit_eight_pub.sourcepackagerelease, |
212 | ... biscuit_nine_pub.sourcepackagerelease] |
213 | >>> print_diffs(packagediff_set.getDiffsToReleases(sprs)) |
214 | - biscuit 1.0-1 to 1.0-8 True 0 |
215 | - biscuit 1.0-8 to 1.0-9 False 1 |
216 | + biscuit diff from 1.0-1 to 1.0-8 True 0 |
217 | + biscuit diff from 1.0-8 to 1.0-9 False 1 |
218 | |
219 | The method will return an empty result if no source package releases |
220 | are passed to it: |
221 | @@ -514,7 +514,7 @@ |
222 | ... '1.0-1', archive=foobar.archive) |
223 | >>> [diff] = staging_ppa_pub.sourcepackagerelease.package_diffs |
224 | >>> print diff.title |
225 | - 1.0-1 (in Ubuntu) to 1.0-1 |
226 | + diff from 1.0-1 (in Ubuntu) to 1.0-1 |
227 | |
228 | Commit the transaction for make the uploaded files available in |
229 | librarian: |
230 | @@ -567,7 +567,7 @@ |
231 | ... '1.0-1', archive=foobar.archive) |
232 | >>> [diff] = collision_ppa_pub.sourcepackagerelease.package_diffs |
233 | >>> print diff.title |
234 | - 1.0-1 (in Ubuntu) to 1.0-1 |
235 | + diff from 1.0-1 (in Ubuntu) to 1.0-1 |
236 | |
237 | Note that, despite of having the same name and version, the diff.gz |
238 | and dsc files have different contents. |
239 | @@ -654,7 +654,7 @@ |
240 | |
241 | >>> [broken_diff] = pub.sourcepackagerelease.package_diffs |
242 | >>> print broken_diff.title |
243 | - 1.0-1 (in Ubuntu) to 1.0-2 |
244 | + diff from 1.0-1 (in Ubuntu) to 1.0-2 |
245 | |
246 | With a tainted DSC 'debdiff' cannot do much and fails, resulting in a |
247 | FAILED request (empty 'diff_content' and 'date_fullfilled'). |
248 | @@ -710,7 +710,7 @@ |
249 | |
250 | >>> [diff] = biscuit_two_pub.sourcepackagerelease.package_diffs |
251 | >>> print diff.title |
252 | - 1.0-8 (in Ubuntu) to 1.0-2 |
253 | + diff from 1.0-8 (in Ubuntu) to 1.0-2 |
254 | |
255 | The chosen diff is for a source uploaded to a public PPA. |
256 | |
257 | |
258 | === modified file 'lib/lp/soyuz/doc/publishing.txt' |
259 | --- lib/lp/soyuz/doc/publishing.txt 2010-03-22 07:10:45 +0000 |
260 | +++ lib/lp/soyuz/doc/publishing.txt 2010-05-27 09:11:17 +0000 |
261 | @@ -1314,12 +1314,12 @@ |
262 | >>> pmount_diff = a_source.sourcepackagerelease.requestDiffTo( |
263 | ... cprov, to_source.sourcepackagerelease) |
264 | >>> print pmount_diff.title |
265 | - 1.0 (in Ubuntu) to 0.1-1 |
266 | + diff from 1.0 (in Ubuntu) to 0.1-1 |
267 | |
268 | >>> iceweasel_diff = to_source.sourcepackagerelease.requestDiffTo( |
269 | ... cprov, a_source.sourcepackagerelease) |
270 | >>> print iceweasel_diff.title |
271 | - 0.1-1 (in Ubuntu) to 1.0 |
272 | + diff from 0.1-1 (in Ubuntu) to 1.0 |
273 | |
274 | >>> from canonical.database.sqlbase import flush_database_updates |
275 | >>> flush_database_updates() |
276 | @@ -1359,7 +1359,7 @@ |
277 | pmount 0.1-1 in warty |
278 | |
279 | >>> print diff.title |
280 | - 1.0 (in Ubuntu) to 0.1-1 |
281 | + diff from 1.0 (in Ubuntu) to 0.1-1 |
282 | |
283 | >>> print file.filename |
284 | netapplet-1.0.0.tar.gz |
285 | @@ -1378,7 +1378,7 @@ |
286 | iceweasel 1.0 in warty |
287 | |
288 | >>> print diff.title |
289 | - 0.1-1 (in Ubuntu) to 1.0 |
290 | + diff from 0.1-1 (in Ubuntu) to 1.0 |
291 | |
292 | >>> print file |
293 | None |
294 | |
295 | === modified file 'lib/lp/soyuz/model/packagediff.py' |
296 | --- lib/lp/soyuz/model/packagediff.py 2010-02-04 10:59:30 +0000 |
297 | +++ lib/lp/soyuz/model/packagediff.py 2010-05-27 09:11:17 +0000 |
298 | @@ -123,7 +123,7 @@ |
299 | ancestry_identifier = "%s (in %s)" % ( |
300 | self.from_source.version, |
301 | ancestry_archive.distribution.name.capitalize()) |
302 | - return '%s to %s' % (ancestry_identifier, self.to_source.version) |
303 | + return 'diff from %s to %s' % (ancestry_identifier, self.to_source.version) |
304 | |
305 | @property |
306 | def private(self): |
307 | |
308 | === modified file 'lib/lp/soyuz/stories/soyuz/xx-package-diff.txt' |
309 | --- lib/lp/soyuz/stories/soyuz/xx-package-diff.txt 2009-09-18 11:12:22 +0000 |
310 | +++ lib/lp/soyuz/stories/soyuz/xx-package-diff.txt 2010-05-27 09:11:17 +0000 |
311 | @@ -87,9 +87,9 @@ |
312 | >>> diffs = list(diff_set.getPendingDiffs()) |
313 | >>> for diff in diffs: |
314 | ... print diff.title |
315 | - 1.0-1 to 1.0-2 |
316 | - 1.0-2 to 1.0-3 |
317 | - 1.0-3 (in Ubuntu) to 1.0-4 |
318 | + diff from 1.0-1 to 1.0-2 |
319 | + diff from 1.0-2 to 1.0-3 |
320 | + diff from 1.0-3 (in Ubuntu) to 1.0-4 |
321 | |
322 | Perform some diffs in advance, the first diff in ubuntu and the diff |
323 | in PPA will be performed, the second diff in ubuntu will be performed |
324 | @@ -139,13 +139,13 @@ |
325 | Pending in hoary-release |
326 | ... |
327 | Available diffs |
328 | - 1.0-2 to 1.0-3 (pending) |
329 | + diff from 1.0-2 to 1.0-3 (pending) |
330 | ============================== |
331 | 1.0-2 |
332 | Pending in hoary-release |
333 | ... |
334 | Available diffs |
335 | - 1.0-1 to 1.0-2 (3 bytes) |
336 | + diff from 1.0-1 to 1.0-2 (3 bytes) |
337 | ============================== |
338 | 1.0-1 |
339 | Pending in hoary-release |
340 | @@ -153,14 +153,14 @@ |
341 | |
342 | Diffs already performed are rendered as link to the librarian file. |
343 | |
344 | - >>> print anon_browser.getLink('1.0-1 to 1.0-2').url |
345 | + >>> print anon_browser.getLink('diff from 1.0-1 to 1.0-2').url |
346 | http://.../biscuit_1.0-1_1.0-2.diff.gz |
347 | |
348 | On the other hand, diffs not yet performed are rendered as plain text, |
349 | and "(pending)" is appended to the text as a further hint that it's not |
350 | ready yet. |
351 | |
352 | - >>> anon_browser.getLink('1.0-2 to 1.0-3') |
353 | + >>> anon_browser.getLink('diff from 1.0-2 to 1.0-3') |
354 | Traceback (most recent call last): |
355 | ... |
356 | LinkNotFoundError |
357 | @@ -176,7 +176,7 @@ |
358 | >>> logout() |
359 | |
360 | >>> anon_browser.reload() |
361 | - >>> print anon_browser.getLink('1.0-2 to 1.0-3').url |
362 | + >>> print anon_browser.getLink('diff from 1.0-2 to 1.0-3').url |
363 | http://.../biscuit_1.0-2_1.0-3.diff.gz |
364 | |
365 | The same page section is presented in the corresponding |
366 | @@ -188,9 +188,9 @@ |
367 | ... anon_browser.contents, 'diff-for-1.0-3') |
368 | >>> print extract_text(diff_section) |
369 | Available diffs |
370 | - 1.0-2 to 1.0-3 (3 bytes) |
371 | + diff from 1.0-2 to 1.0-3 (3 bytes) |
372 | |
373 | - >>> print anon_browser.getLink('1.0-2 to 1.0-3').url |
374 | + >>> print anon_browser.getLink('diff from 1.0-2 to 1.0-3').url |
375 | http://.../biscuit_1.0-2_1.0-3.diff.gz |
376 | |
377 | |
378 | @@ -218,7 +218,7 @@ |
379 | Publishing details |
380 | ... |
381 | Available diffs |
382 | - 1.0-3 (in Ubuntu) to 1.0-4 (pending) |
383 | + diff from 1.0-3 (in Ubuntu) to 1.0-4 (pending) |
384 | ... |
385 | |
386 | If we complete the diff, the text changes. |
387 | @@ -233,11 +233,11 @@ |
388 | Publishing details |
389 | ... |
390 | Available diffs |
391 | - 1.0-3 (in Ubuntu) to 1.0-4 (3 bytes) |
392 | + diff from 1.0-3 (in Ubuntu) to 1.0-4 (3 bytes) |
393 | ... |
394 | |
395 | The text also links to the librarian file containing the diff. |
396 | |
397 | >>> print anon_browser.getLink( |
398 | - ... '1.0-3 (in Ubuntu) to 1.0-4').url |
399 | + ... 'diff from 1.0-3 (in Ubuntu) to 1.0-4').url |
400 | http://.../biscuit_1.0-3_1.0-4.diff.gz |
401 | |
402 | === modified file 'lib/lp/soyuz/stories/soyuz/xx-queue-pages.txt' |
403 | --- lib/lp/soyuz/stories/soyuz/xx-queue-pages.txt 2010-03-17 01:53:33 +0000 |
404 | +++ lib/lp/soyuz/stories/soyuz/xx-queue-pages.txt 2010-05-27 09:11:17 +0000 |
405 | @@ -170,6 +170,29 @@ |
406 | |
407 | == Queue item filelist == |
408 | |
409 | +First set up some additional data: a package diff to show in the listing. |
410 | + |
411 | + >>> from StringIO import StringIO |
412 | + >>> from zope.security.proxy import removeSecurityProxy |
413 | + >>> from canonical.database.constants import UTC_NOW |
414 | + >>> from canonical.librarian.interfaces import ILibrarianClient |
415 | + >>> from lp.soyuz.interfaces.packagediff import ( |
416 | + ... PackageDiffStatus) |
417 | + >>> login(ANONYMOUS) |
418 | + >>> old = main_archive.getPublishedSources( |
419 | + ... name='alsa-utils', version='1.0.9a-4')[0].sourcepackagerelease |
420 | + >>> new = main_archive.getPublishedSources( |
421 | + ... name='alsa-utils', |
422 | + ... version='1.0.9a-4ubuntu1')[0].sourcepackagerelease |
423 | + >>> diff = removeSecurityProxy(old.requestDiffTo( |
424 | + ... requester=name12, to_sourcepackagerelease=new)) |
425 | + >>> diff.date_fulfilled = UTC_NOW |
426 | + >>> diff.status = PackageDiffStatus.COMPLETED |
427 | + >>> diff.diff_content = getUtility(ILibrarianClient).addFile( |
428 | + ... 'alsa-utils.diff.gz', 11, StringIO('i am a diff'), |
429 | + ... 'application/gzipped-patch') |
430 | + >>> logout() |
431 | + |
432 | Each queue item has a hidden 'filelist' section which is |
433 | toggled via javascript by clicking in the 'expand' arrow |
434 | image: |
435 | @@ -195,13 +218,16 @@ |
436 | >>> for row in filelist: |
437 | ... print extract_text(row) |
438 | alsa-utils_1.0.9a-4ubuntu1.dsc (3 bytes) |
439 | + diff from 1.0.9a-4 to 1.0.9a-4ubuntu1 (11 bytes) |
440 | |
441 | Each filename links to its respective librarian URL: |
442 | |
443 | - >>> print row.find('a') |
444 | - <a href="http://localhost:58000/43/alsa-utils_1.0.9a-4ubuntu1.dsc"> |
445 | + >>> for row in filelist: |
446 | + ... print row.find('a') |
447 | + <a href="http://localhost:58000/.../alsa-utils_1.0.9a-4ubuntu1.dsc"> |
448 | alsa-utils_1.0.9a-4ubuntu1.dsc |
449 | </a> |
450 | + <a href="http://localhost:58000/.../alsa-utils.diff.gz">diff from 1.0.9a-4 to 1.0.9a-4ubuntu1</a> |
451 | |
452 | On binary queue items we also present the stamp 'NEW' for files never |
453 | published in the archive (it helps archive admins when reviewing |
454 | |
455 | === modified file 'lib/lp/soyuz/templates/distroseries-queue.pt' |
456 | --- lib/lp/soyuz/templates/distroseries-queue.pt 2010-03-16 01:13:05 +0000 |
457 | +++ lib/lp/soyuz/templates/distroseries-queue.pt 2010-05-27 09:11:17 +0000 |
458 | @@ -284,6 +284,20 @@ |
459 | <td colspan="6"/> |
460 | </tr> |
461 | </tal:custom> |
462 | + |
463 | + <tal:diffs condition="packageupload/sourcepackagerelease"> |
464 | + <tr tal:define="diffs packageupload/sourcepackagerelease/package_diffs" |
465 | + tal:repeat="diff diffs" |
466 | + tal:attributes="class string:${filelist_class}" |
467 | + style="display:none"> |
468 | + <td/> |
469 | + <td tal:condition="view/availableActions"></td> |
470 | + <td> |
471 | + <tal:difflink replace="structure diff/fmt:link" /> |
472 | + </td> |
473 | + <td colspan="6"/> |
474 | + </tr> |
475 | + </tal:diffs> |
476 | </tal:upload> |
477 | |
478 | </metal:macro> |
479 | |
480 | === modified file 'lib/lp/soyuz/templates/sourcepackagepublishinghistory-listing-archive-extra.pt' |
481 | --- lib/lp/soyuz/templates/sourcepackagepublishinghistory-listing-archive-extra.pt 2009-09-18 11:12:22 +0000 |
482 | +++ lib/lp/soyuz/templates/sourcepackagepublishinghistory-listing-archive-extra.pt 2010-05-27 09:11:17 +0000 |
483 | @@ -22,20 +22,7 @@ |
484 | tal:condition="diffs"> |
485 | <h3>Available diffs</h3> |
486 | <ul> |
487 | - <li tal:repeat="diff diffs"> |
488 | - <tal:pending condition="not: diff/date_fulfilled"> |
489 | - <tal:pending-diff replace="diff/title"> |
490 | - 1.0 (in Ubuntu) to 1.1 |
491 | - </tal:pending-diff> (pending) |
492 | - </tal:pending> |
493 | - <tal:fulfilled condition="diff/date_fulfilled"> |
494 | - <a tal:attributes="href diff/diff_content/http_url" |
495 | - tal:content="diff/title">1.0 (in Ubuntu) to 1.1</a> |
496 | - (<tal:size |
497 | - replace="diff/diff_content/content/filesize/fmt:bytes" |
498 | - >100 bytes</tal:size>) |
499 | - </tal:fulfilled> |
500 | - </li> |
501 | + <li tal:repeat="diff diffs" tal:content="structure diff/fmt:link" /> |
502 | </ul> |
503 | </div> |
504 | |
505 | |
506 | === modified file 'lib/lp/soyuz/templates/sourcepackagerelease-diffs.pt' |
507 | --- lib/lp/soyuz/templates/sourcepackagerelease-diffs.pt 2009-09-18 11:12:22 +0000 |
508 | +++ lib/lp/soyuz/templates/sourcepackagerelease-diffs.pt 2010-05-27 09:11:17 +0000 |
509 | @@ -11,19 +11,7 @@ |
510 | <h3>Available diffs</h3> |
511 | |
512 | <ul> |
513 | - <li tal:repeat="diff diffs"> |
514 | - <tal:pending condition="not: diff/date_fulfilled"> |
515 | - <tal:pending-diff replace="diff/title"> |
516 | - 1.0 (in Ubuntu) to 1.1 |
517 | - </tal:pending-diff> (pending) |
518 | - </tal:pending> |
519 | - <tal:fulfilled condition="diff/date_fulfilled"> |
520 | - <a tal:attributes="href diff/diff_content/http_url" |
521 | - tal:content="diff/title">1.0 (in Ubuntu) to 1.1</a> |
522 | - (<tal:size replace="diff/diff_content/content/filesize/fmt:bytes" |
523 | - >100 bytes</tal:size>) |
524 | - </tal:fulfilled> |
525 | - </li> |
526 | + <li tal:repeat="diff diffs" tal:content="structure diff/fmt:link" /> |
527 | </ul> |
528 | |
529 | </div> |
Screenshot at http:// people. ubuntu. com/~wgrant/ launchpad/ queue-diff- screenshot. png.