← Back to team overview

launchpad-dev team mailing list archive

Re: Help please - launchpadlib collections

 

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hi Francis

> 
> One thing that I'm wondering though is if your ServiceSet is a real
> collection. Can you iterate the services? Is there a use case for that?
> In other word, is there any advantage to providing the collection API to it?
> 
> In a way, you might be better to export this as a ITopLevelEntry, and
> still provide custom class that does the key-mapping in launchpadlib.
> 

See my answer (sent to the list) to James who asked a similar question.

<snip>
WADL issues
<snip>

>>
>> 1. Adopt my current solution which defines a ServiceSet in launchpadlib
>> and allows the syntax lp.services['myservice']
> 
> I think that might be the best way forward - modulo my concerns with the
> fact that you are not really exporting a collection.
>

Hopefully my explanation in the other email provides the reasons why I
chose to export the services as a collection.


>> 2. Fix bug 681767 (not sure of the effort required) and use syntax
>> lp.load('/+services/myservice')
> 
> That one looks shallow. It's worth fixing, but the API wouldn't be as
> nice as the key lookup.
>

Agreed. I was going to look at fixing that bug but really also prefer
the key lookup approach.

> 
>> 3. Address the WADL/lazr.restful issues to support syntax
>> lp.services['myservice'] and make launchpadlib 'futureproof'
>>
> 
> Adding support for representing URLs in the WADL would be nice, but
> would require some effort (and several branches across launchpad,
> lazr.restful, lazr.restfulclient and launchpadlib). It would be a nice
> addition, but probably a distraction at this point.
> 

That was my thinking which is why I chose the "easy" path of
implementing option 1 even though it adds (a little) to LOC count.

Thanks for the input on this topic.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iJwEAQECAAYFAk+GL0AACgkQCJ79BCOJFca9DgQAgdKhnZje77HRXGEHys31bDP5
SIsH5q0XHFgVbFPez7xw0H0fdT7j6AltxtTM8q5+kRw9hLkRjysw7c9gjD8GrYp0
ve6HSebeS3rRE+4r1iZKm09jZT6HE+s9AcKnviSf0CSAv9hEDfMW9M8gpZUPIvqu
tIPB7KizDmx99Ow9xyg=
=XJra
-----END PGP SIGNATURE-----


Follow ups

References