[00:32] wgrant: https://code.launchpad.net/~stevenk/launchpad/distroseries-spec-preload/+merge/180046 [02:03] StevenK: What about searches that don't need workitems? [02:03] And also I think your preloading omits a sort. [02:04] wgrant: I should order by workitem.sequence ? [02:05] wgrant: I was thinking about that -- which calls don't you think require workitems? [02:06] StevenK: The web UI's search, for example. [02:07] StevenK: You should probably aggregate the workitems by spec, then sort each spec's items, then add them to the spec. [02:08] wgrant: Which means no load_referencing() :-( [02:08] StevenK: Sort afterwards. [02:08] Sorting it Python is fine when you need the whole set anyway. [02:11] wgrant: I see what you mean WRT the web UI, but I don't think I can tell the difference in a preload hook [02:18] StevenK: You can't, no. You need to use an argument. [02:19] Most of the methods that preload stuff like that have a kwarg to enable it. [02:20] wgrant: Right. We already have that [02:21] I'll check that the webui stuff turns off preload [02:28] wgrant: http://pastebin.ubuntu.com/5987337/ [02:36] StevenK: Sounds reasonable. [03:16] wgrant: The diff is updated [03:17] But I suspect I need to rework the preload hook [03:17] We want to preload people always, but not workitems [03:17] Right [03:17] getPrecachedPersonsById or whatever it is has an option for each [05:08] Blah [05:08] visible_specifications and _valid_specifications are properties, and exported as such [05:27] StevenK: What's the issue with that? [05:31] wgrant: The browser code calls the same properties that the API does. [05:47] wgrant: http://pastebin.ubuntu.com/5987804/ is what I have, with the plan that the webui doesn't add prejoin_objects and the API does. [05:50] StevenK: Isn't linked_branches needed by the web UI? [05:51] wgrant: Hm, maybe [05:51] Then we have objects and extra_objects? [05:51] This is a horrible mess [05:53] StevenK: The others have a flag for each. need_branches, need_people, for example. [05:54] wgrant: Right, but I still don't see how I can seperate it out if it's called via properties [05:54] StevenK: You can't use the property. [05:58] Grump [05:58] Let me think [06:11] * StevenK tries to work out how to combine functions [06:13] StevenK: Combine? [06:14] wgrant: If I have need_people, need_branches, need_workitems then I have three pre_iter_hooks to call [06:20] StevenK: Why not have one pre_iter_hook? [06:21] wgrant: Oh, with partial() ? [06:21] StevenK: with if [06:22] wgrant: I need to throw arguments at it, don't I? [06:24] StevenK: Closures [06:26] Bleh, nested functions [06:27] I think I've seen partial as an existing pattern [06:27] The existing stuff doesn't use partial [06:28] Aw [06:28] See prepopulate_person in _getPrecachedPersons [06:28] Pretty simple [06:28] That's a decorator rather than a pre_iter_hook, but you get the idea. [06:29] Yes === tasdomas_afk is now known as tasdomas === olli_ is now known as olli === tasdomas is now known as tasdomas_afk [21:05] jelmer: Can you land the bzr-git thing? [21:05] Thanks for the reviews. [21:07] wgrant: you should be able to, I think [21:08] jelmer: I'm not in bzrish teams [21:10] wgrant: I'm sure that's fixable :-) [21:11] I guess I can land this one change; I'd like to avoid the impression that I'm actually maintaining it though. [21:13] jelmer: Who should I talk to about ~bzr membership? [21:13] Though it would be appreciated if you could land this one. [21:13] wgrant: sure, I can do that [21:14] wgrant: I think jam is probably the best person to ask about it [21:14] jelmer: Thanks, will do. [23:36] jelmer: Thanks! [23:36] thank you :)