[01:45] would someone like to review my zconfig patch, as the maintainer seems to not be doing so :( [02:09] lifeless: Hm? [02:09] lifeless: You proposed it into an import [02:09] I'm not surprised nobody reviewed it [02:09] abel did that previously; I commented on the bug to grab freds attention too :) [02:14] I guess foo = [bar if bar.active and bar.baz in supported for bar in all_bars] is malformed? [02:14] it may want brackets [02:14] because you have two ins [02:15] if (bar.active and bar.baz in supported) also gives syntax error [02:16] oh [02:16] lol [02:16] the if goes at the end [02:16] [bar for bar in all_bars if bar.active and bar.baz in supported] [02:16] lifeless: Ah! Indeed, thanks [02:48] Bleh, Launchpad.login_with('foo', 'dogfood') doesn't work :-( [04:15] wallyworld_: O hai -- do you know much about StormStatementRecorder? I'm invalidating my store, but still can't get it to actually make a query [04:15] you mean record a query? [04:17] it's normally used after flushing the store, eg [04:17] Store.of(bug).flush() [04:17] with StormStatementRecorder() as recorder: [04:17] previous_dup.markAsDuplicate(bug) [04:17] self.assertThat(recorder, HasQueryCount(LessThan(95))) [04:18] I'm suspecting that it isn't working for the webservice [04:18] i wonder why if that's the case. i can't see why the webservice would not play nicely with it [04:20] wallyworld_: http://pastebin.ubuntu.com/1186788/ [04:21] hmmm. how come you can't test this using the recipes() method directly as part of a unit test? [04:29] wallyworld_: If I use owner.recipes[0], I get one query. I'm wanting to use the API because lazr marshalls the vocab that the recipe includes and that involves at least two queries, per recipe. [04:30] the vocab marshalling is a constant count though right? and outside our control? so do we need to measure it for these tests? [04:30] So I've rewritten the vocab, so it shouldn't make any queries, which is exactly what I'm trying to test. [04:31] can you test that as a unit test on the vocab? [04:31] Personally, I'd like to see it on the API [04:32] i'm not sure why its not working sadly [04:32] i'd have to fire up the debugger and see what's going on [04:33] wallyworld_: Could I bug you to do so while I do it as well and we'll meet in the middle? [04:33] ok [04:37] StevenK: launchpadlib_for requires AppServerLayer, doesn't it? [04:38] Which means it connects to a real appserver [04:38] So a statement recorder in the test process isn't going to do you much good [04:38] Also, don't use launchpadlib in tests [04:38] It's even slower than Launchpad [04:39] wgrant: Then how I can test the marshalling? [04:40] Or is the easiest answer "Just don't" ? [04:40] StevenK: webservice_for_person [04:40] Gives you a rawer interface [04:41] Without all the wadllib etc. overhead [04:41] Just dealing with JSON [04:41] StevenK: QueryCollector is think is what you want to use [04:41] it seems to be the way to collect sql statements for ws interactions? [04:42] QueryCollector uses the stuff in the request, I think, but it probably still only works if the request is in-process [04:42] SSR should work fine with webservice_for [04:43] Now I'm stuck on how to get at the recipes [04:43] Oh? [04:45] As changing the ws_owner.recipes[0] call [04:46] I'd get the recipe from the DB and call canonical_url on it [04:51] wgrant: Hah, except that canonical_url includes code.launchpad.dev, and webservice_for_person wants no part of that. [04:53] * StevenK sprinkles in force_local_path [04:56] Right, that test in devel is 34 queries. With my rewritten vocab, 28. [04:57] :) [04:57] How'd you do it? [04:57] No longer a SimpleVocabulary? [04:58] Yeah, it's now a IHugeVocabulary [05:01] wgrant: Do you want to see a diff or shall I just put it up for review? [05:07] StevenK: Review! [05:19] wgrant: https://code.launchpad.net/~stevenk/launchpad/sane-buildable-distroseries/+merge/122791 [05:31] wallyworld_: Your stuff made it through buildbot finally [05:55] yes indeed [05:55] it's even ready for qa [06:04] StevenK: You have a bit of QA too [06:09] wgrant: Done. [06:09] Do we want another deployment? [06:15] We've not ndted in more than 24 hours! [06:15] So that's not a question [06:56] wgrant: you sound like a junky trying to get his fix. "Maaannn, I haven't had an NDT in 24-hours maaannn. i gotta score some NDT" === almaisan-away is now known as al-maisan [07:03] Heh [07:40] good morning [08:42] bigjools: heh, we got a pycharm license at work since all our work is open source :) [08:47] :) [10:37] just to confirm, there's no way to go from a binary package to a source package in the API, right? https://bugs.launchpad.net/ubuntu/+source/python-launchpadlib/+bug/597041 leads me to believe this. [10:37] <_mup_> Bug #597041: No way to get from binary package to source package < https://launchpad.net/bugs/597041 > [10:43] ev: There are no binary or source *packages* exposed in the API, just publications of those packages -- do you mean binary_package_publishing_history and source_package_publishing_history? [10:43] If so, that's correct, there's no present way to do it [10:43] yes, that [10:44] hmm okay [10:44] thanks [10:45] Indeed. In auto-sync I just worked around it by reading current Sources files. [10:45] Which isn't great but in context it's workable enough. [10:49] hm, we actually send the source package up in the reports that apport generates [10:49] so I'll just grab the first instance from the db for now === mpt_ is now known as mpt [12:22] No handlers for logger bzr. Does this mean I need to setup that VM now? [12:23] TacException: Error running ['/usr/bin/python2.7', '-Wignore::DeprecationWarning', '/home/stub/lp/replication/bin/twistd', '-o', '-y', '/home/stub/lp/replication/daemons/librarian.tac', '--pidfile', '/tmp/tmpeX98el/librarian.pid', '--logfile', '/tmp/tmpeX98el/librarian.log']: unclean stdout/err: No handlers could be found for logger "bzr" [12:27] lp_sitecustomize should be fixing that :-/ [12:27] stub: means you need to do whichever update launchpad deps you need today [12:28] I'll try that again, but I think I'm fully up to date. [12:28] but yeah, if the branch includes my lp_sitecustomise change, I'm suprised there's still a test failure [12:28] Not my branch, just looking at the code that is supposed to make this problem go away. [12:31] what's the last rev in the branch with the test failure? [12:46] And now I can't even build mailman... grrr... [12:47] stub: make clean_buildout compile [12:47] Yeah, just let me remove the pdb.debug() from lp_sitecustomize.py [12:57] hit it harder, it is ok now. [13:54] hi jam and mgz, since you've taken an interest in the canonistack instance we're running, i wonder if you'd like to review a branch i just did that opens up management of it to ~launchpad? it's at https://code.launchpad.net/~bac/lp-tarmac-configs/add-launchpad-members/+merge/122877 [13:56] * mgz has a look [13:57] Unauthorized: (, 'landing_targets', 'launchpad.View') [13:58] bac: maybe you could also open up the branch to launchpad members? :) [13:58] mgz: i just tried and thought i had [13:58] let me lok [13:58] look [13:59] mgz: try now [13:59] 200 [14:03] is get_lp_people correct? only deals with a limited level of team nesting [14:03] I guess we're not that deeply nested in launchpad anyway... [14:05] mgz: team.participants does multiple levels, i believe [14:06] ah, it's a flattened list of everything? [14:07] mgz, yes, as compared to .members [14:09] Anyone else getting "AssertionError: newInteraction called while another interaction is active." on ec2 runs? [14:23] deryck: Any idea about this? ^^^ [14:25] abentley, isn't that from when you're using one of the page test browsers and don't logout before starting a new operation? [14:25] deryck: Okay, I'll see if that could be it. === al-maisan is now known as almaisan-away === almaisan-away is now known as al-maisan === matsubara is now known as matsubara-lunch === al-maisan is now known as almaisan-away [16:07] adeuring: reconcile_access_for_artifact is not working for me. Has all the necessary code been merged? http://pastebin.ubuntu.com/1187456/ [16:08] abentley: no, it's only in my branch.... [16:11] adeuring: Okay, I need a working IAccessArtifactSource.ensure([blueprint]), so I'll wait on your work for the grants. [16:11] ok [16:13] adeuring: I'll focus on the subscriptions. [16:13] abentley: but the fix for the the error is really simple [16:13] abentley: one more "elif ISpeicification.porvidedBy(...)" in _constraintForConcrete() [16:14] adeuring: Okay. === abentley is now known as abentley-lunch === matsubara-lunch is now known as matsubara === Ursinha_ is now known as Guest65952 === Ursinha-afk is now known as Ursula === abentley-lunch is now known as abentley === deryck is now known as deryck[afk] [19:54] sinzui: I'm working on Specification.transitionToInformationType, and looking at the bug version, but having trouble understanding who should be automatically subscribed to a Specification. [19:55] the bug version is being removed in a few weeks. No one needs to be subscribed to bugs when every project uses bugs [19:55] sharing I mean [19:55] So the transition only needs to unsubscribe the people who do not already have access [19:55] You might want to subscribe the person making the change so that they can undo it [20:28] sinzui: Okay, and the idea is that anyone else who needs access will get it by an AccessPolicyGrant? What about the owner-- it seems like they might not have access via the policy. [20:29] The owner of the blueprint? [20:30] sinzui: Yes, the owner of the blueprint. [20:31] What do we do for branches? oh, we give the owner a subscription that the project owner can later revoke [20:32] abentley, I think this is an odd corner case. This is like a random person creating a blueprint on my project that just happens to relate to a real secret thing I am working on [20:32] This is unlikely to happen, and if it does, the non-contributor is probably in the wrong [20:34] abentley, I am sharing ~canonical with all its commercial projects so that our organisation has full access. We advise every commercial project to to do that, I don't think we need to subscribe the blueprint owner or anyone other that the person that changed the information type [20:34] sinzui: Cool. [20:35] sinzui: Thanks for the clarification. [20:36] np === deryck[afk] is now known as deryck === almaisan-away is now known as al-maisan === al-maisan is now known as almaisan-away === salgado is now known as salgado-afk === salgado-afk is now known as salgado [22:13] wgrant: e3522ed011014e61b507a1d730726769 [22:30] sinzui: http://www.timeanddate.com/worldclock/meetingtime.html?iso=20120905&p1=240&p2=136&p3=263 === mwhudson_ is now known as mwhudson [23:35] wgrant: I guess bug 1046024 is untestable and should be marked as such? [23:35] <_mup_> Bug #1046024: product release finder ignores .apk files < https://launchpad.net/bugs/1046024 > [23:36] StevenK: Right [23:49] wgrant: I guess bug 892511 can be nailed shut since the reoccurance was due to the DC move and sorted out quickly afterward? [23:49] <_mup_> Bug #892511: recipe build: ERROR: no such option: --allow-fallback-to-native < https://launchpad.net/bugs/892511 > [23:53] StevenK: Indeed. [23:53] I wish people wouldn't reopen old long-closed bugs :( [23:55] I think bug 940168 is fixed too [23:55] <_mup_> Bug #940168: Two merge requests created on double-click < https://launchpad.net/bugs/940168 > [23:55] It's not [23:55] I've not been able to trigger it [23:56] StevenK: Just click it twice quickly [23:56] While the first one is still spinning