[00:02]  * mwhudson lunches
[00:14] <leonardr> thumper: there was a conflict between my branch and db-devel
[00:14] <leonardr> http://pastebin.ubuntu.com/387304/
[00:14]  * thumper looks
[00:14] <leonardr> gary and i verified that the test is present in devel and not present in db-devel, but we didn't find any record that it had been _removed_ from db-devel
[00:14] <leonardr> and are not sure why it would have caused a conflict
 leonardr: just to be sure, maybe bring it up to thumper?  It looks like it is in code, so he might know.  I don't see any removals of this code in February (http://bazaar.launchpad.net/%7Elaunchpad-pqm/launchpad/db-devel/changes?filter_file_id=xxbranchmergeproposa-20081124161423-sto2nyh0ew6f80p4-1)
[00:15] <thumper> leonardr: if you edited something at the end of the file... ??
[00:15] <thumper> leonardr: sometimes it happens
[00:15] <thumper> merge in db-devel
[00:15] <thumper> keep the test
[00:15] <thumper> it is new
[00:15] <leonardr> thumper: problem is, the test doesn't pass in db-devel, maybe due to sample data differences?
[00:16] <thumper> I don't know who fixed it, but I'm happy it is :)
[00:16] <thumper> um..
[00:16] <thumper> what's the error?
[00:16] <leonardr> thumper: all_comments['entries'] is empty
[00:17] <thumper> leonardr: where is your branch?
[00:17] <thumper> leonardr: I'll update db-devel
[00:17] <thumper> merge in your branch
[00:17] <thumper> and take a look
[00:18] <leonardr> thumper: lp~leonardr/launchpad/multiversion-wadl
[00:19]  * thumper postpones lunch a little
[00:20] <thumper> leonardr: I don't get a conflict merging your branch into db-devel
[00:20] <thumper> leonardr: have you merged db-devel into that branch and resolved the conflict?
[00:20] <leonardr> thumper: yes, actually, sorry. try merging the penultimate version
[00:21] <thumper> leonardr: that's fine, I'll just look at the test
[00:26] <thumper> leonardr: your branch cleanly merged into db-devel for me
[00:26] <thumper> leonardr: and the test passed
[00:27] <thumper> leonardr: with a make schema before I started
[00:27] <thumper> leonardr: not sure what to say...
[00:27] <leonardr> thumper: that fits with what happened to me
[00:27] <thumper> leonardr: so what is the problem?
[00:27] <leonardr> thumper: gary and i thought it was weird and wanted to alert you to it, is all
[00:27] <thumper> oh
[00:27] <thumper> ok
[00:28] <thumper> just a weird bzr merge bug I think
[00:28] <gary_poster> thumper, leonardr, sorry for the ruckus, just didn't want to make a mistake.
[00:28] <thumper> gary_poster: that's ok
[00:28] <gary_poster> leonardr: I thought the test didn't pass for you?
[00:29] <gary_poster> leonardr, thumper: so we are merging the file without the test?
[00:29] <gary_poster> oh the make schema
[00:29] <gary_poster> I wondered if that were it
[00:29] <thumper> gary_poster: I don't think so.  I started with an up to date db-devel, merged in leonard's branch, and the test is there
[00:30] <thumper> so it seems the conflict resolution is fine
[00:30] <gary_poster> but I still didn't see the test in db-devel when I pulled.  but if you are happy, I am happy.  I'll run along now. ;-)
[00:30] <thumper> and the test passes
[00:30] <gary_poster> cool
[00:30] <thumper> so I think we are good
[00:30] <gary_poster> ok, thank you thumper and leonardr
[00:30] <thumper> gary_poster: did you have an up to date db-devel?
[00:30] <leonardr> hold on, i had the wrong view of an ambiguous statement
[00:30] <leonardr> "the test"
[00:31] <leonardr> let me restate what happened
[00:31] <thumper> lib/lp/code/tests/../stories/webservice/xx-branchmergeproposal.txt
[00:31] <thumper>   Ran 23 tests with 0 failures and 0 errors in 5.421 seconds.
[00:31] <gary_poster> thumper: yes
[00:31] <leonardr> i merged db-devel into my branch and saw the conflict in xx-branchmergeproposal
[00:31] <leonardr> the conflict was a set of assertions about merge proposal comments
[00:32] <leonardr> i removed it and then 'the test' (xx-branchmergeproposal) ran
[00:32] <thumper> leonardr: you removed this? http://pastebin.ubuntu.com/387304/
[00:32] <leonardr> yes
[00:32] <leonardr> if i did not remove it, xx-branchmergeproposal would not run
[00:32] <leonardr> i'm fairly sure this was after a make schema (becuase the test wouldn't run at all without a make schema)
[00:32] <leonardr> but i'll try again
[00:32] <thumper> hmm...
[00:33] <gary_poster> thumper, I do not see that snippet in my copy of db-devel, which is fresh
[00:33] <thumper> leonardr: so to confirm, your branch as I merged it doesn't have this test?
[00:33] <gary_poster> I also did not see it in loggerhead
[00:33] <leonardr> thumper: yes
[00:33] <gary_poster> getting loggerhead link
[00:33] <leonardr> thumper: ok, wait
[00:33]  * thumper looks at devel
[00:34] <leonardr> the branch at lp:~leonardr/launchpad/multiversion-wadl does not have the test, because i had to remove it to merge in db-devel
[00:34] <gary_poster> http://bazaar.launchpad.net/%7Elaunchpad-pqm/launchpad/db-devel/annotate/head%3A/lib/lp/code/stories/webservice/xx-branchmergeproposal.txt
[00:35] <gary_poster> thumper: I do not see that snippet in loggerhead link above, nor in my fresh copy of db-devel
[00:35] <thumper> ok, this IS an issue
[00:36]  * thumper adds the test and tries again
[00:37] <thumper> ah
[00:37] <thumper> dumb arse
[00:37] <thumper> it was my change
[00:37]  * thumper smacks forhead
[00:37] <thumper> forehead
[00:37] <thumper> yes it is correct to have it remoevd
[00:37] <thumper> I removed it!
[00:37] <thumper> d'uh
[00:37] <thumper> the db-devel branch as descriptions for merge proposals
[00:37] <thumper> the initial comment doesn't exist any more
[00:38] <thumper> we're golden
[00:38] <thumper> sorry for my confusion
[00:38]  * leonardr considers quitting irc before another reversal
[00:38] <thumper> the reason you got the conflict is that you changed some text in that block
[00:38] <thumper> for the new api url
[00:38] <leonardr> yeah, i changed beta to devel
[00:38] <thumper> and I deleted it on db-devel
[00:38] <thumper> right
[00:39] <thumper> that is why there was a conflict
[00:39] <thumper> it is correct for it to not be there
[00:39] <thumper> on db-devel
[00:39] <leonardr> ok, i just got email that it's been merged with pqm
[00:39] <thumper> sweet
[00:39] <gary_poster> leonardr, thumper thanks :-) running away also.
[00:40] <thumper> ok
[01:03] <adiroiban> hi. any idea what should I do to fix this error: AssertionError: No IEntry adapter found for IPOTemplate.
[01:04] <adiroiban> i'm trying to export IPOTemplate via API
[01:04] <james_w> heh
[01:04] <james_w> adiroiban: jml was just asking a very similar question a few hours ago
[01:05] <james_w> adiroiban: what code changes have you made?
[01:06] <adiroiban> export_as_webservice_entry() in IPOTemplate
[01:06] <adiroiban> end marked a simple TextLine as exported
[01:06] <james_w> hmm
[01:07] <james_w> if you just make the first change does it give the same error?
[01:07] <adiroiban> and this one http://paste.ubuntu.com/387327/
[01:08] <adiroiban> without the changes from http://paste.ubuntu.com/387327/, there is no error, but the langauge is not exported
[01:08] <adiroiban> s/language/template/
[01:09] <adiroiban> it looks like the template API needs to be referred by some other property in order to be exported
[01:09] <james_w> yeah, I just wondered if it was the export_as_webservice_entry() was enough to cause it
[01:11] <wgrant> adiroiban: Can you pastebin your diff and the error?
[01:11] <wgrant> lazr.restful is very good at confusing people.
[01:13] <adiroiban> error http://paste.ubuntu.com/387331/
[01:14] <adiroiban> diff http://paste.ubuntu.com/387332/
[01:16] <james_w> adiroiban: try dropping the export_as_webservice_collection() line
[01:16] <james_w> and the @collection_default_content() one too
[01:17] <adiroiban> james_w: I will try... but those are for IPOTemplateSet ... not for IPOTemplate
[01:17] <james_w> yes
[01:17] <wgrant> But the first references IPOTemplate.
[01:18] <adiroiban> same error
[01:18]  * wgrant pokes around.
[01:18]  * wgrant waits for buildout to do whatever it does.
[01:20] <adiroiban> lazr.restful is resposible for creating the IEntry adapter?
[01:21] <wgrant> create_as_webservice_entry() should do everything.
[01:21] <wgrant> Er, export_as*
[01:23] <adiroiban> for me lazr.restful is still a voodoo afair
[01:25] <adiroiban> if I'm not using all_potemplates from distroseries, there are no errors
[01:25] <wgrant> Yeah.
[01:25] <adiroiban> so I guess the IPoTemplate is not read
[01:25] <adiroiban> since it is not listed in apidoc
[01:35] <adiroiban> wgrant: do I need to include IPOTemplate in lib/lp/translations/interfaces/webservices.py ?
[01:36]  * wgrant blinks.
[01:37] <wgrant> Aaaaaaaa.
[01:37] <wgrant> Yes.
[01:37] <wgrant> Everything I've ever touched has been in canonical.launchpad.interfaces, so I didn't know about that registration.
[01:38] <adiroiban> what is that? :) I have exported the API for ILanguage, which is in lib/lp/services/worlddate
[01:38] <wgrant> But it looks like Translations has removed their stuff from there.
[01:38] <adiroiban> and I did not have to added it
[01:38] <wgrant> Right, it's imported in lib/canonical/launchpad/interfaces/__init__.py, where all of LP's interfaces used to be available.
[01:39] <wgrant> canonical.launchpad.interfaces is webservice-registered.
[01:39] <wgrant> But Translations stuff appears to have been largely stripped out of c.l.i (as everything eventually should be).
[01:39] <adiroiban> ok
[01:39] <adiroiban> I added IPotemplate
[01:39] <adiroiban> and it is not listed in apidoc
[01:40] <adiroiban> and wadl file
[01:40] <wgrant> You've removed and regenerated the WADL and apidoc?
[01:40] <adiroiban> yes
[01:40]  * wgrant tries.
[01:41] <wgrant> It's there for me.
[01:41] <adiroiban> wgrant: sorry
[01:41] <wgrant> (but as p_o_template, specify export_as_webservice_entry('po_template') for it to be more sane)
[01:41] <adiroiban> s/not/now/
[01:42] <wgrant> Ahh.
[01:42] <adiroiban> same here... p_o_templates
[01:42] <adiroiban> I will go to sleep now
[01:42] <adiroiban> many thanks for your help
[01:42] <wgrant> Remember to fix that name at some point.
[01:42] <wgrant> np
[01:43] <adiroiban> james_w: has jml fixed his no IEntry addapter problem?
[01:43] <james_w> I believe so
[01:43] <james_w> his was actually a different cause I think
[01:43] <adiroiban> aha
[01:43] <james_w> putting this on the wiki somewhere would be a good idea
[01:44] <adiroiban> james_w: yes. I'm adding it right now
[01:44] <adiroiban> at the Prerequisites
[01:44] <wgrant> Yeah, I've never seen that documented anywhere.
[01:45] <james_w> \o/ adiroiban
[01:45] <wgrant> Only Code and Translations have their own registrations
[01:46] <adiroiban> wgrant: yep.
[01:47] <adiroiban> maybe we need to ask on ML
[01:48] <wgrant> Why?
[01:48] <adiroiban> why the other modules are not using webservice.py
[01:49] <wgrant> Their exports predate c.l.i's deprecation.
[01:49] <wgrant> they should probably use it.
[01:50] <wgrant> They shoul dprobably create and use their own modules, that is.
[01:50] <wgrant> So we can kill off c.l.i eventually.
[01:51] <adiroiban> ok
[02:21]  * thumper afk for a bit
[03:32] <thumper> back for a bit
[08:23] <adeuring> GOOD MORNING
[08:23]  * adeuring should remove the caps lock key
[08:24] <spm> :-)
[08:52] <mwhudson> adeuring: or rebind it to control, as god intended
[08:55]  * wgrant wonders why there is still a schoolbell directory in the tree.
[09:05] <lifeless> delete i t.
[09:05] <lifeless> see what happens
[09:08] <wgrant> It's used by c.l.components.cal, which itself doesn't seem to be used.
[09:08] <wgrant> In fact that module shouldn't even import.
[09:08] <lifeless> dead code.
[09:08] <lifeless> delete.
[09:08] <lifeless> have vcs, can undelete.
[09:08] <wgrant> Yeah, the only reference is in a module that doesn't work any more. How odd.
[09:09] <lifeless> it was imported for the ill fated calendar support that jamesh put together
[09:09] <lifeless> which would have been really nice, but wasn't given enough dev time
[09:09] <lifeless> [heard that before? :P]
[09:10] <wgrant> Yeah, I know why it *was* there. I remember that poor old feature.
[09:14] <lifeless> seriously.
[09:14] <lifeless> delete. klesscode.
[09:15] <jamesh> how much of the calendar code is left in the tree?  I remember it was just hidden for a while (along with the bounty system)
[09:15] <lifeless> jamesh: dunno, possibly lots.
[09:16] <lifeless> hey, I'll be able to run lp on my new laptop ;)
[09:16] <jamesh> couldn't you run it on your old one?
[09:16] <lifeless> nup
[09:16] <lifeless> only got 2GB of disk, and only 2GB of ram
[09:16] <wgrant> jamesh: It's gone.
[09:16] <lifeless> with all its overhead I'd be silly to try
[09:16] <wgrant> Except for this one odd file with two classes.
[09:17] <wgrant> lifeless: As long as you're 32-bit and not doing stupid Soyuz stuff, 1GiB is doable, 2GiB is fine.
[09:17] <wgrant> (RAM, that is)
[09:17] <mrevell> Morning
[09:17] <jamesh> lifeless I used to do LP development in 2GB of ram on a 64 bit system
[09:17]  * bigjools struggles with 2GB on a 64-bit box
[09:17] <lifeless> wgrant: 64bit
[09:17] <wgrant> I think bounties are gone as well.
[09:18] <wgrant> bigjools: Yeah, I had to upgrade.
[09:18] <bigjools> I'm getting a new Stinkpad soon
[09:18] <bigjools> with 4GB and an SSD :D
[09:18] <wgrant> Oooh SSD.
[09:18] <wgrant> I wonder how much happier that makes the test suite.
[09:18]  * bigjools does a little dance
[09:18] <lifeless> jamesh: yeah, its got heavier AFAICT; and my evo + browser chew up tonnes
[09:18] <bigjools> ask thumper
[09:18] <lifeless> bigjools: me too :)
[09:18] <wgrant> lifeless: Evo eats LOTS.
[09:18] <lifeless> bigjools: x201s, 8GB, 128SSD
[09:18] <bigjools> lifeless: you already have one?
[09:19] <bigjools> I'm getting a T410
[09:19] <lifeless> bigjools: ordered today.
[09:19] <lifeless> bigjools: i7 640LM
[09:19]  * bigjools ordered a week ago
[09:19] <bigjools> i5 though :)
[09:19] <thumper> bigjools: a little faster
[09:19] <thumper> not run everything though
[09:19] <bigjools> I couldn't find a way of avoiding the Windows tax though, it makes me sick
[09:19] <jamesh> lifeless: that does sound like a nice machine.  Looks pretty expensive though...
[09:20] <wgrant> bigjools: How are Windows refunds with UK Lenovo?
[09:20] <lifeless> jamesh: massive discount
[09:20] <bigjools> wgrant: I dunno, I will try
[09:20] <bigjools> it's not the refund as such, it's the bloody sales figures that sticks in the throat
[09:20] <lifeless> bigjools: i5 ~= i7, need to check specific models and chipsets to compare in more detail.
[09:21] <bigjools> i5-540M
[09:21] <wgrant> bigjools: Hopefully refund figures count for something.
[09:21] <jamesh> lifeless: more than the discounts that they always seem to claim are in effect?
[09:21] <bigjools> I doubt it
[09:21] <wgrant> Are UK models as ridiculously overpriced as Australian ones?
[09:22] <bigjools> probably, we pay 17.5% VAT here
[09:22] <bigjools> however I got an awesome deal, ended up saving ~GBP300
[09:22] <lifeless> jamesh: yeah
[09:22] <lifeless> jamesh: ends 5th march, 25% off
[09:23] <jamesh> lifeless: I guess I'll have to watch for specials when I get round to looking for a new laptop
[09:23] <lifeless> jamesh: would have been really quite cheap if I didn't get the 8GB ram and the SSD.
[09:23] <lifeless> jamesh: if your 6 year anniversary happens in < 3 months, you could do it now :)
[09:24] <bigjools> I paid GBP1200, would have been ~1000 without the SSD
[09:24] <jamesh> lifeless: it's not quite that close
[09:25] <lifeless> bigjools: I think we'll both be happy
[09:25] <lifeless> bigjools: I wanted the small form factor
[09:25] <bigjools> yeah I like my 14 inches

