[15:43] <nacc> so I'm reading git_repository.landing_candidates_collection_link and my impression was that it would return a collection of objects but it actually returns a collection of strings? So I need to go look those up ?
[15:43] <nacc> (reading at https://launchpad.net/+apidoc/devel.html#git_repository)
[15:50] <cjwatson> nacc: If you're using launchpadlib, just use git_repository.landing_candidates and it will deal with all the resolution for you.
[15:50] <nacc> cjwatson: ah! thanks
[15:50] <cjwatson> nacc: The actual REST API is in terms of links, but with launchpadlib you generally want to drop any _link or _collection_link suffixes.
[15:50] <nacc> cjwatson: got it
[15:50] <cjwatson> nacc: Unless you're trying to optimise away the bit where it goes back to the webservice to resolve whatever the link is.
[15:51] <cjwatson> (which is sometimes a good idea, depending)
[15:51] <cjwatson> For collections you almost always want to let launchpadlib do it, though, since you probably don't want to have to mess about with batching for yourself ...
[15:51] <nacc> yep
[15:53] <nacc> so another nuance i noticed yesterday -- regardless of git_repo.canBeDeleted()'s response, I can delete() the repo. That's fine, but the MPs tied to the repo just go away. I'm putting comments in that case (this is to handle having to reimport something with pending MPs), and I don't see an API to explicitly delete a MP. Should I just rely on git_repo deletion deleting the MPs?
[15:56] <cjwatson> nacc: MP deletion isn't exposed on the API, but you can safely rely on deleting a repository also deleting any MPs that have that repository as their source or target.
[15:57] <cjwatson> nacc: .lp_delete() will raise an exception and thus return non-200 if .canBeDeleted() returns False.
[15:58] <cjwatson> I believe .lp_delete() will turn the 400 response into a BadRequest exception.
[15:58] <nacc> cjwatson: hrm, it didn't for me last week
[15:59] <nacc> cjwatson: it just went ahead and delete the repo & MPs :)
[15:59] <nacc> *deleted
[15:59] <nacc> cjwatson: i'll see if i can reproduce it?
[16:02] <cjwatson> nacc: Not really interesting.  Was probably just a TOCTOU type thing.
[16:03] <nacc> cjwatson: ok
[16:05] <cjwatson> The code is really too straightforward to be wrong:
[16:05] <cjwatson>         if not self.canBeDeleted():
[16:05] <cjwatson>             raise CannotDeleteGitRepository(
[16:05] <cjwatson>                 "Cannot delete Git repository: %s" % self.unique_name)
[16:05] <nacc> heh
[16:05] <nacc> yep, that seems fine. I'll leave it as-is for now, and see what happens in the future.
[18:30] <acheronuk> is there an issue with lgw01 builders again? seems apart from just a few, they are forever 'cleaning' again, while the build queue is far from empty
[19:43] <rkota> Hi, is it possible to mark a  proprietary bug as affecting 2 "Proprietary" projects, if both projects are owned/controlled by same "private team" ? Thx
[21:28] <cjwatson> acheronuk: There's always an issue with lgw01 at the moment.  I've stabbed it again; it's due for redeployment soonish, hopefully.
[21:31] <tsimonq2> cjwatson: really really glad to hear :)
[21:33] <acheronuk> cjwatson: thanks for that info
[21:34] <cjwatson> rkota: No, sorry.  (I doubt that exception would fly, because it's very unclear what would happen if one of the projects' ownerships changed in the future.)