launchpad-dev team mailing list archive
-
launchpad-dev team
-
Mailing list archive
-
Message #09225
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