[09:25] <lifeless> :>
[09:25] <lifeless> I'm happy with 12.1"
[09:26] <lifeless> I used to want a lot more.
[09:26] <jamesh> lifeless: I wish they went for a thinner bezel and smaller size for the newer thinkpads
[09:26] <wgrant> My 14" isn't too bad, but I would have preferred a 12" or 13" I think.
[09:26] <bigjools> it's not what you have it's what you do with it
[09:26]  * bigjools likes WXGA+
[09:26] <lifeless> jamesh: I'll have to show you the 201s, its 0.8" high with screen closed
[09:26] <wgrant> jamesh: The T400 screen bezel is asymmetric and HUGE.
[09:30] <jamesh> lifeless: that sounds like an improvement over my X60s
[11:04] <deryck> Morning, all.
[11:15] <adiroiban> danilos: hi. can we schedule a pre-implementation chat for bug 525371 ?
[11:15] <mup> Bug #525371: API for reading POTemplates details <api> <Launchpad Translations:Triaged by adiroiban> <https://launchpad.net/bugs/525371>
[11:16] <danilos> adiroiban, sure, let me review the languages API first :)
[11:19] <adiroiban> ok
[11:32] <gmb> james_w: Did you get success and failure emails about your branches that I ran through EC2 yesterday?
[11:40] <james_w> gmb: I did not :-(
[11:42] <gmb> james_w: I did, so I'll forward them to you. I guess ec2 test doesn't look up the email addresses to which to send the messages like ec2 land does.
[11:42] <james_w> thanks
[11:48] <james_w> gmb: cool, so is the SUCCESS one landed?
[11:49] <gmb> james_w: No, because we're in PQM freeze for release. I'll land it for you as soon as PQM reopens (ping me on Friday if you haven't heard from me about it).
[11:49] <james_w> aha!
[11:49] <james_w> I'll fix up the other one
[11:49] <james_w> who knew there were actually tests for sync-source.py
[11:50] <jelmer> james_w: there was one
[11:50] <james_w> oh, I managed to break that one
[11:50] <jelmer> james_w: and there were more that tested a bit of code that was only used by the tests, not actually by sync-source.py (-:
[12:21] <lifeless> jelmer: hey
[12:21] <lifeless> jelmer: #tr - please answer, I'm waiting on you before crashing.
[13:13] <jpds> Anyone know why I would get ImportError: No module named tickcount - on lucid running make run?
[13:15] <maxb> jpds: dpkg -L python-tickcount ?
[13:16] <maxb> Does it mention a /usr/lib/pyshared/python2.5/tickcount.so ?
[13:16] <jpds> 0.1-0ubuntu10launchpad1
[13:16] <jpds> Yep.
[13:16] <maxb> Can you python2.5 -c 'import tickcount' ?
[13:16] <jpds> No.
[13:17] <maxb> hrm
[13:17] <maxb> oddness
[13:17] <maxb> ls -la /usr/lib/pymodules/python2.5/tickcount.so
[13:17] <maxb>  ?
[13:18] <jpds> No such file.
[13:18] <maxb> Are you fully updated from the launchpad PPA?
[13:18] <noodles775> Ah, I had this issue after upgrading to lucid...
[13:19] <jpds> maxb: Just ran rocketfuel-setup.
[13:19] <noodles775> You just need to re-run `sudo apt-get update/upgrade` after rocketfuel-setup.
[13:19] <noodles775> (so it pulls in python-support from the lp ppa)
[13:19]  * noodles775 runs to lunch
[13:20] <maxb> Do that. If it doesn't work, 'sudo update-python-modules -v python-tickcount.public' should manually poke python-support into reinstalling the symlinks for that package
[13:27]  * bigjools stabs the branch scanner
[13:31] <james_w> how do I rollback a transaction in bin/harness?
[13:33] <salgado> james_w, transaction.rollback() or abort()?
[13:33] <james_w> ah, abort works, thanks
[13:34] <james_w> odd that it's named that way
[13:34] <salgado> yeah, I never remember which one is the correct
[13:42] <bigjools> james_w: fwiw, bin/iharness is far nicer to use
[13:43] <james_w> why doesn't make harness run that then?
[13:44] <salgado> james_w, make iharness does
[13:49] <james_w> gmb: tests fixed for the second branch and devel merged, so should be good to go when PQM re-opens as well
[13:54] <gmb> james_w: Cool, thanks.
[14:14] <danilos> adiroiban, btw, I won't have time to do a pre-imp for potemplate API today; if you want we can do it tomorrow or you can try getting hold of either jtv or henninge
[14:15]  * beuno hugs bac 
[14:17] <bac> beuno: and i didn't even have to make stuff up!
[14:19] <beuno> bac, nobody else has to know that  :)
[14:19] <adiroiban> danilos: ok. no problem.
[14:20] <danilos> adiroiban, I'm going to go through the languages API branch now, sorry for being late and lazy
[15:17] <jml> hey guys
[15:17] <jml> didrocks & I are trying to expose GPG keys over the API
[15:17] <jml> that means we need to give them a URL
[15:18] <intellectronica> jml: gmb just worked on a similar thing. maybe you can find his branch for reference
[15:18] <intellectronica> but basically you need to add a url in zcml, and traversal code
[15:18] <jml> any thoughts on https://launchpad.net/+gpgkey/KEYID
[15:18] <jml> intellectronica, that's good to know -- I'll look for that
[15:19] <jml> intellectronica, any thoughts on the proposed URL?
[15:19] <intellectronica> jml: i'm not sure i understand the question
[15:19] <intellectronica> well, i'm sure i don't
[15:20] <jml> intellectronica, heh ok
[15:20] <jml> intellectronica, we can give GPG keys any URL we want. we have to make a decision about what the URL will be
[15:20] <intellectronica> jml: is that the GPG keys for a person?
[15:21] <jml> intellectronica, yes.
[15:21] <jml> intellectronica, although all GPG keys are tied to a person, afaict
[15:21] <gmb> jml: See http://bazaar.launchpad.net/~launchpad-pqm/launchpad/db-devel/revision/9053 for reference to how I exposed TemporaryBlobStorage via the API.
[15:21] <intellectronica> if so, then how about lp.net/~person/+gpg-keys ?
[15:21] <jml> intellectronica, we need a URL for the individual objects
[15:22] <intellectronica> jml: maybe use the key's fingerprint?
[15:22] <jml> you mean like "https://launchpad.net/+gpgkey/KEYID"?
[15:22] <intellectronica> so ~person/+gpg-keys/AB12045
[15:22] <intellectronica> yeah, key id, terminology...
[15:23] <jml> why put it under ~person?
[15:24] <BjornT> jml: what's the url of an EmailAddress?
[15:24] <kfogel> deryck: so chrome hangs forever trying to visit https://bugs.launchpad.dev/firefox/+bug/1  (and shut up, mup!), but ffox can visit it.  Go figure.
[15:24] <mup> Bug #1: Microsoft has a majority market share <iso-testing> <ubuntu> <Clubdistro:Invalid> <Computer Science Ubuntu:Invalid by compscibuntu-bugs> <EasyPeasy Overview:Invalid by ramvi> <Ichthux:Invalid by raphink> <JAK LINUX:Invalid> <OpenOffice:Invalid by lh-maviya> <Tabuntu:Invalid by tinarussell> <Tivion:Invalid by shakaran> <Ubuntu:In Progress by sabdfl> <ubuntu-express (Ubuntu):Invalid by jahyire2006> <Ubuntu Jaunty:In Progress> <ubuntu-expre
[15:25] <jml> BjornT, good question!
[15:25] <kfogel> deryck: oh, I think it's b/c the bug is in private mode right now
[15:25] <kfogel> and chrome didn't have the cached creds
[15:25] <BjornT> jml: another question: does it make sense to access the collection of all gpg keys?
[15:26] <jml> BjornT, I don't think so, but I wasn't planning on exposing IGPGKeySet
[15:26] <jml> BjornT, actually...
[15:26] <intellectronica> jml: because it was uploaded by a person and uniquely belongs to that person, no?
[15:26] <intellectronica> do we allow more than one person to upload the same key?
[15:26] <jml> BjornT, being able to fetch a key by id sounds like a useful thing, but it's yagni for me now.
[15:26] <jml> intellectronica, we don't. I checked.
[15:27] <BjornT> jml: also, consider how a new key is added, or an old one removed.
[15:27] <intellectronica> jml: in that case i think it makes sense for it to dangle from a person
[15:27] <intellectronica> jml: i would also make it possible to iterate through all the keys for a person
[15:27] <jml> intellectronica, yeah, that's what we've implemented right now
[15:27] <intellectronica> by exposing a collection
[15:28] <jml> intellectronica, we just need need to give the bloody things a URL :)
[15:28] <intellectronica> so it makes sense that if you iterate over ~person/+gpg-keys every item will be of the form ~person/+gpg-keys/KEYID
[15:29] <jml> there's also a pendinggpgkeys collection
[15:29] <jml> for each person
[15:31] <jml> BjornT, how is that relevant?
[15:31] <jml> BjornT, I mean, it's definitely an interesting thing to consider :)
[15:32] <jml> intellectronica, do you think it makes sense to iterate over ~person/+pending-gpg-keys in the form of ~person/+gpg-keys/KEYID?
[15:33] <jml>     "gpgkey_fingerprint_key" UNIQUE, btree (fingerprint)
[15:33] <jml>     "gpgkey_owner_key" UNIQUE, btree (owner, id)
[15:33] <jml> those are the constraints
[15:34] <intellectronica> jml: yes, i think it does. keys are globally unique, but in launchpad they belong to a person and it never makes much sense to refer to them without the context of a person
[15:35] <didrocks> jml: I'm wondering, how do you "ack" a key so that it goes from pending to accepted key? isn't the "send an email thing and decrypt it?" (it's been years I've done that, I don't remember)
[15:35] <jml> didrocks, I don't know.
[15:36] <jml> didrocks, my brain is big enough to fit one problem at a time :)
[15:37] <didrocks> jml: it's big enough to understand LP's mind, mine apparently not ;)
[15:38] <jml> didrocks, I use my hind-brain for that.
[15:38] <didrocks> heh
[15:41] <intellectronica> jml: i think you need to encrypt your key and paste the result somewhere. but also been a while since i've done that
[15:41] <intellectronica> i mean encrypt _with_ your key
[15:41] <kfogel> adeuring: how do you run a windmill test?  bin/test -v -v -t TEST_BASENAME doesn't seem to do it.
[15:42] <intellectronica> kfogel: https://dev.launchpad.net/Windmill
[15:42] <adeuring> kfogel: as intellectronica says ;)
[15:42] <kfogel> intellectronica, adeuring: d'oh.  THank you.
[15:43] <kfogel> intellectronica, adeuring: just out of curiosity: no one would object if "bin/test -t NAME_OF_WINDMILL_TEST_FILE" did the right thing, would they?
[15:44] <adeuring> kfogel: no, not really ;)
[15:44] <intellectronica> kfogel: no, but you'd need to record somewhere which domain the test should run on
[15:45] <kfogel> intellectronica: well, or that could be deduced from the path to the file
[15:45] <adeuring> kfogel: but the test setup for windmill is quite complex, so it might be better to have another script that decides if that is needed for a given test and either starts the windmill stuff of invokes the oridinary test
[15:48] <kfogel> adeuring: not sure I understand.  Basically, right now we have to specify "--layer=FooWindmillLayer", but that information could be deduced from the test every (?) time.
[15:48] <kfogel> That is, the Foo could be deduced, and the need for the --layer at all could be deduced.
[15:48] <jml> intellectronica, BjornT: thanks.
[15:48] <adeuring> probably.
[15:49] <kfogel> adeuring: hmm, I keep getting cert error popups, and no way to say "it's okay"
[15:49] <adeuring> kfogel: congratulations, that's why I like windmill tests ;) wait a second, I can send you my recipe to fix this by mail
[15:49] <kfogel> adeuring: ...and I'll add it to the Troubleshooting section :-)
[15:50] <adeuring> (but that's not the reocmmended way)
[15:51] <kfogel> adeuring: and I can't get my prompt back -- it traps C-c, even though the test windows are gone.
[15:51] <adeuring> kfogel: really? that's new for me...
[15:52] <kfogel> adeuring: killed the python process, now I've got it back.
[15:52] <adeuring> kfogel: mail sent
[15:53] <kfogel> thanks adeuring
[15:55] <kfogel> adeuring: hunh, this time when I ran it I got no cert errors, even though the previous time I'd never accepted the cert (I accidentally hit "Get me out of here" instead of "I understand the risks").  How bizarre.
[15:55] <adeuring> kfogel: indeed...
[16:20] <kfogel> intellectronica: I'm in lib/lp/bugs/windmill/tests/test_bug_privacy_settings.py, hoping to add a line that tests that the body tag's class lost "public" and gained "private" after the bug is marked private (I would do this around line 81).  Not sure how to ask for the value of the class attribute of a particular tag, though.  I'm reading at getwindmill.com, but if you know of any examples, please say.
[16:23] <intellectronica> kfogel: windmill is a bit of a black art. i'm not sure there's a way. if there isn't what you'll have to do is use the javascript validator, which allows you to run some javascript code and return a bool. unfortunately the js code in the validator doesn't have access to yui, so to determine whether you have the class you'll probably have to grab the attribute, parse it and check that it contains (or doesn't) the class you're interested in
[16:24] <kfogel> intellectronica: *nod*  I've seen some code in YUI that does that itself, can use that as a guide (YUI's implementation of removeClass, I think).
[16:24] <intellectronica> kfogel: something like `my_element.getAttribute('class').split(' ').indexOf('my-class') < 0`
[16:29] <kfogel> intellectronica: when you say "use the javascript validator", where's an example of that?  I see all these validator=foo in the code, but they mostly seem to be in some weird hybrid language I don't recognize.  Is that some form of javascript?
[16:30] <intellectronica> kfogel: no, most validators use some very weird syntax that's windmill specific, but there's one kind of validator that allows you to pass js code. let me find an example
[16:32] <intellectronica> kfogel: it's client.asserts.assertElemJS
[16:32] <kfogel> intellectronica: thanks
[16:32] <intellectronica> kfogel: you can see a usage example in test_official_bug_tags_management.py
[16:32] <Ursinha> barry: ping
[16:38] <BjornT> kfogel: fwiw, testing that the body tag classes sounds like something that is best done in a JS unit test, not in Windmill.
[16:39] <intellectronica> BjornT: how can you do that without encapsulating the entire body in a js widget?
[16:39] <kfogel> BjornT, intellectronica: watching your conversation
[16:41] <intellectronica> well, i suppose you could just test the privacy widget. there's only one <body> above it, so it's safe
[16:41] <BjornT> intellectronica: well, i said it sounds like it would be better to use a JS test, i didn't say it would be easier :) i wouldn't think that you need to encapsulate the entire body in a js widget, but it might require some re-design of how the privacy control is hooked up. i haven't looked at the code, and have no intention of doing it right now :)
[16:42] <intellectronica> kfogel: but though i agree with BjornT that it would be nicer, i think it would be _a lot_ less work to just add that one test to the existing windmill test, so i'd recommend doing that for now
[16:43] <intellectronica> BjornT: well, as i added later, it's actually not that hard to do, with body being singular. but unless you insist i'll recommend to kfogel that he use windmill for now, and we'll think on how to split testing between windmill and unit tests better in the future
[16:44] <BjornT> intellectronica: no, i don't insist, that's why i said "fwiw"
[16:45] <Ursinha> hi sinzui, is bug 531371 a rollout blocker?
[16:45] <mup> Bug #531371: oops MailingListAPIView email already in use <mailing-lists> <oops> <Launchpad Registry:Triaged> <https://launchpad.net/bugs/531371>
[16:45] <kfogel> intellectronica, BjornT: heard, understood :-).
[16:46] <sinzui> Ursinha: no, it is just an oops, and I fixed it with the help of chex
[16:47] <Ursinha> sinzui: right, thanks
[16:57] <adiroiban> is there a special setup for running windmill tests? I get TranslationsWindmillLayer Error: no display specified
[17:02] <intellectronica> adiroiban: are you trying to run the test headless?
[17:03] <intellectronica> it sounds like the test runner is complaining that it doesn't have an x server to use. usually running the tests on your desktop your desktop's x server will be in use
[17:03] <intellectronica> i never had to setup anything especially for that
[17:03] <adiroiban> intellectronica: i'm running the test on a remove machine
[17:03] <adiroiban> via ssh
[17:04] <intellectronica> adiroiban: well, that would explain the problem you're having
[17:04] <intellectronica> there's some way to run the tests headless, but i don't remember off the top of my head how
[17:04] <adiroiban> ok
[17:05] <adiroiban> well, I can start X on that machine and set the DISPLAY variable
[17:05] <intellectronica> yes, that should work, but since you're not going to see anything anyway why not just run headless
[17:05] <adiroiban> but I was thinkint that bin/test is smart and can deal with this situation
[17:06] <intellectronica> smart it's not :)
[17:10] <adiroiban> i can not find any headless option in bin/test --help
[17:58] <kfogel> intellectronica: how does this look to you?  (it passes)  http://paste.ubuntu.com/387755/
[18:01] <sinzui> salgado:  do we get to close bug 2164 when the release is complete, do we retarget the bug to canonical-identity-provider
[18:01] <mup> Bug #2164: Login form should ask for e-mail address only once <ui> <Launchpad Foundations:Triaged> <https://launchpad.net/bugs/2164>
[18:05] <salgado> sinzui, I guess we can mark it as invalid or fix released at that point, but it certainly should be closed as the new form doesn't ask for the e-mail twice
[18:05] <sinzui> salgado: so you can assign it to yourself, mark it fix released and get the glory
[18:06] <sinzui> and the karma
[18:06] <salgado> yay!
[18:07] <kfogel> adeuring: (see above msg to intellectronica, if you have time to review a small windmill patch)
[18:08] <salgado> sinzui, are you going through the login/registration/reset-password bugs and checking which ones we can close after the roll out?  if not maybe I should be doing that
[18:08] <sinzui> salgado: I am going through the UI bugs that gary says he does not want. I think 1/3 should be closed or moved to a different project
[18:09] <sinzui> salgado: I certainly will search for bugs that we can close because of the login change
[18:09] <gary_poster> thank you sinzui! jml ^^^
[18:10] <jml> sinzui, thanks.
[18:22] <EdwinGrubbs> sinzui: do you know where the view.page_title gets set to the view.label if the view.page_title does not exist? The page works on launchpad.dev, but create_initialized_view().render() fails on view/fmt:pagetitle
[18:25] <sinzui> EdwinGrubbs: that means someone must add a page_title to the view. barry did not create a fallback and I reported a bug about that. we have lots of views that does this
[18:25] <sinzui> label = 'me'
[18:25] <sinzui> page_title = label
[18:26] <EdwinGrubbs> sinzui: I don't understand why this doesn't also cause an error with "make run".
[18:27] <sinzui> EdwinGrubbs: because the error is in tales which is a runtime issue
[18:28] <EdwinGrubbs> sinzui: I mean after I use "make run", I load the page, and it displays the page_title as the reverse breadcrumbs.
[18:28] <sinzui> right
[18:28] <sinzui> tales is compiled and executed at request time
[18:29] <sinzui> EdwinGrubbs: I do not understand the problem. When I get an error with fmt:pagetitle, I add a page_title to the view and move on
[18:30] <sinzui> EdwinGrubbs: remember that launchpad/pagetitles.py should not exit. It still does because we have not really complete the 3.0 update
[18:30] <sinzui> s/exit/exist/
[18:31] <EdwinGrubbs> sinzui: ok, I was assuming that launchpad.dev should have the same errors as the doctests, but I guess the doctests are more anal so that you will provide a more interesting page_title that the one it defaults to in launchpad.dev.
[18:32] <sinzui> right
[18:53] <intellectronica> kfogel: i have time now if you still need a review
[18:59] <kfogel> intellectronica: hey, yeah, actually review and/or questions
[18:59] <kfogel> intellectronica: basically, see http://paste.ubuntu.com/387755/
[18:59] <kfogel> intellectronica: since then, I've tried to consolidate the code a bit:
[19:00] <kfogel> intellectronica: I'll make a new paste, hold on
[19:00] <intellectronica> kfogel: my guess is in HAVE_PRIVATE_CLASS you want to use >= rather than >, no?
[19:00] <kfogel> intellectronica: so the above one succeeds, yet this fails:
[19:00] <kfogel> http://paste.ubuntu.com/387786/
[19:01] <kfogel> intellectronica: oh, good idea (though coincidentally it doesn't matter right now because that class val is never first, but yes
[19:01] <kfogel> )
[19:02] <intellectronica> kfogel: also, for readability, i would use """ instead of concatenating strings.
[19:02] <kfogel> intellectronica: just being consistent with the other vars in thehre...
[19:03] <kfogel> intellectronica: as soon as windmill finishes here, I'll show you the puzzling failure that results from the second paste
[19:03] <intellectronica> kfogel: i'm surprised the id you pass works. does the body tag actually have an id of "document"?
[19:03] <kfogel> intellectronica: I also wanted to consolidate the element.getAttribute('class').split(' ') into a variable and just use that variable, but stopped on this failure.
[19:04]  * kfogel waits for windmill
[19:05] <intellectronica> kfogel: the fact that you pass an elements to the validator doesn't mean that you have to use it. i'm sure document.body.getAttribute() will work just fine
[19:07] <kfogel> intellectronica: oh, interesting, ok
[19:08] <kfogel> intellectronica: ok, so this did NOT fail just now: http://paste.ubuntu.com/387790/
[19:08] <kfogel> intellectronica: but, I'd still like to abstract out the repeated bit of code in that js string
[19:09] <kfogel> I tried "var classes = element.getAttribute('class').split(' '); "
[19:09] <kfogel> and I tried "var classes = element.getAttribute('class').split(' '), "
[19:09] <kfogel> neither worked
[19:09] <kfogel> (then I used "classes.indexOf" below, of course)
[19:10] <mwhudson> good morning
[19:10] <kfogel> mwhudson: morning
[19:11] <intellectronica> kfogel: i guess the problem is what you pass is an expression, so if you want to have statements in it you need to wrap them all in a function and call it immediately
[19:11] <kfogel> intellectronica: *nod*
[19:11] <kfogel> intellectronica: let me try that
[19:12] <intellectronica> kfogel: something like `(function() {var classes = "blah blah"; return classes.split(' ')[0]})()`
[19:13] <kfogel> intellectronica: ah, anon function called immediately, got it
[19:13] <kfogel> intellectronica: feeling all lisp-nostalgiac now
[19:13] <intellectronica> :)
[19:13] <intellectronica> js really is scheme with c syntax
[19:27] <intellectronica> is there some magical way to get the context given a request (in code that doesn't have direct access to the context)?
[19:31] <rockstar> Windmill should really be renamed to Sandman, because it eats my Memory, slows everything down, and will likely kill me.
[19:32] <jtv> salgado, can you give me some feedback about l.c.webapp.tales._get_custom_icon_url?  ISTM it's unnecessarily fetching context.icon from the db just to figure out whether one has been set.  I think that's what we're seeing in some very sporadic timeouts.
[19:33] <jtv> (Yes, that does imply there are worse problems on the page, but I've already addressed those and I think this would make a nice extra :)
[19:33] <jtv> rockstar: I don't know what the sandman eats, but otherwise you've pretty much described a millstone.
[19:34] <rockstar> jtv, if you haven't read the graphic novel "Sandman" I highly recommend it.
[19:34] <jtv> rockstar: another one for the list of "things I'd love to follow up on in principle but will sadly never get around to," I fear.  But I do appreciate it.  :-)
[19:34] <jtv> intellectronica: I don't suppose you could dig up the view?
[19:35] <intellectronica> jtv: no, that's precisely my problem
[19:35] <salgado> jtv, it returns the URL of the context's icon, so I guess it needs to fetch the icon's details (but not the actual icon, which should live in the librarian) from the DB
[19:35] <intellectronica> it's in deeply nested code that doesn't have access to the view
[19:36] <jtv> intellectronica: then that sounds like one of those "don't want to do whatever you're trying to do" cases  :/
[19:36] <salgado> intellectronica, IPerson(self.request.principal)
[19:36] <jtv> salgado: it returns the icon's URL if there is one, but plenty of projects don't have one
[19:36] <intellectronica> oh how i miss the good ol' days of the launchbag
[19:37] <salgado> intellectronica, ignore that; I misread context as user.  (somehow)
[19:37] <intellectronica> salgado: oh, but what do i do with the person? the context i'm looking for isn't a person
[19:37]  * jtv backspaces what he was saying to salgado
[19:37] <intellectronica> heh
[19:38] <jtv> salgado: ah, now I see...  the fetch is only not needed when it's None
[19:39] <salgado> when the context is None or doesn't provide IHasIcon
[19:39] <jtv> salgado: thanks, it seems discussing things really helps.  :)
[19:53] <kfogel> intellectronica: https://code.edge.launchpad.net/~kfogel/launchpad/471195-private-bug-body-class-private/+merge/20590
[19:54] <kfogel> intellectronica: (btw, I tried document.body.getAttribute("class") and it didn't work -- returned null.  But grabbing it by id is okay too, I think, and it allows us to use the same code to test the body and the privacy div.)
[19:55] <intellectronica> kfogel: cool. if it works it works. the code looks fine. r=me
[19:56] <kfogel> intellectronica: thanks
[19:57] <kfogel> intellectronica: now I must debate with myself whether to put it through ec2 land on the theory that by the time the tests are done, PQM will be un-gated :-).
[19:58] <kfogel> intellectronica: oh, I think for ec2 land to DTRT, you have to actually mark the approval on the MP, right?
[19:58] <intellectronica> donnow
[19:58] <intellectronica> but i have approved the MP anyway
[19:59] <intellectronica> kfogel: anyway i don't think by the time ec2 will finish pqm will have already opened. that probably only happens tomorrow, no?
[20:00] <kfogel> intellectronica: Oh, I thought it happened once the rollout was done, but could be wrong.  I'll just do ec2 test.
[20:01] <deryck> Later on everyone...  tea and my comfy chair are calling me! :-)
[20:04] <kfogel> intellectronica: ever seen this? http://paste.ubuntu.com/387817/
[20:04] <kfogel> intellectronica: (I'm just testing some ec2 land stuff with --dry-run; I intend to run ec2 test later)
[20:20] <intellectronica> kfogel: sorry, was on the phone with my mum
[20:21] <intellectronica> anyway, no i never saw that error
[20:21] <kfogel> intellectronica: np.  ignoring it, since I'm doing ec2 test anyway
[22:16] <lifeless> kfogel: around?
[22:16] <lifeless> bug 252954
[22:16] <mup> Bug #252954: renaming non-versioned directory in Eclipse causes error <Bazaar Plugin for Eclipse:Fix Released by verterok> <https://launchpad.net/bugs/252954>
[22:16] <lifeless> bug 252945
[22:16] <mup> Bug #252945: "bzr push" uploads 1-2 MB just to send a one-line change revision <hpss> <push> <Bazaar:Fix Released> <https://launchpad.net/bugs/252945>
[22:16] <kfogel> lifeless: looking
[22:17] <lifeless> that one
[22:17] <kfogel> 252945
[22:17] <lifeless> how can we get savannah to move on this
[22:17] <lifeless> yes
[22:25] <kfogel> lifeless: they need more hands on deck, basically.  It could be any of us, though of course someone experienced at bzr would be best.
[22:25] <kfogel> lifeless: I just added a comment to that bug giving details.
[22:26] <lifeless> I don't think any of us know what their issue is;
[22:26] <lifeless> they have ssh, just enable bzr, is what our reaction is.
[22:59] <beuno> "Launchpad will be going offline for maintenance in a minute."
[22:59] <beuno> sounds very generic  :)
[23:12]  * mwhudson afk to get lunch, will be hanging around near irc though if things go belly up
[23:15] <thumper> mwhudson: if it goes horribly wrong, you'll get a text if it is you, otherwise prolly not
[23:15] <thumper> :)
[23:16] <mwhudson> thumper: fairy nuff
[23:52] <thumper> mwhudson: we should test lp with twisted 10
[23:56] <mwhudson> thumper: funnily enough i have a branch that does just that
[23:56] <mwhudson> thumper: i ran the tests with 10.0.0pre1, they all passed
[23:57] <thumper> mwhudson: awesome