The proposal to merge lp:~cjwatson/launchpad/queue-api into lp:launchpad has 
been updated.

Description changed to:

== Summary ==

Implement the next stage of 
https://code.launchpad.net/~cjwatson/launchpad/queue-api-accept-reject/+merge/107894,
 by exporting substantially more of PackageUpload.

== Proposed fix ==

Export enough of PackageUpload and DistroSeries.getPackageUploads to allow 
implementing an API client that replaces scripts/ftpmaster-tools/queue.

== Pre-implementation notes ==

I've gone round a few times with various people, particularly William Grant, on 
the exact way to export all of this stuff, because I gather that we want to 
avoid exposing the current data model in order that it can be rearranged in the 
future.  This has led to the following design choices:

 * Everything is on devel.  The only clients for this should be tools such as 
those in lp:ubuntu-archive-tools, which can be kept up to date if there's a 
need to change these interfaces.
 * Even though some of the underlying methods are on other objects, all the new 
exported methods are on PackageUpload rather than exporting anything else.
 * There are source packages with lots of binaries that sometimes need to be 
overridden individually (e.g. linux) and API requests aren't especially fast.  
I've therefore arranged for properties (including overrides) of all binaries in 
an upload to come back as a list of dicts in a single JSON response, and I've 
amended Archive.overrideBinaries to take a similar list of dicts as a "changes" 
parameter, allowing many override changes to be made in a single request.

== LOC Rationale ==

+615, on top of a previous branch that was +91.  I think this is valid because 
this is part of an arc of work (resourced by Ubuntu Engineering) that will 
culminate in removing lib/lp/soyuz/scripts/queue.py and 
scripts/ftpmaster-tools/queue for at least -862.  While it's possible there'll 
be one or two more bits and pieces, they shouldn't amount to any more than 
+156, so this whole arc will be LoC-negative.

== Tests ==

bin/test -vvct nascentupload-ddebs.txt -t distroseriesqueue.txt -t 
xx-packageupload.txt -t test_distroseriesqueue -t test_packageupload

== Demo and Q/A ==

http://paste.ubuntu.com/1026996/ is my prototype client; I plan to walk through 
all its functionality against qastaging (or dogfood if I need to make new 
uploads).

For more details, see:
https://code.launchpad.net/~cjwatson/launchpad/queue-api/+merge/108967
-- 
https://code.launchpad.net/~cjwatson/launchpad/queue-api/+merge/108967
Your team Launchpad code reviewers is subscribed to branch lp:launchpad.

_______________________________________________
Mailing list: https://launchpad.net/~launchpad-reviewers
Post to     : [email protected]
Unsubscribe : https://launchpad.net/~launchpad-reviewers
More help   : https://help.launchpad.net/ListHelp

Reply via email to