On Thu, Apr 12, 2012 at 2:32 PM, Robert Collins
<robert.coll...@canonical.com> wrote:
> On Thu, Apr 12, 2012 at 2:11 PM, William Grant
> <william.gr...@canonical.com> wrote:
>> On 12/04/12 11:17, Ian Booth wrote:
>>> Hi James
>>>
>>>>
>>>> Firstly I wanted to note that lp.projects is a heterogenous collection
>>>> isn't it? You can access both projects and project groups with it, and
>>>> don't they have a different interface?
>>>>
>>>
>>> AFAIK, project groups are handled separately, using lp.project_groups
>>
>> lp.projects['fooprojectgroup'] happens to work because launchpadlib's
>> ProjectSet generates a URL of /fooprojectgroup, and that URL namespace
>> is shared between projects, distributions and project groups. The
>> returned interfaces are heterogeneous because of exactly the hack that
>> Ian proposes as the easy solution -- indexing a client-defined
>> collection like ProjectSet just generates a URL with a known structure
>> and requests that resource, respecting whatever resource type is returned.
>
> Right, and thats why I'm saying the previously sketched thing of
> respecting such information consistently will reduce the special
> casing code, close of a couple of long standing bugs, be easier to
> maintain and work with.
>
> So I rejected your MP and pointed you at the root cause. It still lets
> you expose a collection of services but you don't need the special
> casing. I don't think it is a distraction in any way.

(thats bug #340935 - thanks wgrant)

-Rob

_______________________________________________
Mailing list: https://launchpad.net/~launchpad-dev
Post to     : launchpad-dev@lists.launchpad.net
Unsubscribe : https://launchpad.net/~launchpad-dev
More help   : https://help.launchpad.net/ListHelp

Reply via email to