[04:20] <StevenK> wgrant: Does @export_read_operation\n@operation_for_version('1.0') actually make sense? Since it seems it isn't exported for any of the versions
[04:28] <wgrant> StevenK: The order matters. But I forget which way it should be
[04:28] <wgrant> Why wouldn't it make sense?
[04:30]  * StevenK has switched to exported(), rather than the above on the interface
[04:31] <StevenK> Which seems to export it for 1.0 and beta, even though I say as_of='1.0'
[04:34] <StevenK> Oh, hah. It's exported for 1.0 and devel, but not beta.
[04:42] <StevenK> wgrant: I'm not sure how to tell lazr.restful to keep its grubby mits off devel. Do you think I should bother?
[04:50] <wgrant> StevenK: What are you doing?
[04:50] <wgrant> security_contact?
[04:51] <StevenK> wgrant: Yeah
[04:53] <wgrant> StevenK: Why's that an operation? Isn't it an attribute?
[04:55] <StevenK> wgrant: I've now made it an attribute
[04:56] <StevenK> wgrant: But using exported(TextLine(...), as_of='1.0') has it exported for both 1.0 and devel.
[04:57] <wgrant> StevenK: Right, that's as_of
[04:57] <StevenK> wgrant: Oh, is there a different argument I should be using?
[04:57] <wgrant> ie. from
[04:58] <wgrant> Try exported(TextLine(...), ('beta', None), ('1.0', None))
[04:58] <wgrant> I think that will do what you want
[04:58] <wgrant> (None means to use the default name; you can use a string instead to override it)
[04:58] <StevenK> You think beta and 1.0? Rather than just 1.0?
[05:03] <StevenK> wgrant: It doesn't love ('1.0', None) or (('1.0', None),)  :-(
[05:06] <StevenK> Huh, it seems it wants None to be a dict instead
[05:08] <StevenK> And using ('1.0', {}) has it exported for devel, beta and 1.0.
[05:08] <wgrant>     :param versioned_annotations: A list of (version, param) 2-tuples,
[05:08] <wgrant>         with more recent web service versions earlier in the list and older
[05:08] <wgrant>         versions later in the list. The 'param' objects can either be a
[05:08] <wgrant>         string name for the field in the given version (None means to
[05:08] <wgrant>         use the field's internal name), or a dictionary.
[05:08] <wgrant> So I had them the wrong way around, maybe.
[05:09] <wgrant> I guess it's possible that just renames, rather than unexporting
[05:09] <wgrant> Might have to check the source
[05:10] <StevenK> [('1.0', None)] gives ValueError: need more than 1 value to unpack on the line for version, annotations in reversed(versioned_annotations):
[05:11] <wgrant> StevenK: It's *versioned_annotations
[05:12] <StevenK> Ah, so ('1.0', None) gives TypeError: 'NoneType' object is not iterable
[05:21] <StevenK> ('1.0
[05:21] <StevenK> Bleh
[05:21] <StevenK> ('1.0', [None]) == ValueError: Unrecognized annotation for version "1.0": "None"
[06:42] <StevenK> wgrant: Why does bugtasksearch raise ValueError everywhere? :-(
[06:42] <StevenK> Surely this isn't good for the API
[06:44] <wgrant> I didn't write it, just moved it. But ValueError probably maps to 400 Bad Request anyway
[06:44] <StevenK>     self.assertEqual(400, response.status)
[06:44] <StevenK> MismatchError: 400 != 500
[06:45] <wgrant> :(
[06:45] <StevenK> BugSearchError or something?
[07:35] <StevenK> wgrant, wallyworld_: https://code.launchpad.net/~stevenk/launchpad/proper-error-when-searchtasks-orderby/+merge/124609
[07:39] <wgrant> StevenK: s/BugSearchError/InvalidSearchParameters/, perhaps?
[07:39] <wgrant> BugSearchError is possibly the worst exception name ever
[07:40] <StevenK> Fair point
[07:46] <StevenK> wgrant: http://pastebin.ubuntu.com/1210554/
[07:49] <wgrant> StevenK: Sounds sensible.
[07:50] <adeuring> good morning
[07:54] <StevenK> wgrant: Diff updated
[07:57] <StevenK> wgrant: No +1 for me?
[08:00] <wgrant> StevenK: You can't put that new test in an existing class?
[08:01] <StevenK> wgrant: test_searchtasks_webservice.py is horrible
[08:02] <wgrant> As it adding a new test class that is three times as long as the test :)
[08:02] <StevenK> Like any good test class
[08:07] <StevenK> wgrant: http://pastebin.ubuntu.com/1210571/
[08:37] <StevenK> rick_h__: I don't like the idea of json_dump_information_types in registry/enums. But if it has to stay, you could uppercase it. You should also use 'in PRIVATE_INFORMATION_TYPES' rather than 'not in PUBLIC_INFORMATION_TYPES'
[08:54] <stub> Is there a standard unix command that works like cat but can be set to accept input at a low baud rate?
[08:56] <maxb> pv --rate-limit ?
[08:56] <stub> I'll check it out, not installed by default
[08:58] <StevenK> stub: pv - Shell pipeline element to meter data passing through
[10:19] <rick_h__> StevenK: yea, open to location suggestions. I had it in app/utilities, jcsackett suggested either registry/utilities or left in enums.
[10:20] <rick_h__> StevenK: and the whole method should be upper like a constant? not following that. Is there another method I can see as an example?
[10:34] <StevenK> rick_h__: If it's a function, it's not an enum and doesn't belong there.
[10:37] <rick_h__> StevenK: right, it's a function. I'll look at going with jcsackett's other suggestion and add a utilities.py in registry to stick it in then.
[10:39] <StevenK> rick_h__: utils.py, services, librarian, and archive{publisher,uploader} use that already
[13:59] <rick_h__> benji: a small branch for your look when you get a sec please https://code.launchpad.net/~rharding/launchpad/move_into_utils/+merge/124678
[13:59] <benji> rick_h__: sure
[14:12] <deryck> rick_h__, I'm looking at the test timeout now.  Will let you know if I turn up something.  Or if I turn up nothing.
[14:13] <rick_h__> deryck: ty
[14:18] <sinzui> rick_h_, I removed the registry mailman doc tests, all 4000 lines. I will not break the build because of them again
[14:20] <rick_h__> sinzui: hah, <3 hearing of dying doctests
[14:27] <jcsackett> sinzui: did you send out my bugtracker branch to land? i see it's been set to merged, but i don't have any info about it and i didn't send it out.
[14:27] <sinzui> I did
[14:27] <jcsackett> sinzui: ok, thanks.
[14:28] <sinzui> qastaging's db needs updating to qa work
[15:33] <sinzui> deryck, I just confirmed your bugtraker fix is good
[15:34] <deryck> sinzui, my bugtracker?
[15:34] <sinzui> sorry deryck, I meant to type jcsackett, I just confirmed your bugtraker fix is good
[15:34] <deryck> ack, np
[15:35] <jcsackett> sinzui: dig, thanks.
[16:16] <sinzui> jcsackett, do you have time to hangout to discuss criticals
[16:16] <jcsackett> sinzui: i do.
[16:19] <deryck> rick_h__, trying one more thing to see here, but if that bears no fruit, as the other things I've tried haven't, I at least have some suggestions.
[16:23] <rick_h__> deryck: ok, thakns for the heads up
[16:29] <jcsackett> sinzui: bug 629258 was where i saw it.
[16:29] <_mup_> Bug #629258: Battery life estimation never comes around <apport-bug> <apport-collected> <i386> <maverick> <metabug> <natty> <patch> <DeviceKit-Power:Fix Released> <gnome-power:Invalid> <One Hundred Paper Cuts:Invalid> <System76:Fix Released> <Release Notes for Ubuntu:Fix Released> <Upower:Fix Released> <upower (Ubuntu):Fix Released> <upower (Ubuntu Maverick):Won't Fix> < https://launchpad.net/bugs/629258 >
[16:39] <sinzui> jcsackett, https://bugs.launchpad.net/launchpad/+bug/393922
[16:39] <_mup_> Bug #393922: Links to +edit and +appoint on a translation group are always visible <403> <lp-translations> <Launchpad itself:Triaged> < https://launchpad.net/bugs/393922 >
[16:43] <deryck> yay, we're ready for deploy once the deployment report updates.
[16:43]  * rick_h__ ducks
[17:40] <cjohnston> sinzui: ping
[17:41] <sinzui> hi cjohnston
[17:41] <cjohnston> sinzui: I'm not quite sure what it is that sets the subscriber in my branch.. I see what the comment says, but I don't know what to remove.
[17:42] <sinzui> Undo the launchpad.Admin changes because they have no-effect
[17:42] <cjohnston> ok
[17:42] <sinzui> The methods deal with editing, so launchpad.Edit is correct.
[17:42] <sinzui> your text revision is fine
[17:43] <cjohnston> sinzui: lifeless made the suggestion to make it to where only certain people could mark people essential, that way it still does the same thing with Summit that it used to do, just without the spam
[17:43] <sinzui> cjohnston, per lifeless's comment, do we really needed essential if the summit site does not use it
[17:44] <sinzui> jcsackett, well to do that, you would need to rewrite the python method in security.py
[17:45] <cjohnston> was that for me?
[17:46] <sinzui> cjohnston, yes, sorry
[17:47] <sinzui> cjohnston, who should be permitted to state attendance is essential?
[17:47] <cjohnston> So make it to where the drafter, approver, assignee and ~uds-organizers (or whatever team it is that is the meeting driver)
[17:47] <sinzui> cjohnston, so Ubuntu's drivers cannot set this?
[17:49] <cjohnston> I'm not against that, but I don't have a way to define that ubuntu-drivers can for UDS, and ~team-y can for Conference Y without using the team that is the meeting driver
[17:49] <sinzui> cjohnston, and what of the series release manager?
[17:49] <cjohnston> I'm fine with that as well, it just has to be able to scale across other groups that use summit... as in it can't be hard coded
[17:50] <sinzui> I think you just want to remove the rule that lets the subscribe claim to be essential
[17:50] <sinzui>     user.inTeam(self.obj.person) or
[17:51] <sinzui> The method other says the project drivers, the series drivers and the spec roles can say who is essential
[17:52] <cjohnston> ok, so essentially everyone that we already talked about
[17:53] <sinzui> yes. I think the problem is that non-core developers were presuming they could be essential.
[17:53] <sinzui> I think this change also works for all other projects.
[17:55] <cjohnston> ok
[17:55] <sinzui> cjohnston, test will fail with this change because very few use a driver or assignee to subscribe
[17:57] <cjohnston> so then tests need to be changed too is what your saying?
[17:58] <sinzui> cjohnston, I think you need to login as a different user to fix these tests:
[17:58] <sinzui>   lib/lp/blueprints/doc/sprint-meeting-export.txt
[17:58] <sinzui>   lib/lp/blueprints/stories/standalone/subscribing.txt
[17:58] <cjohnston> I don't understand 'login as a different user'
[18:01] <sinzui> cjohnston, the tests are not logged in as a driver or as a user in the specification's role when  setting essential,
[18:02] <sinzui> per what we said above, the subscriber cannot set himself to be essential, so those tests will fail.
[18:02] <sinzui> Either the test logs in as a different user, or the user used in the test must be made a driver or maybe the specification assignee
[18:04] <cjohnston> I may be misunderstanding, but any user should be able to be set as essential, only some users can set people as essential... so I don't see why the user must be made a driver/assignee... atleast in sprint-meeting-export.txt it doesn't seem to be testing marking essential, only exporting it.
[18:05] <cjohnston> ok.. i see line 41 in the subscribing.txt
[18:06] <sinzui> cjohnston, you don't need a permission change then
[18:06] <sinzui> you just want to change the text
[18:06] <sinzui> the current tests say any user can mark themselves as essential
[18:07] <cjohnston> right.. I see that now.. I don't want any user to be able to mark themselves essential.. i want certain users to be able to mark anyone essential
[18:09] <sinzui> then remove the line I suggested from EditSpecificationSubscription, then change the tests to show that a only a special person can set the flag
[18:10] <cjohnston> I did.. I just have to figure out how to rewrite the tests :-(
[18:10] <sinzui> okay
[18:12] <sinzui> cjohnston, Sample Person (~name12) is the maintainer of firefox so is an effective driver change
[18:12] <sinzui> >>> browser.addHeader('Authorization', 'Basic carlos@canonical.com:test')
[18:12] <sinzui> >>> browser.addHeader('Authorization', 'Basic test@canonical.com:test')
[18:13] <sinzui> in subscribing.txt
[18:14] <cjohnston> line 28?
[18:14] <sinzui> yes
[18:14] <cjohnston> ok
[18:17] <sinzui> cjohnston, I see lots of failures
[18:17] <sinzui> my suggestions are not enough
[18:27] <sinzui> cjohnston, This diff shows the changes you can make to make the test pass. Carlos is subscribed, but non-essential. there is a essential is tested later in this same test using the right user: http://pastebin.ubuntu.com/1211548/
[18:28] <sinzui> cjohnston, I think my change and your change combined is good enough to land
[18:28] <cjohnston> ok.. cool.. thanks.. I'll apply it and push it up.
[18:30] <sinzui> I will approve the Mp when you ping me cjohnston
[18:30] <sinzui> I will land it too
[18:30] <cjohnston> thanks
[18:41] <cjohnston> sinzui: is that leaving the line 28 authorization as carlos?
[18:44] <sinzui> cjohnston, yes
[18:45] <cjohnston> ok
[18:50] <cjohnston> sinzui: https://code.launchpad.net/~chrisjohnston/launchpad/part-essential/+merge/124559
[18:51] <sinzui> cjohnston, change the permission back to launchpad.Edit because the community is still eidting
[18:51] <sinzui> admin if for celebrity teams only
[18:59] <cjohnston> sinzui: done
[19:05] <cjohnston> thanks sinzui.. when do you think it may land?
[19:06] <sinzui> 4 hours + 12 to clear buildbot We might release it tomorrow
[19:06] <sinzui> cjohnston, is there a bug for this branch?
[19:06] <cjohnston> sinzui: no, would you like one?
[19:06] <sinzui> The has to be one...Lp will not accept the landing command
[19:06] <cjohnston> ok
[19:09] <cjohnston> sinzui: bug #1052130
[19:09] <_mup_> Bug #1052130: Make assigning participation essential limited to certain groups of users <lp-blueprints> <Launchpad itself:In Progress by chrisjohnston> < https://launchpad.net/bugs/1052130 >
[19:11] <sinzui> landing has started
[19:11] <cjohnston> thanks
[19:30] <cjohnston> sinzui: I have no idea what the failure email means, outside of that it failed
[19:32] <sinzui> cjohnston, I don't think your branch is related to this.
[19:33] <cjohnston> ok
[20:06] <lifeless> flacoste: morning
[20:06] <flacoste> morning lifeless
[20:06] <flacoste> lifeless: not too early for a catch-up?
[20:07] <lifeless> flacoste: woke anyway, and then realised DNS for my domains is cactus and no mail for the last 10 hours anyway... not a good look.
[20:07] <lifeless> So, digging into that, no chance of going back to sleep.
[20:09] <flacoste> lifeless: ok, we can catch up later in the week anyway
[20:11] <lifeless> flacoste: let me get this ns snafu un snafu'd
[20:11] <lifeless> so e.g. I can get Janes reply to mail from me :)
[20:11] <lifeless> and then I'm happy to catch up
[20:27] <lifeless> ok, mail flowing again.
[20:27] <lifeless> Grah, hates such things.
[20:28] <lifeless> flacoste: hi
[20:30] <flacoste> hi lifeless
[20:30] <lifeless> can you hear me
[23:41] <cjohnston> sinzui: ping
[23:41] <sinzui> hi cjohnston
[23:41] <cjohnston> I think I may have figured out why it's failing
[23:42] <cjohnston> There seems to be one ( on line 655 of security.py, one ) on 656, and one ) on 657..
[23:42] <cjohnston> I'm not seeing a second open (
[23:42] <sinzui> run make lint
[23:43] <sinzui> it will report such errors.
[23:44] <cjohnston> lint is giving me an error about pocketlint not found.. hmm
[23:44] <sinzui> cjohnston, push up a fix and if it makes sense I will land it
[23:45] <sinzui> sudo apt-get install python-pocket-lint
[23:45] <sinzui> It checks python, css html and javascript
[23:46] <cjohnston> installing ty
[23:47] <cjohnston> look at that, it passes now :-)
[23:49] <cjohnston> sinzui: https://code.launchpad.net/~chrisjohnston/launchpad/part-essential/+merge/124559
[23:51] <sinzui> fabulouso splendido.
[23:51] <sinzui> off it goes
[23:51] <cjohnston> :-)