[00:02] <jml> so hungry
[00:37] <lifeless> jml: so eat
[00:42] <lifeless> mwhudson: hi
[00:42] <lifeless> mwhudson: lp is running <bzr> ?
[00:44] <jml> lifeless, https://code.launchpad.net/, bottom left of the page.
[00:44] <lifeless> spm: ping
[00:44] <spm> lifeless: heyo
[00:44] <lifeless> wow, slow page day :(
[00:44] <lifeless> spm: bug 422849
[00:44] <mup> Bug #422849: Incorrect conversions in 2.0rc1 and bzr.dev <Bazaar:In Progress by lifeless> <https://launchpad.net/bugs/422849>
[00:45] <spm> what we discovered last night?
[00:45] <lifeless> spm: if we have 2.0rc1 in use anywhere, don't do conversions with it.
[00:45] <lifeless> spm: no, new one found this morning. Next up is checking to see if last nights one is the same cause.
[00:45] <spm> ahhh. nice. oki; afai aware, we don't.
[00:45] <spm> righto
[00:45] <lifeless> also bzr.dev is bust i nthe same way.
[00:46] <spm> the rc1 we tried last night was a special build inside the chroot jjust as a dogfooding exercise purely for bzr itself.
[00:48] <lifeless> spm: inside the chroot?
[00:48] <lifeless> spm: pqm doesn't use the bzr inside the chroot for anything...
[00:49] <spm> pqm on balleny - we don't have pyrex installed outside the chroot.
[00:49] <spm> lifeless: yes; this was a special build used explicitly to do (or not...) the check/upgrade
[00:49] <lifeless> ah right
[00:50] <spm> made for seriously ikky pathing on the cmd line :-)
[01:06] <wgrant> jml: So, about that branch... anything I can do? Anybody who should be poked in preference to you? Any public AMIs available so I can debug it myself?
[01:07] <jml> wgrant, all good questions
[01:07] <jml> wgrant, I'll think while I chew :)
[01:12] <jml> wgrant, I've filed https://bugs.edge.launchpad.net/launchpad-foundations/+bug/422908
[01:12] <mup> Bug #422908: Some branches crash ec2test <build-infrastructure> <test-system> <Launchpad Foundations:New> <https://launchpad.net/bugs/422908>
[01:14] <jml> wgrant, I'll also kick off an attached run
[01:16] <jml> wgrant, I'm happy to be poked. You could argue it's a build engineer task, but I find that particular flavour of delegation distasteful
[01:16] <jml> wgrant, as for public AMIs, that is most definitely a build engineer task :) there aren't any that I know of, and we should change that.
[01:19] <wgrant> jml: It's a bit sad that completely reliable community ec2testing will not be possible, due to c-i-p and shipit. But I guess they're mostly isolated.
[01:21]  * thumper lunches
[01:22] <mwhudson> jml: have you tried to land that branch without --headless?
[01:23] <lifeless> how do you supersede a review?
[01:24] <jml> mwhudson, yes, but my network connection died
[01:25] <wgrant> mwhudson: You may recognise this as the branch that I handed to you from gary, and you handed to thumper.
[01:25] <mwhudson> wgrant: indeed
[01:25]  * jml tries again.
[01:28] <jml> mwhudson, actually, could you also try landing the branch without headless?
[01:29] <mwhudson> jml: i am already actually
[01:29] <jml> mwhudson, thanks :)
[01:29] <wgrant> That sounds like a bad idea. The moment you give it the chance to do something bad (ie. land twice), it will succeed.
[01:30] <wgrant> Aanyway, thanks jml and mwhudson. I need to go to uni.
[01:59] <mwhudson> mine died in the usual router hating way :(
[02:44] <jml> mwhudson, :(
[02:44] <jml> mwhudson, mine is still going...
[02:44] <mwhudson> jml: hooray
[02:44] <jml>  test_bugwatch_added_from_comment (lp.bugs.tests.test_bugchanges.TestBugChanges)
[02:50] <jml> cprov, hello
[02:50] <jml> cprov, are you actually around?
[02:50] <cprov> jml: yes
[02:50] <cprov> jml: what's up ?
[02:50] <jml> cprov, I would like to talk about pockets
[02:51] <cprov> jml: sure
[02:51] <jml> cprov, please give me a second, I'm filling out a form that requires complete concentration
[02:51] <cprov> jml: okay, np
[02:53] <jml> done
[02:53] <jml> cprov, so, we've been talking about package-permission-love
[02:53] <jml> and extracting out the pocket check from the uploadpolicy and putting them into the new verify_upload function
[02:53] <cprov> jml: right, what did you think about my comments ?
[02:53] <jml> (which should have its name changed, but that's a different discussion)
[02:54]  * jml rereads
[02:54] <jml> regarding the control variable in getPubSource
[02:55] <jml> I added that because at one time I wanted to have a makeSPPH() equivalent
[02:55] <jml> and bigjools said that was the best place to do it.
[02:56] <cprov> jml: I like makeSPPH() better and STP could also use it from the factory, so no duplications.
[02:56] <jml> hmmm.
[02:56] <jml> that smells too much like work for this branch
[02:57] <jml> cprov, but I'll probably need it in the next branch anyway
[02:57] <cprov> jml: a good thing is that you don't need it in this branch
[02:57] <jml> cprov, so I'll back out the change from this branch, and put it in my notes for the next one
[02:57] <cprov> perfect!
[02:58] <jml> and I'll fix makeGPGKey.
[02:58] <jml> cprov, next up, I want to change the bug nomination code to use this checker
[02:58] <jml> cprov, and (in parallel, I guess), I want to sort out the pocket stuff
[02:59] <jml> cprov, the thing with pockets is that there are no signer-based checks related to pockets
[02:59] <jml> it's purely a function of distroseries, pocket
[02:59] <cprov> no, it's strictly related to the series status & the pocket
[02:59] <jml> right.
[03:00] <jml> I'm wondering whether I care about this wrt pushing to official package branches
[03:00] <jml> and whether bug nomination cares about this.
[03:00] <cprov> jml: I'm no familiar with the bug nomination code, but I'm almost sure it doesn't depend on pockets
[03:01] <jml> it doesn't
[03:01] <jml> but should it!
[03:01] <cprov> jml: rarely new packages show up in the post-release pockets (-updates, -security, etc)
[03:01] <cprov> jml: it happened only once in ubuntu with the SSH-incident (edgy, I guess)
[03:04] <jml> cprov, hmm
[03:10] <jml> cprov, this is making me think that the current function should stay as-is
[03:10] <jml> and that there should be another one that also checks the pocket.
[03:12] <cprov> jml: yes, probably, since they answer different questions ... 1) has upload rights? 2) is this suite open to new uploads?
[03:13] <jml> cprov, "new" uploads
[03:13] <jml> it seems to me to be used for whether it's open to uploads at all
[03:13] <jml> but we're on the same page
[03:13] <cprov> you may have rights to upload 'foo' source to jaunty-updates and karmic, but you cannot upload it to jaunty (because it's already closed)
[03:14] <jml> also, it's about time Launchpad grew an object that represented suite
[03:14] <cprov> agreed
[03:15] <jml> ok, I think I know what I want to do now.
[03:15] <jml> I still need to talk to james_w sometime to go over a few edge cases.
[03:15] <jml> cprov, thanks
[03:15] <cprov> jml: you're welcome.
[03:19] <jml> how did it get so late so fast :(
[03:20] <cprov> you tell me ...
[03:31] <jml> mwhudson, I guess we are in testfix mode...
[03:31] <mwhudson> jml: yeah, that odd db_lp failure
[03:32]  * jml pulls db-devel
[03:33]  * jml considers registering whyareweintestfix.com
[03:34] <wgrant> jml: Bug nominations *must not* respect pockets.
[03:34] <wgrant> jml: Or everything breaks.
[03:34] <jml> wgrant, thanks
[03:34] <wgrant> And people start to stab you.
[03:34]  * jml frowns
[03:35] <wgrant> It's rather annoying when people break nomination permissions.
[03:35] <jml> it would be very difficult to have introduced this test failure if you used pyflakes + flymake
[03:36] <wgrant> jml: Oh, so you have the failure?
[03:36] <jml> wgrant, I was speaking of the failure that broke db-devel
[03:36] <wgrant> jml: Phew.
[03:36] <jml> the 'you' should have been 'one'
[03:36] <wgrant> Yep.
[03:41] <jml> we're up to 'lib/lp/bugs/tests/../stories/bugtracker/bugtrackers-index.txt' on the ec2test run for your structural subscription branch
[03:41] <wgrant> jml: OK, so it does get somewhere...
[03:48] <jml> I can't wait to be able to do Launchpad development in karmic
[03:48] <wgrant> You can.
[03:48] <jml> chroots are a pita
[03:48] <wgrant> It works fine.
[03:48] <wgrant> You just need...
[03:48] <wgrant> to remove python-lazr-uri
[03:49] <jml> wgrant, but some of the tests still fail, right?
[03:49] <wgrant> Then grab python-xml and launchpad-(developer-)dependencies from maxb's PPA.
[03:49] <wgrant> jml: No, I fixed all the 2.4 Karmic failures.
[03:49] <wgrant> 2.5 fails, sure.
[03:49] <jml> wgrant, cool
[03:49] <jml> I might make the switch today than.
[03:49] <jml> then.
[03:49] <jml> but first, fix the failure in db-devel
[03:50] <wgrant> Indeed.
[03:56] <jml> mwhudson, can I get your approval for http://pastebin.ubuntu.com/263535/
[03:57] <mwhudson> jml: yes
[03:57] <mwhudson> jml: is this a mis-merge or something?
[03:57] <jml> mwhudson, I don't know.
[03:58]  * mwhudson is having on of those "aaah 300 things to do *now*" hours
[03:58]  * jml too
[03:58] <jml> swap you :)
[03:59] <mwhudson> it must be a mis-merge, no manual landings to db-devel for ages
[03:59] <mwhudson> jml: i don't think that would help :)
[03:59] <mwhudson> "argh, now i still have 300 things to do, and i don't know anything about any of them!"
[04:00] <jml> mwhudson, I'm actually in the process of paying someone to take care of about 50 of the things I need to do.
[04:00] <jml> which is pretty exciting
[04:01] <jml> but it's still something to do
[04:01] <mwhudson> jml: moving related in some way or other i presume?
[04:02] <jml> yeah.
[04:04] <jml> I wonder what the 'go out of testfix' time period is
[04:15] <mwhudson> jml: */5
[04:16] <mwhudson> jml: your branch is still in pqm though
[04:16] <jml> so, ~5 mins after it's finished in pqm?
[04:18] <mwhudson> jml: yeah
[04:21] <jml> a queueing system would be nice
[04:22] <mwhudson> it would be nice if testfix meant the queue stopped rather than rejecting things
[04:25]  * thumper snorts
[04:25] <thumper> mwhudson: see earlier talk about a sprint for landing queues :)
[04:26]  * jml files a bug
[04:27] <jml> BUILD FAILED: failed failed slave lost
[04:27] <jml> I guess that means it failed.
[04:27] <mwhudson> jml: my fault
[04:29] <mwhudson> oh joy, that means we'll be back in testfix i guess
[04:30] <jml> so tim's patch will get rejected
[04:30] <jml> and maybe mine will too
[04:32] <mwhudson> jml: yours will be ok i think
[04:35] <jml> yay
[04:35]  * jml sneaks actually working changes in between breakages
[04:35] <thumper> jml: how does you patch fix it?
[04:36] <jml> thumper, which one?
[04:36] <thumper> jml: db-devel Rev 8426
[04:36] <thumper> jml: it looks like you are just assigning the result
[04:36] <jml> thumper, that's right
[04:37] <thumper> jml: ok, lack of visual context doesn't make the fix apparent
[04:37] <jml> thumper, below the visible diff, you'll see that 'new_rev_id' was being returned from the function
[04:37] <thumper> ok
[04:37] <thumper> jml: I'm adding an ownerCounts method to branch collection
[04:37] <jml> thumper, it should be clear if you look at the actual failures.
[04:37] <thumper> jml: have I mentioned recently how much I like branch collection?
[04:38] <jml> thumper, heh
[04:38] <thumper> jml: especially with adapters, it makes some things really easy
[04:38] <jml> thumper, in my infinite spare time, I'm working with jkakar on a paper or something about it
[04:38] <thumper> jml: that'd be pretty interesting
[04:39] <thumper> jml: I'll be talking about it during the kiwipycon keynote as something that works well
[04:39]  * thumper wants named tuples
[04:39] <thumper> bring on python 2.6
[04:40] <jml> keynote?
[04:40] <jml> wow.
[04:41] <mwhudson> jml: here's some extra letters for you "simal"
[04:41] <mwhudson> (they go after "infinite")
[04:42] <thumper> jml: yeah, I get the Sunday keynote spot :)
[04:42] <thumper> jml: for some reason they got the opinion that I'm a person of some substance :)
[04:43] <thumper> mwhudson: it seems that my branch will go through
[04:43] <mwhudson> thumper: hooray
[04:53] <wgrant> jml: OMG!
[04:53] <wgrant> jml: I have email!
[04:53] <wgrant> And that is quite a reasonable failure, too.
[04:54] <jml> wgrant, I have email too.
[04:54] <jml> wgrant, but I have no idea at all as to why previous email attempts failed.
[04:55] <jml> mwhudson, heh heh
[04:55] <wgrant> jml: Was this the unheadless run?
[04:55] <jml> wgrant, it was.
[04:55] <wgrant> jml: Interesting.
[04:56] <wgrant> jml: Thanks, I'll fix that failure soonish.
[04:57] <jml> wgrant, np.
[04:57] <jml> with any luck, we'll be out of testfix then.
[04:58] <wgrant> I hope so, as I'll be gone for two hours.
[04:58]  * wgrant vanishes.
[05:05] <thumper> mwhudson: there isn't any point in the lp builder waiting 10 minutes if pqm takes 15 minutes to land a branch
[05:05] <thumper> :(
[05:05] <mwhudson> thumper: this is true
[05:06] <mwhudson> thumper: do you know if the pqm config we use for launchpad is in a bzr branch anywhere?
[05:27] <thumper> mwhudson: no
[05:27] <thumper> mwhudson: I don't know
[05:27] <thumper> mwhudson: spm would
[05:27] <mwhudson> thumper: ok thanks
[05:27] <mwhudson> thumper: yeah, got his attention in another channel now
[05:27] <spm> short answer is - yes in a bzr branch; but not one you guys have access to
[05:28] <thumper> I have some family stuff to deal with, school show tonight, I'll be back after 8:30
[05:28] <spm> later thumper-afk
[05:32] <jml> james_w, can you please ping me when you come online.
[06:52] <jml> mwhudson, up for a quick call?
[06:52] <mwhudson> jml: if it's very quick
[06:52] <jml> ok
[06:54] <jml> mwhudson, https://bugs.edge.launchpad.net/launchpad-project/+bugs?field.tag=test-system
[07:23] <jtv> hi noodles775
[07:26] <noodles775> Hiya jtv :)
[07:31]  * mwhudson is no longer here, btw
[07:33] <spm> hey jtv, noodles
[07:33] <jtv> g'day spm
[07:33] <noodles775> Evening spm.
[07:34] <spm> jtv: you may wish to have a look at https://bugs.edge.launchpad.net/oops-tools/+bug/422960 I've put against oops-tools as a starter; but it may have translation team implications? or not... :-/
[07:34] <mup> Bug #422960: appear to be failing to record oops for all +translate HTTP 503 errors <OOPS Tools:New> <https://launchpad.net/bugs/422960>
[07:34] <jtv> spm: what's 503?
[07:34] <spm> bad stuff happened. server fail.
[07:35] <jtv> Oh, the IIS one?
[07:35] <jtv> (That's a joke.  But not entirely untrue, in my experience.)
[07:35] <spm> iwas like "IIS? we don't use IIS" and then the penny dropped and rofl followed.
[07:36] <jtv> We don't use IIS.
[07:36] <jtv> *We don't use IIS*
[07:36] <spm> rfc 2616, 10.5.4 503 Service Unavailable
[07:36] <jtv> *OF COURSE* we don't use IIS!
[07:37] <spm> man I haven't been near an IIS box in anger since the 90's. <== pride
[07:37] <jtv> spm: will the oops tools be fixed soon to report these?  If so, best course of action is probably to warn my team of the coming tidal wave.
[07:37] <spm> now i thin on it, in anger was the only way too.
[07:37]  * jtv has never worked with IIS
[07:38] <spm> jtv: dunno. I'm not even sure what the problem is. afaict, those errors aren't being oopsed - which is part of the problem. :-/
[07:38] <jtv> Just visiting IIS-based sites is enough to make you think of 503 as "the IIS notice"
[07:38] <spm> heh
[07:39] <spm> jtv: consider - we had ~ 11,600 oops-able page requests, yet only recorded ~ 1000. Begs the question: is this just vs +translate, or the fault is more widespread. if the latter.... ow.
[07:40] <jtv> If not... still ow
[07:40] <wgrant> Isn't a 503 a timeout?
[07:40] <wgrant> Which should certainly be loged...
[07:40] <spm> wgrant: logged or oopsed?
[07:41] <wgrant> spm: OOPSed, sorry.
[07:41] <wgrant> Unless it's the Apache or Pound sort of 503.
[07:41] <spm> right - I assumed that's what you meant.
[07:42] <spm> my concern is that if "X" (DB, app server whatever) is overloaded; and an OOPS requires even some minimal App/DB resources it also fails; and contributes to making things worse. :-(
[07:42] <wgrant> I've never received a 503 from LP except during the edge restart or a timeout.
[07:43] <spm> heh. start requesting +translate pages ;-)
[07:45] <spm> anyways, now I've cheered you all up with that wonderful news, outa here. time to cook dinner :-)
[08:07] <bigjools> jml: good morning/afternoon/evening
[08:09] <jml> bigjools, hi
[08:09] <jml> bigjools, I'm on a skype call atm
[08:10] <bigjools> jml: ok, I got up early just for you, I feel upset now :)
[08:10] <jml> bigjools, it'll finish soon :)
[08:10] <bigjools> heh no worries
[08:20] <adeuring> good morning
[08:35] <jtv> hi adeuring
[08:38] <adeuring> hi jtv
[08:47] <jml> bigjools, hi
[08:47] <jml> bigjools, sorry that took so long.
[08:47]  * bigjools wakes up
[08:47] <jml> bigjools, I've been thinking about pockets and permissions
[08:48] <bigjools> ok
[08:48] <jml> bigjools, pocket has nothing to do with whether or not any given individual can upload a package
[08:48] <jml> bigjools, it's across all individuals
[08:48] <bigjools> yes
[08:48] <jml> a function of pocket and distroseries status.
[08:49] <jml> I think this makes it conceptually separate.
[08:49] <bigjools> right, it's not an ACL check, it's a state check
[08:49] <jml> I'd like to re-use the function I've abstracted out to handle the bug nomination permission check
[08:49] <jml> but that particular check should not care about pockets at all
[08:50] <bigjools> however, verify_acl might say yes, and then you get rejected further down the road
[08:50] <bigjools> so maybe we need a separate place to ask "can this be uploaded?"
[08:50] <jml> for write access to official branches, I think the question about whether to reject based on distroseries status + pocket
[08:50] <jml> is a bit more open
[08:51] <jml> bigjools, I think we need one function, "barring release policy, can I upload", and another one saying "can I actually upload". The second does the pocket check, the first does not.
[08:51] <bigjools> jml: I agree
[08:51] <jml> bigjools, for official branches, I really want to talk with james_w about our our use cases.
[08:51] <jml> (also, Soyuz needs a Suite object already.)
[08:51] <bigjools> heh
[08:52] <bigjools> jml: abstracting out the latter will be very hard
[08:52] <jml> bigjools, a Suite object?
[08:52] <bigjools> it's basically what nascentupload does
[08:52] <jml> bigjools, oh, the pocket thing
[08:53] <bigjools> upload checks
[08:53] <jml> well, it won't be substantially harder than what I've already done, I don't think
[08:53] <jml> (famous last words, perhaps)
[08:53] <bigjools> it needs to have its state checks separated from the package consistency checks
[08:53] <bigjools> they're very much mingled right now
[08:54] <jml> I might not have to do the full decoupling in order to make official branches work correctly
[08:55] <bigjools> indeed, you only need the pocket check
[08:55] <jml> cool :)
[08:55] <jml> given the constraints on my time right now, that's all I will do.
[08:55] <jml> probably
[08:56] <bigjools> jml: is there a deadline for this?
[08:56] <jml> bigjools, yesterday
[08:56] <bigjools> oh, cock
[08:56] <jml> bigjools, it should have actually been done weeks ago
[08:56] <jml> open sourcing + my vacation + other things has made this take way too long.
[08:57] <jml> bigjools, that said, I had expected it to be less work -- I had thought there was already an easy way of asking about package upload permission :)
[08:58] <bigjools> jml: assumption is ther mother of all fuckups
[08:58] <jml> bigjools, quite
[08:59] <bigjools> jml: ok, it should be relatively easy to hack out the pocket check and then we can improve that as time goes by
[09:00] <bigjools> it would be really nice to improve nascentupload, it's a bit monolithic
[09:01] <jml> cool.
[09:01] <jml> yes, it's ripe for improvement
[09:01] <jml> more functions, more parameters, less state, more unit tests
[09:01]  * bigjools nods vigorously
[09:01] <jml> a good day's work for a good day's pay.
[09:02] <jml> Freedom and dignity for Britain's swans.
[09:02] <bigjools> you're bonkers mate :)
[09:02] <jml> and loving it.
[09:03] <bigjools> are you coming to London later this month?
[09:03] <jml> bigjools, I am.
[09:03] <bigjools> cool
[09:03] <jml> bigjools, I very much want to have this done before then
[09:04] <bigjools> your airmiles total must be bigger than the combined G8 national deficits
[09:04] <jml> bigjools, not quite. :)
[09:17] <jml> any bugs people around?
[09:18] <jml> why does the count on a tag say '16' but only 9 bugs show up when I click on it?
[09:33] <wgrant> jml: Duplicates count in the counts.
[09:33] <wgrant> jml: 'tis a bug.
[09:33] <jml> wgrant, thanks.
[09:37]  * wgrant too whines about nascentupload.
[09:45] <bigjools> al-maisan: I messed up, your meeting with me is in 45m :)
[09:45] <bigjools> but your TZ is still borked
[09:46] <al-maisan> bigjools: no problem, let's have the call in 45 minutes then :)
[09:48] <wgrant> jml: So, what should I do about my branch? The failure is simple to fix, but I somehow don't think it's a good idea to land it.
[10:44] <wgrant> Hmm. I'm not sure I like the way the black links in the corner of the main content portlets are now blue.
[11:02] <deryck> Good morning, all.
[11:14] <wgrant> bigjools: Very nice new DSP page.
[11:14] <bigjools> wgrant: cool, thanks
[11:14] <wgrant> Needs some more links, but otherwise very very nice.
[11:14] <bigjools> where to?
[11:15] <wgrant> bigjools: I tried to click wildly on the 'Upstream' section; nothing happened.
[11:15] <wgrant> bigjools: The series names in the distroseries listing also deserve to be links.
[11:15] <bigjools> hmmm yeah we didn't think of that
[11:15] <bigjools> er, they are?
[11:16] <wgrant> bigjools: Sorry, *product*series names.
[11:18] <bigjools> wgrant: can you file bugs - and ideally submit a patch :)
[11:19] <wgrant> bigjools: Currently filing bugs about the team page. Will do soon.
[11:31] <wgrant> bigjools: DSP bugs live in -registry these days, right?
[11:31] <bigjools> wgrant: yep
[11:54] <noodles775> allenap: when you tried the two-column dl list, did you make sure that each dt/dd-pair was a *separate* dl? It's unexpected, but apparently how it's currently done in LP (looking at the product template.)
[11:55] <allenap> noodles775: Yeah, I followed the way that cprov had done it.
[11:55] <allenap> noodles775: I was thinking maybe there wasn't enough horizontal space. I should have tried widening my window.
[11:56] <noodles775> yeah, worth trying.
[13:47] <salgado> barry, product-new.pt has the following
[13:48] <salgado>         <tal:comment condition="nothing">
[13:48] <salgado>           XXX BarryWarsaw 28-Apr-2009 bug 368910
[13:48] <salgado>           REMOVE THE FOLLOWING BEFORE 2.2.5 PRODUCTION ROLLOUT
[13:48] <salgado>         </tal:comment>
[13:48] <salgado>         <a href="mailto:feedback@launchpad.net">Contact us</a>
[13:48] <mup> Bug #368910: Remove "Contact us" from new projects/+new page <story-guided-project-registration> <Launchpad Registry:Won't Fix by barry> <https://launchpad.net/bugs/368910>
[13:48] <salgado> thanks mup
[13:48] <salgado> barry, I guess I should just remove the comment from there?
[13:48] <barry> salgado: that can be removed.  we decided to just keep the text forever <wink>
[13:48] <barry> salgado: +1
[13:48] <salgado> cool
[14:09] <salgado> barry, do you have a couple minutes to help me with a template I'm converting?
[14:19] <barry> salgado: sure
[14:20] <salgado> barry, actually, I think I've sorted it out myself, but now I have another question. :)
[14:21] <salgado> # There should be an H2 above the app tabs which contains a description of the context of the page, e.g. "Launchpad itself"
[14:21] <salgado> barry, that's from https://dev.launchpad.net/VersionThreeDotO/UI/Conversion#Heading rules
[14:21] <salgado> for non-default pages
[14:21] <salgado> but what I see is an H1 (not an H2) above the app tabs
[14:22] <barry> salgado: for which page?
[14:22] <salgado> barry, https://launchpad.dev/~name16/+vouchers
[14:24]  * barry looks
[14:24] <salgado> after converting it, that is
[14:28] <barry> salgado: right.  i think that h1 goes away in favor of the h2 above the app tabs
[14:28] <barry> salgado: if you have a branch w/ partial conversion i could take a look at it
[14:31] <salgado> barry, would it be ok if I gave you a patch?
[14:32] <salgado>         if IRootContext.providedBy(self._context):
[14:32] <salgado>             heading = 'h1'
[14:32] <salgado>         else:
[14:32] <salgado>             heading = 'h2'
[14:34] <barry> salgado: i'm hacking in that code in my current branch
[14:34] <salgado> barry, that's why that pages uses an H1; its context (IPerson) is an IRootContext
[14:34] <salgado> barry, is this the correct behaviour or are you changing that?
[14:35] <barry> salgado: hmm, yeah
[14:36] <barry> salgado: i probably will have to.  i was actually trying to work in an interface check to see if i could make that label editable, but the editable widget is on the view not the context and the view isn't available to the WatermarkTalesAdapter
[14:36] <barry> salgado: other than IRootContext, what's the determining factor here?  it's that the page is not an index page on the root context, so once again, i think we need access to the view here
[14:38] <barry> sinzui: please try me again
[14:40] <sinzui> barry: we hear your away message
[14:40] <barry> sinzui: i just restarted skype
[14:48] <sinzui> bac: https://launchpad.net/asword
[14:53] <salgado> barry, I'm not sure actually.  I just stumbled upon that code after seeing the context/watermark:heading in base-layout.pt
[14:57] <barry> reviewers, beuno -> #launchpad-meeting in 3m
[14:58] <barry> salgado: yeah, we'll have to see.  i think that should be changed to view/watermark:heading, but i'm not positive
[15:00] <barry> reviewers, beuno -> #launchpad-meeting
[15:11] <bac> sinzui: that license is quite a piece of work
[15:13] <sinzui> bac: Yes. I read it three times. It does not discriminate who or how it is used. I am still puzzled by it though
[15:18] <bac> sinzui: i can't get my head around it
[15:18] <bac> sinzui: and it is so poorly written i can't imagine it is binding
[15:19] <bac> hackerz are not lawyerz and should quit pretending to be
[15:19] <sinzui> bac: we could say we do not host android and end the madness
[15:19] <bac> sinzui: yeah, it does approach a dual license
[15:20] <bac> sinzui: tell them to slap affero on it for LP and be done
[15:20] <sinzui> bac: yes. I think that is the right way to think about it. I will approve it.
[15:20] <bac> ok
[15:40] <jtv> noodles775, as promised: bug 423212
[15:40] <mup> Bug #423212: Not enough padding around headings and listings <Launchpad itself:New> <https://launchpad.net/bugs/423212>
[15:42] <noodles775> jtv: taa.
[15:46] <bigjools> salgado: hey dude, around?
[15:46] <salgado> gary_poster, given a context, a request and a page name, can I look up what page template would be used to render that?
[15:46] <salgado> bigjools, hi
[15:47] <bigjools> salgado: hi there, I've got a page with incomplete breadcrumbs: https://dogfood.launchpad.net/ubuntu/karmic/i386/amarok/2:2.1mysql5.1.30-0ubuntu3
[15:47] <bigjools> salgado: how do I fix it?
[15:49] <gary_poster> salgado: yes.  it's not exposed very well.  You have to get the component registry's underlying registry and use the "lookup" method.
[15:49] <salgado> bigjools, you need to define IBreadcrumb adapters for the objects traversed there. (e.g. karmic i386, amarok, amarok version 2:2.1)
[15:49] <bigjools> salgado: ok sounds simple enough
[15:52] <bigjools> salgado: what's the usual way of testing that?
[15:52] <bigjools> point me at an example if you like
[15:53] <salgado> bigjools, lp/bugs/browser/tests/test_breadcrumbs.py
[15:53] <salgado> gary_poster, cool, but how do I get the component registry's underlying registry?
[15:53] <bigjools> salgado: excellent, thanks
[15:55] <gary_poster> salgado: :-) yeah, looking
[15:56] <gary_poster> salgado: (registry).adapters
[15:57] <gary_poster> is the underlying one I thing
[15:57] <gary_poster> think
[15:57] <gary_poster> that you want
[15:57] <gary_poster> (just looking at code)
[15:59] <gary_poster> salgado: (registry).adapters.lookup((tuple of what you have), interface you want, name) it looks like.  checking out interface
[16:00] <gary_poster> tuple of what you have may have to be specs...
[16:00] <bac> sinzui: chat?
[16:00] <gary_poster> (this is one of the APIs that I want to make more obvious)
[16:00] <sinzui> bac: yes, I am getting my self ready
[16:01] <salgado> gary_poster, what are specs?
[16:02] <gary_poster> salgado: the collected interfaces provided by an object.  Trying to check.  not clear in iface...
[16:03] <gary_poster> salgado: yeah, ok I have it, I think
[16:04] <gary_poster> (registry).adapters.lookup([zope.interface.providedBy(o) for o in provided_objects], required_interface, name[, default])
[16:04] <gary_poster> salgado: that make sense?
[16:05] <sinzui> bac: I am ready, are you?
[16:05] <bac> yep
[16:06] <salgado> gary_poster, it would if I knew how to get the component registry and what name[, default] means
[16:06] <gary_poster> salgado: ok we're close then
[16:06] <gary_poster> salgado: name: the name of the page in this case
[16:07] <gary_poster> [, default] : if you provide a default, and there is no match, the default will be returned.  Otherwise, you'll get a lookup error
[16:07] <salgado> oh, I see
[16:08] <gary_poster> registry: zope.component.getSiteManager() should be what I expect here.  If not, let me know and I'll dig a tiny bit more.
[16:08] <gary_poster> sm = zope.component.getSiteManager()
[16:08] <gary_poster> sm.adapters.lookup([zope.interface.providedBy(o) for o in provided_objects], required_interface, name)
[16:08] <gary_poster> I think :-D
[16:09] <salgado> gary_poster, great, thanks.  I'll give that a try. :)
[16:09] <gary_poster> cool :-)
[16:09] <gary_poster> lemme know
[16:11] <beuno> \o/  finally got ohloh to start importing Launchpad  https://www.ohloh.net/p/launchpad/enlistments
[16:11] <beuno> jml, ^
[16:12]  * beuno waits to see if it chokes to death half way through
[16:12] <sinzui> bac: http://people.canonical.com/~beuno/conversions.html
[16:36] <salgado> gary_poster, I tried that using IPageTemplate for required_interfaces (https://pastebin.canonical.com/21721/) but got an empty tuple back from lookupAll() and an error from lookup(..., name='foo').  am I doing something wrong?
[16:37] <salgado> also, the signature of the lookup() family seems to be lookup*(required, provided), so I tried changing the order of the arguments, but that didn't help either
[16:37] <gary_poster> looking
[16:38] <gary_poster> salgado: last line should be  (zope.interface.providedBy(o) for o in [ob, request]), zope.interface.Interface)
[16:39] <gary_poster> or use lookup with zope.interface.Interface and real name
[16:40] <salgado> a ha
[16:40] <salgado> gary_poster, why do I need zope.interface.Interface?
[16:42] <salgado> the lookupAll() call gives me back a tuple with all the views, but the lookup() one with a name fails:
[16:42] <gary_poster> salgado: short answer: because zope's view registration has sucked for a long time, so long that it is unlikely to change for the core libraries unless things are ported to Python 3 and pain is already expected.  views are registered and looked up with the null interface.
[16:42] <gary_poster>  (Even if it didn't suck, the interface would essentially just define __call__: it doesn't have to be a page template, and in fact the views we have use page templates internally, but do not themselves provide the interface)
[16:43] <gary_poster> it has sucked from a theoretical perspective, I should say ;-)
[16:44] <salgado> gary_poster, https://pastebin.canonical.com/21723/ is what I got when I tried lookup(name)
[16:46] <gary_poster> salgado: is +edit a page or a traversal step?  also, what did lookupAll give?
[16:46] <salgado> gary_poster, it's a page.  lookupAll() gave me a tuple of SimpleViewClass objects
[16:47] <gary_poster> salgado: oh, but without names?  bleh
[16:47] <salgado> two-tuples, sorry
[16:47] <salgado> (template-name, SimpleViewClass)
[16:47] <gary_poster> salgado: oh, was +edit in there?
[16:48] <gary_poster> I think our +* stuff uses some Launchpad specific trick.  Can go try to find
[16:48] <salgado> gary_poster, yep, it's there
[16:48] <gary_poster> oh...
[16:50] <gary_poster> salgado: when you used lookupAll, were you using a generator comprehension or a list comprehension?  Maybe the code doesn't like generators.  You used a generator comprehension in the pastebin.  Going to look at code to see if it is lame like that
[16:50] <gary_poster> salgado: yes it is
[16:51] <gary_poster> salgado: that's where your len error is coming in
[16:51] <gary_poster> salgado: change that to a list comprehension (or your favorite flavor of len-able) and it will be good
[16:51] <salgado> indeed
[16:52] <salgado> but that gives me just the SimpleViewClass, without the template name. :(
[16:52] <gary_poster> salgado: but...you provided the template name?  so you already know it?
[16:53] <salgado> I provided the page name, and I wanted the template file
[16:54] <salgado> but that's the same thing that lookupAll() gives me. for some reason I thought it was giving the file names, but they were actually the page names
[16:55] <gary_poster> salgado: oh.  I see. :-(  I think I led you on a goose chase, because I misunderstood the goal.  :-(  I'm sorry.  (1) get the view.  (2) look at the .template attribute, IIRC.  I think if you dir that or look at the dict you will see what you want (or look at the class, look at what it implements, and that will show you an API to use)
[16:55] <gary_poster> The only possible advantage of the goose chase in this case is that you don't instantiate the view.
[16:56] <gary_poster> which is usually not important
[16:58] <salgado> gary_poster, but to have access to view.template I need to instantiate it, no?
[16:59] <gary_poster> salgado: I'd expect it to be on the class initially, but I don't remember the machinery.  If you want to just get the instantiated view, forget everything I've told you, and do the following:
[16:59] <gary_poster> sm = zope.component.getSiteManager()
[17:00] <gary_poster> view = zope.component.getMultiAdapter((context, request), name='+edit')
[17:00] <gary_poster> that's from memory, double-checking...
[17:00] <salgado> gary_poster, yeah, that works
[17:00] <gary_poster> k
[17:01] <gary_poster> actually you can forget the first line
[17:01] <salgado> yep
[17:03] <salgado> gary_poster, ok, now I have all that I need, I think. thanks for holding my hands during that trip down zope's internal bits. :)
[17:03] <gary_poster> salgado: np, sorry for the goose chase again
[17:03] <salgado> no worries, it was fun
[17:03] <gary_poster> heh, cool
[17:32] <rockstar> beuno, ping
[17:32] <beuno> rockstar, yo
[17:32] <rockstar> beuno, so, I just made the mechanical changes to the branch index page, and have a test failure requiring some thought.
[17:33]  * beuno checks to see if flacoste is around
[17:33] <beuno> no, good
[17:33] <rockstar> beuno, basically, the sub-navigation links on the branch index page need sorting.  I know those "sub-tab" links will go away, but I wonder if having the link to the merge proposals is important anyway.
[17:33] <beuno> rockstar, just delete the test
[17:33] <beuno> :)
[17:33] <rockstar> beuno, cool.  That's all I needed.
[17:34] <beuno> I'm sort of kidding
[17:34] <rockstar> The lost functionality will be returning in a bit.
[17:34] <rockstar> beuno, dammit!
[17:34] <beuno> well, those things should be inline links
[17:34] <beuno> rather than sub-menus
[17:34] <rockstar> beuno, well, yes, but the link to "merge proposals" is not at all necessary.  We already have that link available elsewhere.
[17:34] <beuno> rockstar, where?
[17:35] <beuno> I agree it shouldn't be on that page
[17:35] <beuno> but I'd like to be sure that it's easy to find
[17:35] <rockstar> beuno, if there are merge proposals, it's the link that says "X branches proposed for merging into this one"
[17:36] <rockstar> beuno, also, that page is really going to get hammered (probably deleted and re-invented).  It sucks bad.
[17:36] <beuno> rockstar, did you see my mockup for it?
[17:36] <rockstar> beuno, I'm not doing anything with mockups right now.  I just made the mechanical changes to get it to the new template.
[17:37] <beuno> rockstar, drop it then
[17:37] <beuno> what about source code?
[17:37] <rockstar> beuno, linked by revision.
[17:38] <beuno> rockstar, one of the problems we have is that people think that Launchpad doesn't actually have the code
[17:38] <beuno> that is one of the main problems that we need to solve with this page
[17:38] <rockstar> beuno, yeah, so what I'm doing now is making those mechanical changes, then starting mockups and sending them out.
[17:39] <beuno> rockstar, it sounds like cheating for the stats
[17:39] <beuno> but, ok
[17:39] <beuno> I'm on leave in about 4 hours
[17:39] <beuno> not much I can do  :)
[17:39] <jtv> beuno: I posted those screenshots you wanted for my review btw
[17:39] <rockstar> beuno, it's actually cheating for breadcrumb's sake (they are broken for branches currently, we'd like to make that more obvious)
[17:39] <beuno> jtv, I saw them
[17:40] <rockstar> beuno, at this point, the stats are less important.
[17:40] <jtv> beuno: it's almost midnight here though, and high time for me to scram
[17:40] <beuno> jtv, it's like 1200 of them, and I can see a lot of issued with many. Is this a mechanical change?
[17:40] <rockstar> beuno, I think having a list of problems to solve with the page is absolutely helpful.
[17:40] <beuno> rockstar, so, I'd focus on the re-design, and not on the conversion
[17:40] <beuno> like was done with the project page
[17:40] <rockstar> beuno, yeah, so we're getting the conversion out of the way.
[17:41] <beuno> and the DSP in soyuz
[17:41] <beuno> well, the thing is, it's twice the work IMHO
[17:41] <jtv> beuno: it's 5 "before" and 5 "after" IIRC.  Yes, mechanical change, nothing exciting in the layout, but not sure the nav menus are what you want.
[17:41] <bigjools> beuno: the worst thing is, that's not a Soyuz page so I just ticked one off for registry!
[17:41] <beuno> jtv, cool. So I know what to look at. Go to bed, you'll have a review in the morning
[17:41] <rockstar> beuno, I disagree.  Also, if we didn't move these pages over, we're putting off the need to fix things.
[17:41] <jtv> beuno: thanks
[17:42] <beuno> rockstar, aiight. You're the one actually doing the work  :)
[17:42] <beuno> rockstar, so, drop those menu items, but make sure source code is easy to find
[17:42] <beuno> small numbers with links is not easy
[17:43] <rockstar> beuno, yeah, but that's kinda the idea behind this branch: find out what issues we really have with the branch page.
[17:43] <beuno> rockstar, gotcha. Do you want the original file for my mockup so you can play around with it in balsamiq?
[17:44] <rockstar> beuno, that'd be nice, but I don't know what balsamiq is.
[17:44] <beuno> rockstar, have you seen my mockup?
[17:45] <rockstar> beuno, I have.  I've also seen the mass amount of bikeshedding as a result.  I'm trying to get that churn out of the way so we have definitive answers.
[17:46] <beuno> rockstar, it's the software I used to create that mockup: http://www.balsamiq.com/products/mockups
[17:46] <beuno> ignore the bikeshedding
[17:46] <beuno> you have something to work on
[17:46] <beuno> go for best effort
[17:46] <beuno> the mockup fixes a lot of the current problems
[17:46] <beuno> go with that, and try to address as many problemas as you can, without making the page suck in the end
[17:47] <beuno> it's better to not address some people's concerns, than to have 400k unhappy users
[17:47] <rockstar> beuno, yeah, that's the idea.
[17:47] <rockstar> beuno, yeah, but some of the concerns are valid.  I'm aggregating those concerns as we speak, and will be talking this over with thumper today.
[17:49] <beuno> rockstar, of course the concerns are valid
[17:49] <beuno> in the end, we need a better page
[17:49] <beuno> so make hard choiced!
[17:49] <beuno> whatever you do
[17:49] <rockstar> beuno, yeah, in the process.
[17:49] <beuno> look at the end result, and be happy with it
[17:49] <beuno> ignore what was or was not addressed
[17:50] <beuno> otherwise, revert to a step where you where happy
[17:50] <rockstar> beuno, cool. thanks for the pep talk.
[17:50] <beuno> :)
[17:51]  * beuno passes the baton to rockstar
[17:51] <rockstar> beuno, so how do I get to this balsamique stuff?
[17:51] <beuno> rockstar, either use the online version
[17:51] <beuno> or
[17:51] <beuno> download it
[17:51] <beuno> install it
[17:51] <beuno> and check your email
[17:52] <rockstar> beuno, it's software that wants me to pay for it though.  I stopped paying for software 10 years ago!  :)
[17:54] <beuno> rockstar, sorry
[17:54] <beuno> I forgot the last step
[17:54] <beuno> read the email  :)
[17:56] <rockstar> beuno, okay.
[18:02] <salgado-lunch> sim
[18:39] <flacoste> beuno: what's up?
[18:39] <beuno> flacoste, I was joking about removing tests
[18:39] <flacoste> lol
[18:39] <beuno> :)
[19:16] <barry> beuno: nice! i have editable h1 headings working for root context pages
[19:16] <beuno> barry, WOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO
[19:16] <beuno> screenshot?
[19:17] <barry> beuno: sure. sec...
[19:17] <barry> gnome-do, why are you gnome-dont today?
[19:19] <barry> beuno: https://people.canonical.com/~barry/screen.png
[19:22] <beuno> barry, not loading...  :/
[19:22] <beuno> bigjools, cprov, https://edge.launchpad.net/ubuntu/+source/gnome-disk-utility
[19:22] <beuno> *love* it
[19:23] <cprov> beuno: bigjools merit, I wasn't involved ;)
[19:23] <bigjools> beuno: check out https://edge.launchpad.net/ubuntu/+source/amarok
[19:23] <bigjools> far more interesting
[19:23] <barry> beuno: i guess rookery isn't feeling well.  try https://devpad.canonical.com/~barry/screen.png
[19:23] <bigjools> beuno: oh, and thanks :)
[19:23] <beuno> bigjools, super awesome
[19:24] <beuno> bigjools, VERY NAIS
[19:24] <bigjools> verrah nahce
[19:24] <beuno> abentley, rockstar, thumper, my #1 wish for the MP pages is that subscribers stop pushing down the content  :)
[19:24] <bigjools> beuno: did you play with the expanders?
[19:25] <thumper> beuno: ok
[19:25] <barry> beuno: i have to say though, that the project index page is a bit busy :/
[19:25] <beuno> bigjools, yes. The content still needs some vertical spacing between sections
[19:25] <beuno> but, all in all, fantastic work bigjools
[19:25] <beuno> it's a very hard problem
[19:26] <beuno> and the result is very nice
[19:26] <bigjools> beuno: the same template renders with spacing on the PPA expanders, dunno why it's borked on +source
[19:26] <beuno> barry, yes. Talk to noodles775 about global padding
[19:27] <beuno> bigjools, true that. Bug?
[19:27] <bigjools> prob some stylesheet funkiness making assumptions about things
[19:28] <bigjools> I'll play with firebug tomorrow and see
[19:28] <beuno> super
[19:28] <beuno> that page made me very happy
[19:28] <bigjools> rawk
[19:28] <abentley> beuno: You mean reviewers?  MPs don't have subscribers.
[19:29] <beuno> abentley, well, subscribers to the branch
[19:29] <beuno> https://code.edge.launchpad.net/~rockstar/launchpad/subscription-widget/+merge/7643
[19:29] <abentley> Okay, I'm not sure what you mean by "pushing down the content".
[19:29] <beuno> see the subscribers on the right
[19:29] <barry> beuno: were you able to snag the devpad png?
[19:29] <beuno> abentley, it pushes down comments
[19:29] <beuno> barry, yes. Super nice
[19:30] <bigjools> beuno: oh also, see https://edge.launchpad.net/ubuntu/+source/gnome-disk-utility again, it appears that the slightly larger icon on the maintainer screws up the 2-column dl
[19:30] <abentley> beuno: Oh, that portlet is controlling the position of the comments?  Yes, that would be bad.
[19:31] <beuno> abentley, correct. It is now, so when we do the conversion, it would be great to solve that issue
[19:31] <beuno> barry, it is a busy page, padding should help. noodles775 will work on improving it
[19:31] <beuno> if he doesn't prod him  ;)
[19:32] <bigjools> beuno: noodles is busy right now, please leave a message at the beep
[19:32] <bigjools> *BEEP*
[19:32] <barry> beuno: coolio
[19:32]  * beuno curses in spanish
[19:32] <beuno> bigjools, I don't understand the issue with the icon. I don't see it
[19:32] <bigjools> your 10 minute job took 3 days ;)
[19:32] <beuno> bigjools, have you not been to south america?
[19:32] <bigjools> beuno: "Architectures" has a weird position
[19:33] <beuno> you should really have a conversion table handy
[19:33] <beuno> bigjools, ah. It does.
[19:33] <bigjools> even my wildest time mark-ups didn't account for that :)
[19:34] <beuno> abentley, rockstar,  the problem also occurs on the branch index: https://code.edge.launchpad.net/~bzr/bzr/trunk
[19:34] <beuno> pushes down commits
[19:49] <barry> does anybody know if we have any merge proposals in sampledata?
[19:49] <beuno> barry, AFAIK, no
[19:50] <barry> beuno: k, thanks.  shouldn't be too hard to make one up
[19:50] <beuno> barry, I use firefox
[19:51] <beuno> has multiple branches. etc
[19:51] <barry> beuno: thanks
[19:54] <beuno> QUICK! someone convert 17 templates so I can go on leave with less than 200 to go
[19:58] <statik> any of you crazy launchpad developers with iphones figured out how to gpg sign emails from your iphone to make it possible to report bugs via mail from the phone?
[19:58] <barry> beuno: http://devpad.canonical.com/~barry/mp.png
[19:59] <beuno> barry, lovely. Lacks breadcrumbs, but that's probably not your fault
[19:59] <beuno> but, LOVELY
[20:00] <barry> beuno: yeah. i'm going to look at breadcrumbs next, as well as reverse breadcrumbs (boy, that sounds dirty) in the <title>.  mostly working on the h1/h2 header bits right now
[20:00] <barry> beuno: excellent!
[20:00] <salgado> sinzui, what are the templates that should be converted as part of https://bugs.edge.launchpad.net/launchpad-registry/+bug/421986 ?
[20:00] <mup> Bug #421986: Update team list pages to UI 3.0 <story-ui-3> <Launchpad Registry:Triaged> <https://launchpad.net/bugs/421986>
[20:01] <beuno> barry, you rock so hard, I can barely read text
[20:01] <sinzui> Sorry. I missed he message because the window closed instead of coming forward
[20:01] <barry> :-D thanks man!
[20:01] <salgado> sinzui, what are the templates that should be converted as part of https://bugs.edge.launchpad.net/launchpad-registry/+bug/421986 ?
[20:01] <mup> Bug #421986: Update team list pages to UI 3.0 <story-ui-3> <Launchpad Registry:Triaged> <https://launchpad.net/bugs/421986>
[20:02]  * sinzui looks
[20:04] <sinzui> salgado:
[20:04] <sinzui>     teammembership-invitation.pt
[20:04] <sinzui>     team-mailinglist-moderate.pt
[20:04] <sinzui>     team-mailinglist-subscribers.pt
[20:04]  * sinzui updated the bug
[20:04] <salgado> thanks sinzui
[20:18]  * barry -> short walk
[20:26] <salgado> gary_poster, can I pick your brain once again?
[20:27] <gary_poster> salgado: sure, but be warned, it's kinda gray and gooey, so I hear.
[20:27] <salgado> heh
[20:27] <salgado> gary_poster, so, I got a view with getMultiAdapter((ProductSet(), LaunchpadTestRequest()), '+new')
[20:27] <salgado> that gives me a SimpleViewClass wrapping ProjectAddStepOne
[20:27] <salgado> AIUI
[20:28] <gary_poster> (name='+new' I suspect, but gotcha)  yeah sounds good
[20:28] <gary_poster> (Whatever ProjectAddStepOne is)
[20:28] <salgado> yeah, with name='+new')
[20:29] <gary_poster> cool
[20:29] <salgado> but then I don't have access to most of the view's attributes
[20:29] <salgado> .template works
[20:29] <salgado> but .heading (a class attribute) raises an AttributeError
[20:30] <gary_poster> a class attribute!  A property?
[20:31] <salgado> just a regular class variable, as opposed to an instance variable
[20:32] <gary_poster> salgado: ...weird!  I wouldn't be surprised that a lot of instance bits are not there--__call__ (and initialize often) does a lot of stuff of course
[20:32] <gary_poster> but a missing class variable is bizarre.
[20:33] <gary_poster> I'm not sure how stable my LP is right now--I was debugging a build problem in Karmic--but I can try make harness and some experiments if you like
[20:33] <salgado> actually, it looks like all class variables are not there. .schema isn't there either
[20:34] <gary_poster> salgado: this is not security wrapped, is it?
[20:34] <gary_poster> I bet it is "trusted"
[20:34] <salgado> gary_poster, it doesn't look like it is. trying to removeSecurityProxy() returns the same thing
[20:34] <gary_poster> oh darn, that would have made sense :-P
[20:35] <gary_poster> salgado: if you walk up the __class__.__bases__ do you eventually see the class you expect?
[20:36] <gary_poster> or alternatively does isinstance tell you what you expect?
[20:36] <rockstar> beuno, I think I fixed that already.
[20:37] <beuno> rockstar, super awesomeness
[20:38] <salgado> gary_poster, it doesn't, and there we go.  this is probably because these views are part of a wizard thing
[20:40] <gary_poster> salgado: ok, good to have an explanation at least.  It's been a while since I looked at the wizards.  Can I help with that, or should I leave you to attack the wizard yourself? :-)
[20:41] <salgado> gary_poster, hahah. I think I know what's going on now, but I'm not yet sure I can workaround it to achieve what I want. damn wizards
[20:42] <salgado> gary_poster, anyway, thanks again for the help.  I'll bug you again if I get stuck again. :)
[20:42] <gary_poster> ok, np, cool :-)
[20:42] <salgado> that's a lot of agains
[20:48] <sinzui> beuno: My first draft of the series page: http://curtis.hovey.name/sinzui-assets/productseries.png
[20:48] <sinzui> ^ The bug and blueprint portlets are not showing up...this is an issue in the view and I suspected this was an issue when I worked on this page a few months ago
[20:48] <sinzui> ^ For the distroseries, I would replace the  timeline with the package search. I do not know what to put in the code area, uploads is the only candidate, but I want something that a potential contributor can act on.
[20:49] <beuno> sinzui, or have a timeline for distros?  :O
[20:50] <sinzui> beuno: I think that is the right answer, but I cannot commit to it for 3.0
[20:50] <beuno> sinzui, I think you are a wise man
[20:51] <sinzui> beuno: since package search is above the portlets in the distro page, I wanted to keep it in the same place
[20:51] <beuno> sinzui, s/Set/Set date/?
[20:51] <sinzui> yes, damn, there is a bug about that too
[20:51] <beuno> sinzui, page is lovely
[20:55] <sinzui> beuno: my thinking is that on the pillar page, you see the details, then you see where development is happening (series), on the series pages you see the detail, and how to get involved in development. So I think the distro series needs something that says what packages need looking help. may info about how to get the alpha or the build.
[20:55] <beuno> sinzui, yes!  it suddenly makes serieseses SO much more interesting
[20:57] <beuno> sinzui, the last piece remaining for the global 3.0 change
[20:57] <beuno> is removing the edge redirect message
[20:57] <beuno> and move it to the footer
[20:57] <beuno> make it a green link
[20:58] <beuno> "Stop redirecting to edge"
[20:58] <beuno> or something like that
[20:58] <beuno> kiko and matsubara know all about this
[20:58] <sinzui> I can do thatr
[20:58] <beuno> it was my job, and I failed them
[20:58] <sinzui> That would make testing a lot easier
[20:59] <kiko> beuno, what about the "This site is running pre-release code" edge bar? we need to get rid of that as well.
[20:59] <beuno> kiko, that's what I was talking about
[21:00] <sinzui> beuno: distroseries has https://edge.launchpad.net/ubuntu/karmic/+packaging that has some underlying call for action
[21:01] <beuno> OMG
[21:01] <beuno> sinzui, how about:  not showing the linked ones
[21:01] <beuno> and show the unlined ones in a table, like the current ones
[21:02] <beuno> with a call to action button on the right column?
[21:02] <beuno> it's kinda crazy that there's no paging there
[21:03] <sinzui> The page is crazy. I had to use find to locate packages in the list. I will batch it
[21:04] <beuno> thank you
[21:06] <sinzui> beuno: sprints is missing from the series page. It should show up because this is the natural place for a release manager to register a sprint to get work done
[21:07] <beuno> sinzui, for ubuntu, I guess that's the natural place, yes
[21:07] <beuno> I don't think so for anyone else
[21:08] <sinzui> beuno: a driver/release manager for a project is the only person who can set an agenda. The series is what drives an agenda and is owned by drivers
[21:09] <sinzui> beuno: We can restrict the link to just the drivers
[21:10] <beuno> well, series don't *have* to drive the agenda
[21:10] <sinzui> but the fact is anyone can create a sprint (if they can find the collection...there is no link to create a sprint there anymore)
[21:10] <beuno> right, do it
[21:12] <sinzui> did bigjools land code that will ellipseise long file name?
[21:13] <beuno> no, he cheated on the mockups
[21:13] <beuno> there is no code
[21:13]  * bigjools did not
[21:14] <sinzui> bigjools: what do you think the rule is? truncate the access characters before the first dot? my-long-pa...tar.gz
[21:16] <bigjools> sinzui: possibly.  it can be easier if we can pass an available width though
[21:16] <beuno> sinzui, I think the rule is truncate in the middle
[21:16] <beuno> count the number of characters, and cut off the middle characters the exceed X
[21:17] <bigjools> that was my thought
[21:17] <bigjools> but you need to know how many you have to cut out
[21:17] <sinzui> bigjools: I think we extend fmt:length to fmt:ellipse/32
[21:29] <kiko> bigjools, beuno: why not cut out 5 ([...])?
[21:30] <kiko> so
[21:30] <kiko> middle = len(str)/2
[21:30] <beuno> yes
[21:31] <kiko> return s[:middle - 2] + "[...]" + s[middle+2]
[21:31] <kiko> or something like that
[21:31] <kiko> taking care of the corner cases (len(s) < middle * 2, etc)
[21:33] <barry> sinzui: do we have a bug in story-ui-3 for ~person/+related-software page?
[21:33] <sinzui> barry: no
[21:34] <sinzui> barry: do you want to talk about it? I think we need wgrant and persia's assistance to get the use cases for the page
[21:35] <barry> sinzui: no.  i'm actually looking for a simple page that i can mechanically convert, but which also should have breadcrumbs, in registry.  i actually don't care what page it is, just looking for something simple, so if you have suggestions i'm all ears
[21:35] <sinzui> barry: nothing about that page is simple. it is number one on the nightmare list
[21:35]  * sinzui suspects it is three pages mascaraing as one.
[21:36] <barry> sinzui: i do not want a nightmare, i want a dream with unicorns and kittens :)
[21:36] <sinzui> barry: I'll get you once form the list
[21:37] <barry> sinzui: beauty, thanks!
[21:38] <sinzui> barry: consider person-oauth-tokens.pt person-participation.pt or teammembership-index.pt
[21:38] <barry> sinzui: are there bugs open on those?
[21:39] <sinzui> barry: no. I thought we could discuss these tomorrow. take and report a bug as you like
[21:40] <barry> sinzui: perfect, thanks!
[21:43] <bac> hi sinzui, could you look at http://people.canonical.com/~bac/
[21:44] <bac> sinzui: the may and maynot screen shots
[21:44] <sinzui> How do I get a people URL. I am a people too. not just a monkey that is strategically shaved and put into a suit
[21:44] <bac> sinzui: the question is what to do when the person cannot join.  Provide a 'Back' link, a 'Cancel' link, do nothing
[21:44] <bac> sinzui: login in to rookery just like you did devpad
[21:45] <bac> add a stanza to .ssh/config for rookery to go through chinstrap
[21:45] <sinzui> I will try that
[21:45] <bac> elmo sent mail about it awhile ago
[21:45] <bac> hey!  look at my screenshots first!
[21:47] <thumper> morning morning
[21:47] <sinzui> Why do we have such a scary notification for mayjoin? I don't think anything extraordinary happened.
[21:47] <sinzui> bac: You found a translations page~
[21:47] <bac> sinzui: ignore that
[21:47] <bac> sinzui: what scary notice are you talking about on http://people.canonical.com/~bac/mayjoin.png
[21:48] <sinzui> bac the /!\ There is no error. I think an (i) will suffice
[21:49] <sinzui> bac: is that message in the template or in the response?
[22:06] <barry> beuno: ping
[22:06] <beuno> barry, pongz
[22:06] <barry> beuno: i have a page i'd like to talk about briefly.  making screenshot now...
[22:07] <barry> beuno: https://people.canonical.com/~barry/karma.png
[22:08] <beuno> barry, still no p.c.c
[22:08] <barry> beuno: craptastic.  se...
[22:09] <barry> beuno: https://devpad.canonical.com/~barry/karma.png
[22:09] <barry> beuno: this is a purely mechanical change to +karma using my header branch.  ping me when you've got it
[22:10] <beuno> barry, got it
[22:10] <barry> beuno: so, first off, that H1 needs to be an H2
[22:10] <barry> but then, what do you think of the breadcrumb placement?
[22:10] <barry> beuno: (and then... what about the rest of the page?)
[22:11] <beuno> yes
[22:11] <beuno> breadcrumbs below the h1
[22:11] <beuno> teh top table are totals, right?
[22:11] <barry> beuno: so, breadcrumbs below the "Launchpad karma" heading?
[22:11] <beuno> yes
[22:12] <barry> beuno: yes, i believe so; they are totals
[22:12] <barry> beuno: +1 on breadcrumb placement
[22:12] <beuno> so it feels like you don't need a table for totals
[22:13] <beuno> and, the table below could maybe invert the columns?
[22:13] <barry> beuno: what would you use instead of a table for the totals?
[22:14] <barry> beuno: for the second table, you mean Date, then Action?
[22:14] <beuno> barry, make use of the apps colors, not have a heading for the table, and make the table smaller
[22:14] <beuno> so mayb I do want a table
[22:14] <beuno> just not like that  :)
[22:14] <beuno> yes, I mean date and action
[22:14] <barry> +1 on the second table
[22:14] <barry> beuno: i like using the app colors
[22:15] <barry> beuno: and i think you're right about no header necessary for the first table
[22:15] <barry> beuno: and by smaller, you mean horizontally smaller, right?
[22:15] <beuno> yes
[22:15] <beuno> with the total beneat the actual numbers
[22:16] <barry> beuno: fab. thanks!
[22:16] <barry> beuno: this is my test page for sub-page-with-breadcrumbs :)
[22:16] <beuno> barry, yay
[22:17] <barry> beuno: have a good time! you will not recognize the place when you return :)
[22:17] <beuno> barry, thank you, and I'll take your word for it
[22:17] <beuno> I'm off home to pack! woooo
[22:18] <barry> \o/
[22:22] <rockstar> thumper, from my bazaar.conf aliases -> send-pipe = send -r branch::prev..
[22:30] <mwhudson> thumper, abentley, rockstar: back
[22:30] <mwhudson> thumper, abentley, rockstar: skype?
[22:40]  * maxb blinks and wonders why 'bin/test -vv --layer=SSHServerLayer' is executing BaseLayer tests
[22:43]  * gary_poster pretends he doesn't see that.
[22:44] <maxb> heh
[22:45] <gary_poster> maxb, fwiw, I identified why lazr.uri was causing problems.  I'll have something checked in tomorrow if I'm lucky, this week if things proceed apace.
[22:45] <mwhudson> gary_poster: evening
[22:45] <gary_poster> mwhudson: howdy :-)
[22:45] <maxb> sounds like its high time that I started herding some of my miscellanea of tweaks into branches for landing
[22:46] <gary_poster> heh, that would be good :-)
[22:46] <mwhudson> gary_poster: you've got my usual morning reply emails, nothing to surprising though
[22:46] <gary_poster> oh ok, looking
[22:47] <mwhudson> gary_poster: who should be the default reviewer for lp:lpbuildbot do you think?
[22:47] <mwhudson> gary_poster: i guess a new team that's losas + you and i
[22:48] <gary_poster> mwhudson: ah yes, I had read them, but didn't have much to add.  I'm not blocking anything ATM in this regard am I?
[22:48] <mwhudson> gary_poster: nope
[22:48] <mwhudson> gary_poster: did you look at the code at all in my force build branch?
[22:48] <spm> mwhudson: name suggestion: "legendary-osas-plus-some-orrible-dev-types"
[22:49] <mwhudson> spm: lopsodt ?
[22:49] <gary_poster> mwhudson: cool.  default reviewer... well, I suppose you can come and go like the wind once you leave the BE position, so sure
[22:49] <mwhudson> actually i like lopsod as an acronym
[22:49] <gary_poster> and then it can just be "developers"
[22:49] <mwhudson> right
[22:49] <spm> mwhudson: damnnit! you aren't supposed to take it seriously!
[22:50] <gary_poster> lol
[22:50] <mwhudson> spm: the o can be 'operationally-minded' if you like :)
[22:51] <mwhudson> gary_poster: i also notice bzrbuildbot doesn't have any tests...
[22:51] <gary_poster> mwhudson: didn't look at code, since I didn't have explicit request to. ;-)   happy if you wish.  probably should.
[22:51] <gary_poster> if you request a review I will ;-)
[22:53] <gary_poster> mwhudson: no tests:  nope.  :-/  that was among the first buildbot hacking I did.  I ended up writing tests, ever-so-painfully, for the latent slave stuff, though not for the EC2-specific bits (ran away from stubbing boto).
[22:53] <mwhudson> gary_poster: this is the diff so far https://pastebin.canonical.com/21760/
[22:53] <mwhudson> but it's not ready for review yet
[22:54] <gary_poster> mwhudson: ok.  I actually need to run for family bits, but will spend a minute or two looking at it in a few hours
[22:54] <mwhudson> gary_poster: cool
[22:55] <gary_poster> bye all
[23:02] <sinzui> gmb: intellectronica ping
[23:02] <wgrant> sinzui: It is in fact three and a bit pages masquerading as one, while each page also exists separately, yes. The use cases for that are complex and not well defined at all.
[23:02] <wgrant> It will require some thought.
[23:03] <intellectronica> sinzui: yo
[23:04] <sinzui> wgrant: can you send an email to the list outlining the use cases you know of? I don't think the registry team can design this page without your help
[23:04] <wgrant> sinzui: I will try.
[23:05] <sinzui> wgrant: thanks.
[23:07] <sinzui> intellectronica:  I added the latest bugs portlet to productseries. It only shows bugs explicitly targeted to the series. I think this will be surprising to most users who know that a bug  targeted to a milestone is implicitly targeted to the series
[23:07] <wgrant> sinzui: I don't think that page itself has any real use cases apart from being able to see at a glance what a person is involved in, but some of the constituent pieces have important use-cases on their own pages.
[23:07] <mwhudson> man
[23:07] <mwhudson> buildbot would be easier to understand if it was written in a statically typed language
[23:07] <mwhudson>         self.status = req.site.buildbot_service.getStatus()
[23:08] <mwhudson> aararasdsaadasfafa what sort of object is that?
[23:10] <sinzui> intellectronica: I am contemplating adding another Latest...Bugs method to the view that includes the explicit and implicit series bugs. Can you think of any reason we would not want to show the bugs targeted to a series milestone on the series index page?
[23:11] <wgrant> IMHO you should leave it to just show the directly targetted bugs, until somebody works out how they are meant to be used.
[23:12] <intellectronica> sinzui: i don't know how useful that is (i've come to think that this sort of lists aren't very useful) but there's certainly no harm in doing that, this is certainly relevant information
[23:14] <sinzui> I think milestone vs series targeting makes work complex. I once contemplated an adapter to make a series act as a milestone to make it possible to target a fix to series from inside the milestone dropdown.
[23:16] <sinzui> intellectronica: right. latestbugs is really about new bugs against a series. But latestChangedBugs seems to be about bugs that are being worked on in the series
[23:17] <sinzui> intellectronica: I think these two pages contradict eachother: https://bugs.edge.launchpad.net/malone/3.1 and https://edge.launchpad.net/malone/+milestone/3.0
[23:19] <intellectronica> sinzui: i'm not sure i understand what you mean by contradict each other
[23:20] <sinzui> The milestone page shows that theses bugs are being fixed in this series, but the series report says there are no bugs.
[23:21] <maxb> I have a merge proposal for launchpad-dependencies - https://code.edge.launchpad.net/~maxb/meta-lp-deps/ready-for-karmic/+merge/11094 - is there anyone I can request a review from?
[23:22] <intellectronica> sinzui: oh right, i didn't realise the 3.0 milestone is part of the 3.1 series. indeed it seems there's a contradiction
[23:22] <sinzui> intellectronica: look at https://edge.launchpad.net/malone/+series
[23:22] <sinzui> There are clearly bugs in the series. I am also certain that if we were to target a bug in the series the counts will be off because the code is not looking at explicit targets
[23:24] <sinzui> intellectronica: This is also true for distroseries, but their workflow hides part of the problem. Since a release manager uses the serie page to plan, I think I need to explain how bugs can come from direct and indirect targets
[23:25] <wgrant> Wasn't the plan to allow use of a milestone as a series, and use series tasks only for backports?
[23:25] <wgrant> Er, use of a series as a milestone.
[23:26] <sinzui> wgrant: yes I contemplated it. I still do.
[23:27] <wgrant> sinzui: It really makes sense and would make it so much more consistent.
[23:27] <sinzui> wgrant: For the people planning and working, they just need a way to say here is a point I want this bug fixed
[23:27] <sinzui> they do not care about how the implementation does it
[23:30] <sinzui> maxb: did you test these changes on Hardy?
[23:30]  * sinzui recalls Hardy needed the package
[23:31] <maxb> sinzui: No, but hardy has already diverged from the versions being used in intrepid/jaunty anyway
[23:32] <maxb> hardy is using something branched off of trunk 0.47, intrepid has trunk 0.50 and jaunty has 0.53
[23:33]  * sinzui really need to get pylint and tidy out of the deps
[23:34] <sinzui> maxb: I do not think tidy is required by anything.
[23:34] <sinzui> spm: ping
[23:35] <maxb> Quite possibly. My aim here was just to prune the deps that it was extra work to get for karmic
[23:35] <spm> sinzui: heyo, how's it giong?
[23:36] <sinzui> spm: where does python2.4-lxml come from on our staging or lpnet? or maybe I mean to ask, where does lxml come from on those machines?
[23:40] <maxb> Does it come from anywhere? I don't see it being used at all anywhere in launchpad
[23:40] <sinzui> maxb: I am concerned about the XML changes. I recall a lot of pain during Ubuntu upgrades where we need to to add hacks to the code to make launchpad run on LTS and current
[23:40] <spm> sinzui: v1.3.6-1 , straight from where ever default packages come
[23:41] <sinzui> spm thanks.
[23:42] <sinzui> maxb: lxml was a problem for the hardware database. We needed to tinker with the version used by the hardy servers and our own envs for a time
[23:42] <maxb> sinzui: The XML changes? Well, lxml does not appear to be used anywhere in launchpad (or so says grep), and python-xml is the same project as sourcecode/old_xmlplus, and I've run the tests without it installed, if it's needed at all, it seems to be getting it from sourcecode/
[23:43] <sinzui> ??
[23:45] <sinzui> maxb: I count 6 files that use lxml
[23:45] <maxb> sinzui: pastebin? because I really can't see any
[23:45] <sinzui> If only I implemented that feature in my editor
[23:47] <sinzui> maxb: I see that the tree talks about it, but there is no real code using it
[23:47] <maxb> yup
[23:48] <maxb> but I still only count 2 files of which that is true
[23:48] <sinzui> maxb: ha ha
[23:48] <sinzui> maxb the others are false matches
[23:51] <jml> beuno-on-vacatio, sweet
[23:52] <sinzui> maxb: oh old xml I pushed that up as dtdvalidator
[23:52] <jml> kfogel, did I stand you up?
[23:53] <maxb> sinzui: ?
[23:56] <sinzui> maxb: We only used python-xml for DTD validation, and it is not supported in the modern version. I extracted the lib and put it at https://edge.launchpad.net/dtdparser
[23:56] <maxb> huh. I wonder what the copy in sourcecode/ is used for, if anything
[23:56] <sinzui> maxb: so we definitely do not use that package
[23:57] <sinzui> maxb: We need to parse the dtd when we import mozilla translations
[23:57] <maxb> oh! old_xmlplus *is* dtdparser
[23:57] <sinzui> maxb your work is enlightening. r=me
[23:58] <sinzui> bugger, I cannot claim the review
[23:59] <wgrant> Why have breadcrumbs like "Ubuntu » +ppas" just sprung up?