[01:01] <mpt> goodnight people
[02:24] <dilys> Merge to rocketfuel@canonical.com/launchpad--devel--0: [r=kiko]  make malone admin aware, fix a privacy-related bug for upstream task editing and a nasty bug in login() that was not raising an error when an invalid email was passed (patch-2469: brad.bollenbach@canonical.com)
[02:44] <dilys> Merge to rocketfuel@canonical.com/launchpad--devel--0: [trivial]  Minor variable name fixing for buildd infrastructure after test in DF, foodix/breezyfood is running. (patch-2470: celso.providelo@canonical.com)
[02:49] <dilys> Merge to rocketfuel@canonical.com/launchpad--devel--0: Bring failed binary imports down from 472 to 6 by finding sources more aggressively. r=spiv (patch-2471: daniel.silverstone@canonical.com)
[03:27] <dilys> Merge to rocketfuel@canonical.com/launchpad--devel--0: Facilitate navigation when changing orders. Fix https://launchpad.net/malone/bugs/2449. r=kiko (patch-2472: guilherme.salgado@canonical.com)
[08:55] <sivang> Morning all!
[08:56] <Treenaks> hey sivan
[09:18] <sivang> hey Treenaks  ;)
[09:29] <carlos> morning
[09:29] <carlos> stub, hi, around?
[09:30] <stub> yes
[09:30] <carlos> stub, I was not able to reach staging's librarian from mawson
[09:30] <carlos> I'm not sure If I'm doing anything wrong
[09:31] <carlos> stub, I took the configuration from the staging configuration and put it inside the default one
[09:31] <carlos> but I still get "connection refused" errors
[09:31] <stub> carlos: the staging environment is rebuilding at the moment, including a fresh db sync from production
[09:31] <stub> carlos: Because the whitespace migration script completed
[09:31] <carlos> cool
[09:32] <carlos> stub, well, I had that problem yesterday
[09:32] <stub> Should be about another 1 hour 15 mins or so
[09:32] <stub> carlos: I'll test from mawson once it is back up
[09:33] <carlos> stub, ok, if you could tell me the config I should use, please...
[09:35] <stub> download_url http://librarian.staging.launchpad.net/
[09:35] <stub> download_host librarian.staging.launchpad.net
[09:35] <stub> download_port 80
[09:35] <stub> upload_host asuka.ubuntu.com
[09:35] <stub> upload_port 58090
[09:36] <stub> That should be enough
[09:36] <carlos> ok, that's the problem, wrong port...
[09:46] <stub> carlos: staging update had a problem - it will be dead for another 2.5 hours
[09:47] <carlos> stub, ok
[09:47] <carlos> thanks for the info
[10:29] <stub> carlos: I think you missed a 'where' clause in that SQL you sent me
[10:30] <carlos> right, sorry
[10:30] <carlos> I copied& pasted the wrong line
[10:30] <carlos> :-(
[10:31] <carlos> WHERE code = 'fy'
[10:32] <stub> carlos: done
[10:32] <carlos> thank you
[11:15] <ddaa> lifeless: if the needs ever become serious, I think I have come up with a good idea to considerably speed up cscvs svn support while keeping decent layering.
[11:15] <lifeless> ddaa: cool
[11:17] <ddaa> The basic idea is to have a cache that is loaded at the start of the import for each revision. The cache manages a full svn checkout, and sequencially updates the tree. The update can be optimised by finding the the longest common prefix of modified relpath() in the log. Then all propget, cat, listing, etc. operations can be done on the local checkout instead of asking the repository.
[11:20] <Kinnison> Morning
[11:20] <nkour> carlos, hello
[11:22] <lifeless> ddaa: k
[11:24] <nkour> carlos, I'm upstream can I update a po in rosetta? Can I remove a branch in rosetta? (after moving the po back to 'the package' branch)?
[11:25] <carlos> nkour, gajim?
[11:25] <nkour> carlos, yes I hate to be bugging but the problems are still there
[11:26] <carlos> nkour, you need to talk with Jordi
[11:26] <nkour> carlos, about what?
[11:26] <nkour> dammit I do not understand how I do not have full control to even delete it from rosetta and readd it
[11:26] <carlos> nkour, we are being confused with gajim. First the 0.8 branch was requested to be removed, now we should use it....
[11:27] <carlos> nkour, so it's better if you talk directly with jordi, who started to handle your request
[11:27] <carlos> so we don't confuse the request
[11:27] <nkour> carlos, okay. the problem was that I was not aware svn was added, nor the guy that asked understands the innerings
[11:27] <nkour> jordi, hello
[11:28] <carlos> nkour, could you send an email explanining all the issues to rosetta@ubuntu.com?
[11:28] <nkour> carlos, but tell me this. why can't I do whatever I want without bugging you?
[11:28] <carlos> jordi will get it and me too 
[11:28] <nkour> okay
[11:28] <carlos> nkour, it depends on what do you want to do
[11:28] <nkour> EVERYTHING :)
[11:28] <nkour> that is related to my project
[11:28] <carlos> nkour, please, describe current situation and how do you want it
[11:29] <nkour> remove po, add po, add/delete branch etc etc
[11:29] <nkour> I want to have 0.8 and JUST THAT, and upload whichever po I get outside of rosetta so I do not see people dup effort
[11:29] <nkour> eg. I have italian po 100% now, outside of rosetta. I cannot do anything to avoid dup of effort
[11:30] <carlos> nkour, you should be able to upload any .po file as the owner of the product/potemplate after the initial upload done by jordi
[11:30] <carlos> nkour, if you are not able, it's a bug
[11:31] <nkour> carlos, I do not see how to do that in https://launchpad.net/products/gajim/+translations
[11:31] <carlos> please, send the email so we don't miss anything and we will tell you what is doable, what is not doable and if it's planned in the future
[11:31] <carlos> nkour, https://launchpad.net/products/gajim/it/+upload
[11:31] <nkour> carlos, hidden link? 404
[11:33] <carlos> nkour, sorry https://launchpad.net/distros/ubuntu/breezy/+sources/gajim/+pots/gajim/it/+upload/+login
[11:33] <carlos> nkour, sorry https://launchpad.net/distros/ubuntu/breezy/+sources/gajim/+pots/gajim/it/+upload
[11:33] <carlos> nkour, it's not a hidden link
[11:34] <carlos> you select the language and choose to upload a po file
[11:34] <carlos> it's the procedure
[11:34] <carlos> other option is to upload a tarball with the .pot file + .po files from: https://launchpad.net/distros/ubuntu/breezy/+sources/gajim/+pots/gajim/+upload
[11:35] <nkour> carlos, ok I keep those links but via UI I do not see how to do it sorry
[11:35] <nkour> I mean how to go to those links. how to select langauage
[11:36] <nkour> all I get is that my preferred lang is Greek and that is all
[11:36] <carlos> nkour, because as upstream, you are supposed to use the one I told you for the tarball with the .pot and .po files
[11:36] <carlos> nkour, the other is for translators
[11:37] <carlos> so you only see the language you translate into
[11:37] <carlos> anyway
[11:37] <nkour> carlos, ok
[11:37] <nkour> carlos, should I still write a mail just to say that I want HEAD to be removed or you can just rm it ?
[11:37] <carlos> you can reach it from https://launchpad.net/distros/ubuntu/breezy/+sources/gajim/+pots/gajim
[11:37] <carlos> nkour, send the email, please
[11:38] <nkour> carlos, https://launchpad.net/distros/ubuntu/breezy/+sources/gajim/+pots/gajim/+upload says:  Sorry, you don't have permission to access this page.
[11:38] <nkour> You are logged in as Nikos Kouremenos
[11:38] <nkour> don't you love that?
[11:39] <carlos> lifeless, 11951 carlos    15   0 2125m 994m  968 D  0.3 65.8  17:43.15 baz
[11:39] <carlos> nkour, that's a bug
[11:39] <carlos> no, wait
[11:39] <carlos> it's not a bug
[11:39] <carlos> wrong owner...
[11:39] <carlos> just a second...
[11:39] <ddaa> it's a bug jim, but not as we know it
[11:39] <nkour> ok fix me!!
[11:39] <carlos> fuck
[11:39] <nkour> at least the hidden way works
[11:39] <carlos> nkour, I gave you the wrong link
[11:39] <nkour> one by one the po
[11:39] <carlos> wait
[11:39] <carlos> let's start again...
[11:39] <nkour> no wait
[11:40] <nkour> I do not like 0.8 being controls by Rosetta Admins
[11:40] <carlos> https://launchpad.net/products/gajim/+series/main/+pots/gajim/+upload
[11:40] <carlos> nkour, the other is Ubuntu specific so it's normal you are not allowed to do anything there
[11:40] <nkour> carlos, ok I wanna discuss that a bit
[11:40] <carlos> phone
[11:40] <carlos> just a second, please...
[11:40] <nkour> k
[11:45] <carlos> I'm back
[11:45] <nkour> wow I found another bug?
[11:46] <nkour> I uploaded italian to the hidden link (0.8 it/) but I get italian fully untraslated but it is not hte case
[11:46] <nkour> but first things first:
[11:46] <carlos> nkour, dude, the upload messages tells you that it takes some time to have the import done....
[11:47] <nkour> ok it was listed though :^
[11:47] <nkour> I'm upstream and you say that the correct way is to upload a tarball
[11:47] <nkour> but I cannot
[11:47] <carlos> why?
[11:47] <nkour> so I have to have access to secret links to upload each po
[11:47] <nkour> because in 0.8 I do not have access
[11:47] <nkour> now, I do not undersatnd this philosophy:
[11:48] <nkour> users use 0.8, not svn. we have new strings (but not frozen strings) in svn, so user if submits a new transl (outside of rosetta) it sends us directly to us
[11:48] <nkour> now, without the hidden link, it's impossible for me to avoid: another italian starting from 0% in 0.8
[11:49] <nkour> but that po is for 0.8 100%
[11:49] <carlos> nkour, why do you say that you cannot upload a tarball?
[11:49] <nkour> and I cannot say to tranls: "hey do svn, but you will have your strings removed (not frozen)" so all NEW translations are for 0.8 but rosetta is bossy
[11:49] <nkour> carlos, because owen ir Rosetta Admins and not me
[11:49] <nkour> so it's insane
[11:49] <nkour> except if you guys want to be bugged everyday
[11:50] <carlos> nkour, ok, one thing is Ubuntu, another thing is upstream
[11:50] <nkour> I do not care about that
[11:50] <nkour> listen:
[11:50] <nkour> if I get Chinese outside of Rosetta, I will get it for 0.8
[11:50] <nkour> for 0.8 strings
[11:50] <nkour> so I consider it done. but rosetta does not know, so Liu Xian guy will start Chinese from scratch and will waste time
[11:51] <carlos> not really
[11:51] <nkour> he could have used to chinese another app
[11:51] <nkour> how is that/
[11:51] <nkour> ?
[11:51] <carlos> if you upload that translations into upstream's link https://launchpad.net/products/gajim/+series/main/+pots/gajim
[11:51] <carlos> nkour, he will see those translations as suggestions
[11:52] <carlos> in the near future, we will implement a way to apply automatically those translations from upstream directly into Ubuntu's ones
[11:52] <carlos> but atm, the translations will appear
[11:52] <carlos> need to be manually selected, but will see them
[11:52] <nkour> lost you
[11:52] <nkour> if I update to devel (where I'm owner) what happens?
[11:53] <nkour> do they also get magically to 0.8?
[11:53] <carlos> not directly (yet)
[11:53] <nkour> a so you like bugging :)
[11:53] <carlos> but will appear in any other branch we have
[11:53] <carlos> as suggestions
[11:53] <nkour> ok wait
[11:53] <nkour> I do not like bugging you again so let's solve this
[11:54] <nkour> via the hidden link: https://launchpad.net/distros/ubuntu/breezy/+sources/gajim/+pots/gajim/it/+upload I can upload po to 0.8 right?
[11:54] <carlos> no, because you are not member of the Ubuntu's Italian translation Team
[11:54] <nkour> u said so, I did but 10 mins have passed and italina is still 0% https://launchpad.net/distros/ubuntu/breezy/+sources/gajim/+pots/gajim
[11:55] <carlos> you can only do that into: https://launchpad.net/products/gajim/+series/main/+pots/gajim/it/+upload
[11:55] <nkour> carlos, well it did not fail !
[11:55] <carlos> nkour, are you sure it was inside distros URL or products URL?
[11:55] <nkour> distros
[11:55] <nkour> moreover
[11:55] <carlos> hmmm 
[11:56] <nkour> so it got added 0%
[11:56] <nkour> yab :)
[11:56] <nkour> if I make translation open to anyone, can I update the PO in 0.8?
[11:56] <nkour> if not, there you go. I have to bug you everyday
[11:57] <carlos> nkour, ok, you found a bug....
[11:57] <nkour> yes that is yab
[11:57] <carlos> you should not be able to do the upload...
[11:57] <nkour> I do not mind finding bugs, but I also want to do the job
[11:57] <nkour> I want to upload po to 0.8 po
[11:57] <nkour> pos*
[11:57] <carlos> nkour, you can have CLOSED translations for 0.8
[11:58] <nkour> ok I open them and I can
[11:58] <carlos> and still have rights to do the uploads
[11:58] <carlos> as maintainer
[11:58] <nkour> well it did not work
[11:58] <nkour> it's 0%
[11:58] <nkour> please tell me what to do to have italian in 0.8 and then remove devel
[11:58] <carlos> nkour, dude... again, the upload is not done so fast
[11:58] <carlos> it's added to a queue of imports
[11:58] <carlos> and is handled later
[11:59] <nkour> carlos, ok the upload wants 20 minutes?
[11:59] <nkour> ok
[11:59] <carlos> nkour, we are uploading all OpenOffice translations so the queu is a bit busy
[11:59] <carlos> usually it does not take more than 5 minutes
[11:59] <nkour> that queue I hope says about moving basque back to 0.8
[11:59] <carlos> with the current queue it will take some extra time
[11:59] <nkour> ok
[12:00] <nkour> is that import queue somewhere upblic?
[12:00] <nkour> carlos, I wanna make sure it is the ast time I bug you
[12:00] <carlos> did you release any gajim version from the 0.8 branch?
[12:01] <nkour> yea
[12:01] <carlos> nkour, no, we still need to implement the web view of that queue
[12:01] <carlos> nkour, could you tell me the exact version and codename?
[12:01] <carlos> please
[12:02] <nkour> carlos, 0.8, 0.8.1, 0.8.2 (last is in ubu)
[12:03] <nkour> carlos, I have to go soon
[12:03] <SteveA> hi
[12:03] <nkour> carlos, the problem to be solved:
[12:03] <carlos> nkour, I'm near there
[12:03] <carlos> nkour, the series is now 0.8
[12:03] <nkour> remove devel
[12:04] <carlos> so devel has been removed already
[12:04] <carlos> look into it
[12:04] <nkour> was the basque po moved to 0.8 from devel?
[12:05] <carlos> Nafallo, https://launchpad.net/products/gajim/+series/0.8/+translations
[12:05] <carlos> s/Nafallo/nkour/
[12:05] <carlos> nkour, there are only one set of translations
[12:05] <carlos> nkour, the ones in devel are now the 0.8 translations
[12:06] <nkour> thanks
[12:06] <nkour> I hope Italian gets filled
[12:06] <carlos> nkour, you need to upload it yourself
[12:06] <nkour> reupload?
[12:06] <nkour> ok
[12:06] <carlos> either uploading a tarball with hte .pot and .po files at https://launchpad.net/products/gajim/+series/0.8/+pots/gajim/+upload or using the URL it/+upload
[12:07] <nkour> ok
[12:07] <carlos> but use the /products/ url instead of the distros one
[12:07] <carlos> nkour, anything else?
[12:07] <nkour> carlos, the problem: LP points to distros url
[12:08] <carlos> that's something you will need to talk with sabdfl (mark), by default we point to the latest Ubuntu release
[12:08] <carlos> nkour, are you going to use Rosetta as upstream way to translate gajim?
[12:09] <nkour> carlos, I cannot force everyone to use Rosetta
[12:09] <nkour> https://launchpad.net/distros/ubuntu/breezy/+sources/gajim/+pots/gajim/+edit fix so HEAD --> the latest from the box below left in this page
[12:10] <nkour> I cannot do that so I bug you
[12:10] <carlos> nkour, I mean... are you going to get/upload translations for all languages?
[12:10] <carlos> nkour, that's a /distros URL so it's normal you don't have rights there
[12:11] <nkour> carlos, yes i know so just please update that
[12:11] <nkour> carlos, I just upload to /releases/ the italian po
[12:11] <nkour> which was outside rosetta
[12:12] <nkour> as rosetta hugs POT without aksing (via ubu package) I'm forced (because I'm a good guy) to update pos there so I do not get dup of effort
[12:12] <nkour> damn
[12:13] <Kinnison> anyone know what this is, and how to fix it? : https://dogfood.ubuntu.com/distros/foodix/breezyfood/i386/readahead
[12:13] <Treenaks> I can't translate in rosetta anything atm, is t his known?
[12:14] <SteveA> Kinnison: i can help
[12:14] <SteveA> Kinnison: so, you have an expression in a template that goes  file/url/fileurl, line 19, col22 of binarypackage-portlet-details.pt
[12:15] <zorglub> how often does the bazaar repository sync with upstream ?
[12:15] <SteveA> and it is saying that 'file', a BinaryPackageFile object, cannot be traversed to the name "url"
[12:16] <SteveA> that would ususally mean that there is no 'url' attribute or method, or that the attribute or method is a forbidden attribute.
[12:16] <SteveA> Treenaks: what's up?
[12:16] <Kinnison> SteveA: right, ta
[12:17] <Treenaks> SteveA: When I click "save & continue" in rosetta, I get a System Error page
[12:17] <Treenaks> SteveA: after a few seconds of waiting
[12:17] <SteveA> okay.  what is the exact URL you see before you click "save and continue" ?
[12:18] <Treenaks> SteveA: works on almost all rosetta URLs with translatable strings for me
[12:19] <SteveA> please give me a specific url
[12:19] <Treenaks> SteveA: I can't even get there now: https://launchpad.net/distros/ubuntu/breezy/+sources/ubuntu-docs/+pots/faqguide/nl/+translate
[12:19] <Treenaks> (second time it works)
[12:20] <SteveA> what's your usename on launchpad?
[12:20] <Treenaks> SteveA: martijn@foodfight.org (/people/martijn)
[12:20] <Treenaks> Save & Continue on https://launchpad.net/distros/ubuntu/breezy/+sources/ubuntu-docs/+pots/faqguide/nl/+translate gives an error
[12:21] <SteveA> okay
[12:21] <SteveA> i can see what is happening
[12:21] <SteveA> the problem is that the query is taking too long for the back-end database to process, so it is being aborted
[12:21] <Treenaks> reasonable
[12:22] <SteveA> it's an issue that some rosetta pages with certain translations are taking too long to be processed
[12:22] <SteveA> and this can have a bad effect on the whole application
[12:22] <Treenaks> I can't translate anything atm
[12:23] <SteveA> i'll look into it and get back to you in 10 mins, okay?
[12:23] <Treenaks> ok
[12:24] <zorglub> ok, I registered VLC on launchpad and I have a few questions
[12:24] <SteveA> vlc rocks
[12:25] <zorglub> - I registered a product, and then, saw the concept of projects. I don't understand how I can attach the product to the project now
[12:25] <zorglub> :)
[12:27] <zorglub> - I added the SVN repository, and bazaar sync now says "testing", it has been like that for some time, is it normal / how long does it normally take ?
[12:27] <SteveA> ddaa / jblack: a question for you here
[12:27] <zorglub> - vlc has a translation in rosetta, from breezy, but it's not up-to-date. To add the upstream .po, I need to wait for bazaar mirror and then ask the rosetta list, right ?
[12:27] <zorglub> and that's all :)
[12:28] <SteveA> you can get jordi to help you upload the .po right away, i think
[12:28] <ddaa> SteveA: ACK
[12:28] <zorglub> SteveA: will it automatically sync with upstream .po when they are modified in SVN ?
[12:29] <ddaa> zorglub: what the name of the thing?
[12:29] <zorglub> product is vlc, project is videolan
[12:29] <ddaa> going to production requires auditing and some manual operation
[12:29] <ddaa> mh
[12:30] <dilys> Merge to rocketfuel@canonical.com/launchpad--devel--0: [trivial]  Make poimport and poattach connect as correct database users (patch-2473: stuart.bishop@canonical.com)
[12:31] <ddaa> zorglub: the product does not appear to belong to any project, do you want me to fix that?
[12:32] <zorglub> yes, please
[12:32] <ddaa> zorglub: done
[12:32] <zorglub> thx
[12:32] <ddaa> also, reviewed the project description
[12:35] <ddaa> zorglub: I'm going to enter the release tarball details
[12:35] <ddaa> (it's not _yet_ used, but will eventually provide much packaging goodness through HCT)
[12:35] <zorglub> for 0.8.2 ?
[12:35] <ddaa> mh...
[12:36] <ddaa> nevermind...
[12:36] <ddaa> I'm still finding that bit somewhat confusing, so just ignore what I said. You do not need it yet.
[12:37] <zorglub> ok
[12:37] <zorglub> I actually didn't really understand why releases are attached to a developent branch
[12:38] <ddaa> Releases are attached to series.
[12:38] <zorglub> hum, no, that's actually logical
[12:38] <ddaa> Which are actually much more than branches.
[12:38] <ddaa> I have a patch in the works here that actually exposes branches, and they may not be attached to any series.
[12:38] <ddaa> also, a series may have no branch...
[12:39] <ddaa> The UI is currently very confused about that though.
[12:39] <ddaa> The fact that you can actually associate releases to series in a somewhat, but not quite, freeform manner does not help IMO.
[12:40] <ddaa> zorglub: the test import is running, i'll keep you posted
[12:41] <zorglub> ok thansk
[12:42] <SteveA> Treenaks: can you try translating again now please?  see if the page works.
[12:44] <ddaa> Mh, I reproduced a hang situation in the cscvs test suite here
[12:44] <ddaa> darn CVS... apparently, sometimes it won't quit after a SIGTERM... will add a SIGKILL after 10 seconds
[12:57] <Treenaks> SteveA: ok
[12:59] <Treenaks> SteveA: "Sorry, a system error occurred"
[12:59] <Treenaks> SteveA: https://launchpad.net/distros/ubuntu/breezy/+sources/ubuntu-docs/+pots/faqguide/nl/+translate
[01:02] <stub> carlos: staging is all updated now
[01:02] <carlos> stub, cool, thanks
[01:04] <stub> yo
[01:04] <SteveA> do you see the priv message?
[01:10] <SteveA> Treenaks: can you try once more please?
[01:11] <Treenaks> SteveA: trying
[01:12] <ddaa> Hey, I need a trivial review
[01:13] <Treenaks> SteveA: Still a system error, took longer this time though
[01:13] <ddaa> who has a couple of minutes to help me fight pqm hangs?
[01:14] <Treenaks> SteveA: before the kill-long-queries-hack I sometimes had to reload 2 or 3 times (max timeout: Proxy 502 error) to get it right
[01:14] <ddaa> david.allouche@canonical.com--2004/cscvs--quickfixes--0--patch-6
[01:14] <Treenaks> SteveA: consistently
[01:19] <dilys> Merge to rocketfuel@canonical.com/pybaz--devel--0: [trivial]  fix "from pybaz import *" (patch-41: ddaa@ddaa.net)
[01:21] <SteveA> Treenaks: thanks for helping out.  can you try once again?
[01:22] <Treenaks> SteveA: *click*
[01:22] <Treenaks> SteveA: wow, instantly!
[01:22] <SteveA> okay, we've worked out what the problem is.
[01:23] <SteveA> it isn't fixed properly right now
[01:23] <SteveA> but we can now work on a proper fix
[01:23] <Treenaks> SteveA: I also reported this as #2465 btw
[01:23] <SteveA> thanks
[01:30] <SteveA> carlos: ping
[01:30] <carlos> SteveA, pong
[01:50] <carlos> kiko-zzz, new language pack with workarounds and .pot files being built...
[01:58] <zorglub_> ddaa: it apparently failed :)
[02:01] <niemeyer> Greetings!
[02:11] <carlos> SteveA, stub I have a small problem
[02:11] <carlos> SteveA, stub I'm not able to merge latest rocketfuel into hte branch where I have the karma fixes
[02:11] <SteveA> why is that?
[02:11] <carlos> bazaar takes all my laptop memory (1.5GB RAM + 1.5GB SWAP) and dies
[02:12] <SteveA> well, we want to cherrypick it anyway
[02:12] <SteveA> so what is your branch?
[02:12] <SteveA> so, we want to get the diff against production, ideally
[02:12] <SteveA> not against rocketfuel
[02:12] <carlos> SteveA, the problem is that the diff shows changes unrelated that I think are already merged, but I'm not sure...
[02:12] <carlos> ok
[02:12] <SteveA> are the changes isolated?
[02:13] <SteveA> can you list the files that need to be changed?
[02:14] <carlos> SteveA,  carlos.perello@canonical.com--2004/launchpad--devel--0 is the branch
[02:20] <carlos> SteveA,  https://chinstrap.ubuntu.com/~dsilvers/paste/fileKkDk6S.html
[02:20] <carlos> SteveA, those are all changes 
[02:20] <SteveA> so, if i apply that to production, that's all that's needed?
[02:21] <carlos> I think so, yes
[02:22] <SteveA> okay.  i'll switch to the production branch, and make a cherrypick branch for this change
[02:22] <SteveA> is the code involved in this tested?
[02:22] <carlos> I need to add some tests to be sure that if works always but with that change the amount of imports will be reduced for sure
[02:22] <carlos> s/imports/inserts/
[02:22] <carlos> Not fully tested
[02:22] <carlos> that's why it's not yet merged
[02:22] <carlos> I wrote it before leaving for holidays
[02:23] <carlos> I tested it
[02:23] <carlos> and the code works, but I'm not 100% sure if it fix all cases
[02:23] <SteveA> what kind of object is selection.activesubmission ?
[02:23] <SteveA> a dbschema item?
[02:24] <carlos> no
[02:24] <carlos> a POSubmission object
[02:24] <SteveA> so, i think it is safer to compare with .id == .id
[02:25] <carlos> ok
[02:25] <mpt> Goooooooooooooood morning
[02:25] <SteveA> can selection.activesubmission or selection.publishedsubmission be None ?
[02:25] <carlos> mpt, morning!
[02:25] <carlos> SteveA, yes
[02:25] <SteveA> one or both?
[02:25] <carlos> both
[02:25] <SteveA> +    if active == published:
[02:25] <SteveA> +        # The translation came from a published file so we don't add karma.
[02:25] <SteveA> +        return
[02:25] <SteveA> 
[02:25] <SteveA> so, they can both be None here
[02:26] <carlos> oh, both at the same time?
[02:26] <carlos> no
[02:26] <SteveA> ok
[02:26] <carlos> well, technically is possible, but I don't think our code should allow that
[02:28] <carlos> lifeless, ddaa around?
[02:30] <SteveA> stub: i'm preparing a cherrypick branch.  running the tests now.
[02:30] <stub> SteveA: Tests get run when it is cherry picked so you can skip that if you want
[02:31] <SteveA> i'd rather make sure i did it right
[02:37] <ddaa> carlos: here
[02:38] <carlos> ddaa, I'm not able to merge latest rocketfuel into my carlos.perello@canonical.com--2004/launchpad--devel--0 branch
[02:38] <ddaa> ...
[02:38] <carlos> baz merge dies after my memory is completely used
[02:39] <carlos> and baz merge --star-merge gives me 28 conflicts with files I didn't touch
[02:39] <carlos> I don't know if it's related with the fact that I remove my revision library yesterday
[02:40] <carlos> because I ran out of disk space
[02:40] <ddaa> I believe the OOM condition might be related to the lack of revlib
[02:41] <ddaa> you can library-add rocketfuel, that should help
[02:41] <carlos> library-add ?
[02:41] <carlos> how?
[02:41] <carlos> I have never done that before
[02:41] <ddaa> baz library-add rocketfuel@canonical.com/launchpad--devel--0
[02:41] <ddaa> adds a revision to the revision library
[02:41] <ddaa> when given a branch, adds the latest revision
[02:42] <carlos> ok
[02:42] <carlos> doing it atm...
[02:42] <carlos> done
[02:42] <ddaa> if you run out of disk space, it's better to use library-relink
[02:42] <ddaa> and remove some old revisions you do not need
[02:42] <carlos> I want to do that after moving to breezy
[02:43] <ddaa> just keeping the latest revisions of each branch should give you good results now that baz has the backbuilder
[02:43] <sivang> rehi all
[02:43] <ddaa> carlos: -> #bazaar
[02:43] <SteveA> ddaa: Hacking faq please!
[02:43] <carlos> ddaa, ok
[02:47] <Kinnison> SteveA: You remember the 'url' thing we discussed earlier?
[02:47] <SteveA> yes
[02:47] <Kinnison> SteveA: well, BinaryPackageFile has a url property
[02:47] <Kinnison> SteveA: and it's listed in IBinaryPackageFile
[02:49] <SteveA> Kinnison: okay, you're right.
[02:49] <SteveA> stub: cherrypick mirroring
[02:52] <SteveA> Kinnison: bogus code in the database class
[02:53] <cprov> SteveA: what's exactly wrong ?
[03:00] <SteveA> stub: mirrored
[03:00] <SteveA> emailed to you the branch id
[03:05] <stub> Done
[03:06] <carlos> stub, so are you going to reenable the poimport script?
[03:07] <ddaa> https://wiki.launchpad.canonical.com/LaunchpadHackingFAQ#head-7ede78aa7deeb4b4c9e649ad7bf58422279436f6
[03:08] <stub> carlos: already done
[03:09] <carlos> stub, ok, so 30 minutes to be sure if the performance problem is still there or not....
[03:09] <carlos> stub, can I do anything to help you?
[03:09] <stub> me? I'm paying GTA3. I don't think you can help from there ;)
[03:10] <carlos> ;-)
[03:33] <dilys> Merge to rocketfuel@canonical.com/launchpad--production--1.33: Cherry pick rosetta script karma fix (patch-10: steve.alexander@canonical.com)
[03:34] <ddaa> ???
[03:34] <ddaa> print >> open(difffile,'w'), diff.encode('utf8')
[03:34] <ddaa> UnicodeDecodeError: 'ascii' codec can't decode byte 0xe7 in position 362: ordinal not in range(128)
[03:35] <ddaa> anybody got a clue about what I'm doing wrong here???
[03:35] <SteveA> well
[03:35] <SteveA> do you expect to encode arbitrary 8 bit data as utf-8 ? 
[03:35] <SteveA> maybe you want to decode it?
[03:35] <ddaa> it's UnicodeDecodeError
[03:35] <ddaa> pysvn gives me utf8 at some places
[03:36] <ddaa> I just coded workaround for the problems that cause yesterday, including a test for exactly the condition that the encode('utf8') is meant to catch
[03:36] <SteveA> okay
[03:36] <ddaa> except I get this stupid error that makes no sense from roomba
[03:37] <ddaa> I'm giving print a str (it's the output of encode, right?) and it still tells me UnicodeDecodeError...
[03:37] <SteveA> aha
[03:37] <SteveA> so, the problem is that 'diff' is a str not a unicode
[03:37] <ddaa> it's a unicode
[03:37] <ddaa> that's why I'm encoding it
[03:38] <ddaa> to make it a str
[03:38] <SteveA> are you sure it is a unicode?
[03:38] <ddaa> and anyway the error would be UnicodeEncodeError if I was wronge
[03:38] <SteveA> >>> 'foo\xe7'.encode('utf-8')
[03:38] <SteveA> Traceback (most recent call last):
[03:38] <SteveA>   File "<stdin>", line 1, in ?
[03:38] <SteveA> UnicodeDecodeError: 'ascii' codec can't decode byte 0xe7 in position 3: ordinal not in range(128)
[03:38] <SteveA> >>> u'foo\xe7'.encode('utf-8')
[03:38] <SteveA> 'foo\xc3\xa7'
[03:38] <SteveA> >>>
[03:38] <ddaa> holy... shit
[03:39] <ddaa> PYSVN IS SO BROKEN IT'S NOT EVEN FUNNY
[03:39] <ddaa> why... why???
[03:40] <SteveA> how about a generous sprinkling of assert isinstance(diff, unicode) ?
[03:41] <ddaa> yes, but why??? What the hell was the rapidsvn guy who wrote that shit was thinking???
[03:41] <SteveA> btw
[03:41] <SteveA> python is evil
[03:41] <SteveA> in that it allows you to treat an 8 bit string as "yeah, probably ascii"
[03:41] <ddaa> SteveA: elaborate?
[03:41] <SteveA> this has caused SO many problems
[03:42] <ddaa> Yeah, i guess it's a painted-in-a-corner compatibility issue now.
[03:42] <SteveA> screw compatibility.  this issue has cost more
[03:42] <ddaa> But I agree that allowing to treat unicode strings as "yeah maybe a byte stream" is WRONG, WRONG!!!
[03:43] <ddaa> this whole notion of "ascii string" in python is wrong
[03:44] <ddaa> a string is either a byte stream (str) or a character string (unicode). This ascii shit only serves to confuse matters.
[03:44] <ddaa> SteveA: you got to understand that
[03:45] <ddaa> in some case the diff command will fail _internally_ with UnicodeDecodeError trying to decode non-utf8 data into a unicode object.
[03:45] <ddaa> so, assumed it just being stupid, and always returned a unicode...
[03:46] <SteveA> it probably doesn't do an explicit conversion
[03:46] <ddaa> but now I see it's not being merely stupid, it's being actively antagonising bordering on unusable
[03:46] <SteveA> and so, if a string gets through "untouched" it will remain a string
[03:46] <ddaa> I imagine... yes
[03:47] <ddaa> it's concatenating some gettext data there, sometimes
[03:47] <ddaa> or something like that
[03:47] <ddaa> okay, that's the straw that breaks the camel back.
[03:47] <mpt> How do I get the URL of the person logged in?
[03:48] <Kinnison> SteveA: formatters for zope
[03:48] <Kinnison> SteveA: can you point me at a simple example of a text formatter
[03:48] <salgado> mpt, canonical_url(getUtility(ILaunchBag.user))
[03:48] <SteveA> Kinnison:  i do not know what "formatters for zope" means
[03:48] <SteveA> salgado: brackets wrong
[03:49] <Kinnison> SteveA: Well, I think we have something which linkifys bug messages for example
[03:49] <SteveA> ah
[03:49] <mpt> ... in TAL? :-)
[03:49] <SteveA> so a fmt:xxx thing in a page tempalte?
[03:49] <Kinnison> that's the monkey
[03:50] <mpt> NameError: name 'canonical_url' is not defined
[03:50] <SteveA> import it
[03:50] <SteveA> from canonical.launchpad.webapp
[03:50] <mpt> This is TAL
[03:51] <kiko> then /fmt:url, mpt?
[03:51] <SteveA> of what though?
[03:51] <SteveA> we don't expose the user through tal, do we?
[03:51] <mpt> lp:person/fmt:url?
[03:51] <mpt> let's see
[03:51] <salgado> is request/lp:person ?
[03:51] <SteveA> ah, okay
[03:51] <kiko> request/lp:person
[03:51] <ddaa> Guys.
[03:51] <SteveA> i need to tidy that up
[03:51] <SteveA> want to get rid of 'lp:...'
[03:51] <kiko> yes ddaa 
[03:52] <ddaa> The next person I catch treating a patch or a source file as anything but a byte stream will suffer incredble pain.
[03:52] <ddaa> kiko: nothing personal, I'm just being angry
[03:53] <Keybuk> ddaa: how else could you treat them?
[03:53] <ddaa> Keybuk: e.g. doing operations with it involving a unicode string
[03:53] <ddaa> will cause python to turn it into a unicode, sometimes
[03:54] <kiko> stub, we're getting a bunch of permission denied error in cronscripts
[03:55] <kiko> cve
[03:55] <kiko> distribution
[03:55] <kiko> anything you might know about?
[03:55] <asmodai> kiko: oi!
[03:55] <carlos> stub, how's going?
[03:55] <kiko> hey asmodai 
[03:55] <asmodai> kiko: got an email that he will email you ;)
[03:55] <carlos> kiko, hi
[03:55] <asmodai> kiko: he seems impressed/enthousiastic
[03:55] <SteveA> Kinnison: i think we already have something like that
[03:56] <stub> No idea. Has anyone been bitching in here?
[03:56] <kiko> asmodai, that's so great!
[03:56] <kiko> stub, I get error mail :)
[03:56] <Kinnison> SteveA: where would it be if we did?
[03:56] <SteveA> Kinnison: fmt:nice_pre
[03:56] <Kinnison> SteveA: where can I see the source for that?
[03:57] <SteveA>  lib/canonical/launchpad/webapp/tales.py
[03:57] <SteveA> line 837
[03:57] <asmodai> kiko: he cc:'d me I see
[03:58] <Kinnison> SteveA: aha, ta
[03:58] <Keybuk> ddaa: the problem I tend to have is unicode strings leaking out of the database
[03:58] <kiko> stub, any clue what changed permissions there?
[03:58] <kiko> stub, I could email the errors if you like
[03:58] <ddaa> Keybuk: I had this problem at a point with cscvs, I just agressively casted them all to str() early and was done with it.
[03:59] <Kinnison> SteveA: so if I have: tal:content="job/logtail"
[03:59] <ddaa> (actually, with importd)
[03:59] <Kinnison> SteveA: do I want tal:content="fmt:nice_pre/job/logtail" ?
[03:59] <SteveA> tal:content="structure job/logtail/fmt:nice_pre"
[03:59] <kiko> the opposite, Kinnison 
[03:59] <Keybuk> ddaa: yeah, I do that and I *still* get leaks :-/
[03:59] <stub> kiko: Is it recent, or you talking about errors generated during staging rollouts or something?
[04:00] <kiko> stub, hmmmm. it was tonight (for me) -- maybe..
[04:00] <ddaa> Keybuk: debuggers really lack the ability to answer "where does that object come from" sort of questions.
[04:00] <kiko> stub, I'll forward them
[04:01] <ddaa> Could be an interesting thing to hack with PyPy
[04:01] <Keybuk> yeah, it's one thing that the MS debugging has always done that I miss
[04:01] <Keybuk> tracks the creation and use of variables
[04:01] <stub> I get them. I havn't got any outstanding, so would have deleted them
[04:01] <Keybuk> so you can inspect a variable and see all the lines of code where it was changed and to what
[04:02] <SteveA> you could hook into variable binding in python
[04:02] <ddaa> mh... I would not go that far. I would be happy enough with "where was this immutable created" and "where was this attribute last assigned".
[04:02] <SteveA> and record rebindings quite easily
[04:03] <SteveA> but that's not the same as tracking an object and what names it has had in what namespaces
[04:06] <kiko> stub, forwarded, but they were staging-mail
[04:07] <stub> kiko: Then ignore them - they were from staging upgrades. Stuff doesn't run well when the db is half setup.
[04:07] <carlos> stub, please, could you confirm me that the karma issue is gone?
[04:08] <stub> carlos: I can't confirm it. However, nobody is in here complaining about launchpad timeouts so it might be sorted.
[04:08] <carlos> stub, cannot you see the amount of imports?
[04:08] <carlos> s/importS/inserts/
[04:08] <kiko> stub, how could we solve this in a better way?
[04:09] <stub> Not really.
[04:09] <stub> kiko: Solve what?
[04:09] <kiko> spurious errors being send while upgrades run.
[04:09] <kiko> (obviously)
[04:09] <kiko> s/send/sent
[04:09] <stub> kiko: there are several discussions going on here ;)
[04:09] <carlos> ok
[04:10] <stub> kiko: It just involves disabling all the cron jobs before upgrades, but I havn't been game to automate that.
[04:10] <kiko> it's late!
[04:10] <kiko> stub, do all cronjobs import or use some sort of central infrastructure?
[04:10] <kiko> we could add a quit-if-locked thing
[04:11] <stub> kiko: No. I really want to have a single cron job that runs every 60 seconds that spaws everything else as required - it will make setup much easier.
[04:11] <carlos> ok, so. Do you need anything from me before I leave for the weekend?
[04:11] <kiko> yeah, great idea that would be
[04:11] <carlos> kiko, stub, SteveA ?
[04:11] <stub> We could hook into steve's 'down for maintenance' file as a quick solution though. Just a matter of engineering.
[04:11] <kiko> stub, can you mail me a dump of the crontab so I can see how many scripts they are?
[04:16] <kiko> music has a right to children
[04:29] <kiko> get some sleep cranky melbourner
[04:29] <kiko> and answer my questions
[04:29] <kiko> stub, also, I want a suggestion on where I should start investigating centralizing database names.
[04:30] <SteveA> what does "centralizingn database names" mean?
[04:31] <SteveA> i can send you a crontab output
[04:31] <kiko> you know about our quagmire -- wanting to use the same database instance for various users.
[04:31] <kiko> I set up individual databases but on diskless it's so slow make check takes an hour and often just hangs
[04:31] <SteveA> this is at async?
[04:31] <kiko> yes
[04:32] <kiko> so I did some investigation of where we hardcoded database names
[04:32] <kiko> it's some 40-odd files
[04:32] <SteveA> how about they get them from launchpad.conf?
[04:32] <kiko> there are (AFAIK) some 5 database tables
[04:32] <SteveA> so, launchpaddev=launchpad-dev etc.
[04:32] <SteveA> in launchpad.conf
[04:32] <kiko> SteveA, I'm fine with any solution that can forseeably work, yeah
[04:33] <stub> For normal code, they should all pull the database name from the config file. I'd start with that. Tests will be more complex (since they need at least a template and a scratch db name). The database build scripts should pull the names from the same location 
[04:33] <kiko> I meant database names.
[04:33] <stub> I thought I sent you the crontab?
[04:33] <kiko> no
[04:34] <kiko> stub, okay, I'll start work on that -- any suggestions on how the Makefile should obtain the names, or should I factor that out?
[04:36] <stub> python -c 'import config; print config.dbname' might be the quickest (and ugliest) approach. Extra points for rewriting the makefile into a Python script that doesn't suck.
[04:36] <kiko> okay
[04:37] <SteveA> is there an "ant" for python
[04:38] <SteveA> maybe part of phillip eby's stuff
[04:38] <stub> there is, but I don't see why we would bother.
[04:38] <stub> (pyant I believe).
[04:38] <kiko> SteveA, just fixed the fucking floating tabs
[04:38] <kiko> I had it fixed yesterday but was conflicted to death
[04:39] <SteveA> yay
[04:39] <SteveA> what's the fix?
[04:39] <SteveA> css magic
[04:39] <kiko> unfucking plone.css stupidity
[04:39] <kiko> by adding hacks to our css
[04:39] <kiko> it does ul { line-height: 1.5em }
[04:39] <kiko> so I had to do
[04:40] <kiko> line-height: inherit; max-height: 1.4em; because of IE
[04:41] <mpt> kiko: IE doesn't do max-height either, you'll need line-height: 1.4em instead
[04:42] <asmodai> Makes you wonder if some people test on non-mozilla browsers in the first place
[04:42] <Kinnison> is pqm wedged? PID 31103 seems the obvious candidate
[04:43] <mpt> asmodai: There's no Windows here. Normally I'd test on Konqueror, but it's not installed here either
[04:44] <salgado> mpt, you can just type 'scooby' in a terminal and you'll get windows. but please don't tell anybody we have windows here. :P
[04:44] <bradb> mpt: Just so you know: I'm doing a Malone feedback-a-thon patch right now. The goal is pretty much to not be able to do something in Malone without Malone telling you what you did (and who got an email about it.)
[04:45] <asmodai> mpt: You do test with Opera though? :)
[04:45] <bradb> mpt: Or, of course, what you did /wrong/, if applicable
[04:46] <mpt> asmodai: Opera's not even on the radar at the moment, but that might need to change if their new-found ad-free-ness makes them more popular on Free OSes
[04:46] <asmodai> mmm
[04:46] <bradb> limi loves Opera, last I checked
[04:46] <asmodai> guess it is more of a blessing on Windows then ;)
[04:47] <bradb> which means our CSS should work pretty well in Opera
[04:47] <mpt> bradb: To see how untrue that is, try removing the plone.css line from main-template.pt, and Shift+reloading
[04:48] <mpt> plone.css is currently (1) providing the portlet borders, and (2) ****ing up the tabs
[04:48] <mpt> and that's about all.
[04:49] <bradb> right, i see
[04:49] <bradb> the tabs line up nicely too :)
[04:50] <mpt> :-)
[04:50] <asmodai> to point fingers? :)
[04:51] <bradb> to piss users off slightly more, it would seem
[04:52] <bradb> mpt: how much effort is it to get rid of plone.css?
[04:54] <kiko> mpt, I'll try doing it today
[04:54] <kiko> bradb, it's two lines of main-template, I almost did it yesterday
[04:55] <kiko> because we haven't formed enough of a mutiny yet!
[04:55] <mpt> That's right
[04:55] <mpt> A spec with an array of ImportantPersonApproved in its Status: header
[04:55] <bradb> kiko: two lines of main-template? I meant how much effort also so that it doesn't break the current look-and-feel.
[04:56] <bradb> sounds like it's just a few classes to bring over, in any case
[04:56] <kiko> bradb, about 10 minutes of my time
[04:56] <bradb> awesome
[04:56] <mpt> I'd like to do it more carefully than that, though
[04:56] <mpt> because a lot of launchpad.css is overriding bits of plone.css
[04:56] <kiko> Kinnison, you really need should start using variables to shorten and simplify your code
[04:56] <kiko> it's very difficult to read
[04:57] <mpt> so I'd like concatenate the files, then nuke the sections that cancel each other out
[04:57] <kiko>             overrides.setdefault(distrorelease, {})
[04:57] <kiko>             overrides[distrorelease] .setdefault(component, {})
[04:57] <kiko>             overrides[distrorelease] [component] .setdefault('src', [] )
[04:57] <kiko>             overrides[distrorelease] [component] ['src'] .append( (sourcepackagename,section) )
[04:57] <kiko>             overrides.setdefault(distrorelease, {})
[04:57] <kiko>             overrides[distrorelease] .setdefault(component, {})
[04:57] <kiko>             overrides[distrorelease] [component] .setdefault('bin', [] )
[04:57] <kiko>             overrides[distrorelease] [component] ['bin'] .append( (binarypackagename,priority,section) )
[04:57] <kiko> and using setdefault() is just.. ugh
[04:57] <kiko> somebody remind me why python even has setdefault?
[04:57] <Kinnison> because it's useful
[04:57] <Kinnison> and neat
[04:57] <Kinnison> and tidy
[04:57] <kiko>             filelist.setdefault(distrorelease, {})
[04:57] <kiko>             filelist[distrorelease] .setdefault(component,{})
[04:57] <kiko>             filelist[distrorelease] [component] .setdefault(architecturetag,[] )
[04:57] <kiko>             filelist[distrorelease] [component] [architecturetag] .append(ondiskname)                   
[04:58] <kiko> dude, this is anything but neat and tidy
[04:59] <stub> Its neater than the alternative using if: then: or exception handling, and is quite a bit faster (despite all the spurious empty list and dictionary creations)
[04:59] <SteveA> setdefault is good
[04:59] <bradb> dumb question: where do I find the error log for staging, and for which I have the perms to view it?
[04:59] <SteveA> and everyone should learn what it means
[05:00] <SteveA> Kinnison: you should look at using a descriptive variable name for filelist[distrorelease]  and filelist[distrorelease] [component] 
[05:00] <Kinnison> Okay, I'll put that on my gardening page
[05:01] <Kinnison> done
[05:03] <Kinnison> SteveA: I'm trying to learn how tal/tales/metal work
[05:03] <bradb> guys, I've found what may be a critical bug (500 on the +assignedbugs screen). where do I find the error log (in a place that I have perms to view it) for staging so that I can fix this problem before it hits prod?
[05:03] <Kinnison> SteveA: We seem to use @@blahfoo in our tales expressions
[05:03] <Kinnison> SteveA: what does the @@ mean?
[05:04] <SteveA> it means "force the lookup to be in the 'views' namespace, and not any other kind of traversal"
[05:04] <SteveA> think of it as two eyes, if you like
[05:04] <Kinnison> is that a launchpad specific thing, a zope thing, or a generic tales thing?
[05:05] <bradb> stub: Where do I find the error log for staging (in a place that I have perms to view it?)
[05:05] <stub> On /errors ?
[05:05] <bradb> Already tried that. 403.
[05:05] <stub> Thats odd
[05:06] <SteveA> i wrote up a spec
[05:06] <SteveA> got other things to do first
[05:07] <bradb> stub: In the meantime, how do I get access to the error log for staging?
[05:08] <stub> bradb: chinstrap:~stub/staging_logs
[05:08] <bradb> thanks, /me looks
[05:10] <bradb> stub: what's the query timeout on staging? it seems like launchpad is commiting suicide on staging because of it.
[05:11] <bradb> see also, committing
[05:13] <stub> bradb: That it to stop pages locking up launchpad and making nothing work. If you hit the timeout, the page needs fixing.
[05:13] <bradb> stub: These pages worked just fine in the past. They take a bit longer, but nothing that kills the entire system.
[05:14] <bradb> stub: Can the timeout be set to something more practical, while still making sure Rosetta doesn't kill LP?
[05:14] <stub> bradb: they arn't working any more then. If a page takes a couple of seconds to render, it is dangerous to the system.
[05:14] <stub> bradb: On production it is set to 12 seconds, which is waaay too much.
[05:15] <BjornT> bradb: i'd suggest to remove "Bugs reported on software you maintain", it's kind of useless anyway.
[05:15] <kiko> stub, I think a better strategy may be to set to 30s and drop 5s a week
[05:15] <bradb> stub: This doesn't make sense to me. The timeout is set so low that it's killing pages that worked perfectly fine in the past. At the very least, shouldn't we optimize these pages *before* slitting their throat?
[05:15] <bradb> BjornT: so would i
[05:15] <kiko> stub, and keep staging 5s under production
[05:16] <kiko> that way people have time to fix pages
[05:16] <bradb> BjornT: i would also suggest removing that "bugs with common interest" uselessness, but kiko wants to keep it
[05:16] <kiko> the current situation is going to kill my QA effort
[05:16] <kiko> we're getting bugs filed left and right on killed queries :-(
[05:16] <mpt> bradb: that should be cached
[05:16] <SteveA> kiko: do you think the error page should say "this was a query that ran too slow" ?
[05:16] <kiko> bradb, hey, do what you have to do -- I don't think it's useless *at all*, but if it kills the page, disable it
[05:17] <stub> kiko: 12 seconds is already rediculous.
[05:17] <kiko> SteveA, anything that stops people filing bugs, we have some 15 already
[05:17] <bradb> kiko: more accurately, i just don't think that it belongs under +assignedbugs
[05:17] <SteveA> kiko: do you think it will help?
[05:17] <SteveA> we could have one bug
[05:17] <SteveA> and link the page to that bug
[05:17] <kiko> stub, I don't disagree, but it's no use throwing out baby and bathwater
[05:17] <stub> kiko: If people are still reporting bugs, I doubt the pages will render in 30 seconds either.
[05:17] <SteveA> so people can add comments to it if they want
[05:17] <SteveA> but keep it all in the one place
[05:18] <kiko> SteveA, the issue is that the bugs on individual queries/locations are actually useful
[05:18] <kiko> I think the error page should say "Query took too long"
[05:18] <SteveA> ok
[05:18] <SteveA> i'll make it so
[05:18] <kiko> thanks a million
[05:18] <dilys> Merge to rocketfuel@canonical.com/launchpad--devel--0: Fix a missed table rename from long ago which was breaking binarypackagefile.url. Celso is putting a test into his soyuzfiles test suite for this. in the meantime, r=stevea (patch-2474: daniel.silverstone@canonical.com)
[05:18] <SteveA> i'm also going to make tracebacks appear in production for the admin team
[05:18] <kiko> stub, I don't know, translations used to work, now..
[05:18] <kiko> SteveA, rock!
[05:20] <stub> kiko: They used to have fewer entries in the tables too. Now there are tables with over 15,000,000 rows in them and there is just stuff we cannot do interactively no matter how many indexes, how much hardware we throw at it and how much people jump up and down.
[05:20] <bradb> So, what are we going to raise the timeouts too? I think it would be useful to do what kiko was saying. Set a pretty high limit at first, gradually dropping it every week, giving us time to examine linkchecker reports and time to do something about it.
[05:20] <bradb> s/too/to/
[05:21] <kiko> +1 to bradb's request
[05:21] <kiko> SteveA, stub: can you consider what we're asking for? I can't have launchpad dying under me as I'm triaging or..
[05:21] <stub> 12 seconds is already rediculously high, so I'm quite happy to reduce that to pretty high
[05:22] <kiko> increase you mean? :)
[05:22] <stub> pretty high < rediculously high.
[05:22] <bradb> stub: "ridiculously high" would be high enough to let Rosetta keep killing LP
[05:23] <stub> bradb: It might well be
[05:23] <stub> bradb: The real nasty pages took over 6 minutes to render
[05:24] <bradb> Yes, and we've never had that kind of problem in Malone. I'm just suggesting that we set it high enough to let Malone keep working (even if, in some cases, that seems retardedly slow from a DBA perspective) and let us improve it before we tighten the noose too much.
[05:24] <stub> bradb: What pages does malone have that are hitting the 12 second limiton production?
[05:25] <bradb> i dunno. i was talking about staging.
[05:25] <bradb> people were reporting problems with bug searching suddenly erroring out on prod though, which, seen from the user perspective, is *really* bad when it can so easily be avoided.
[05:25] <stub> bradb: not from a dba perspective, from a web developer and user perspecive. More than a few seconds, and people hit reload. All four threads lock up, queues start happening and launchpad is locked solid.
[05:26] <stub> bradb: Was that before or after steve increased the timeout to 12 seconds?
[05:26] <bradb> after
[05:26] <bradb> er, sorry
[05:26] <bradb> after the timeout was set, but i don't know when it was increased to 12s
[05:26] <bradb> i believe it was yesterday that users were complaining about this
[05:27] <stub> It was originally set to 4 seconds (about 24 hours ago), and steve increased it to 12 seconds over the next 12 hours or so
[05:28] <bradb> stub: just to compare, what is it on staging?
[05:28] <stub> I can set staging to whatever will help people debug their code the best. I'd assumed a lower limit would be good for that.
[05:28] <bradb> damn, i just got an error on searching
[05:28] <stub> 4 seconds, or possibly 2.
[05:28] <bradb> on prod, searching ubuntu bugs
[05:29] <stub> 2 seconds
[05:29] <bradb> https://launchpad.net/distros/ubuntu/+bugs, I searched for "firefox". i got an error.
[05:30] <stub> just returned in < 2 seconds for me. So that page is going slow because other processes or threads are taking too long. Increasing the timeout could make it worse.
[05:31] <bradb> Why not try it and see what happens?
[05:32] <bradb> we can't get /much/ worse that sporadic errors that make this much --> <-- sense to a user :)
[05:32] <stub> because it is already 1:30 am saturday morning and steve won't be around much longer either to reset it if it screws up
[05:32] <stub> before, launchpad was totally unusable so it *can* get much, much worse. We cherry picked the updates and spent the time switching this on for a reason.
[05:33] <bradb> stub: you say "launchpad", but we know what you really mean :)
[05:33] <bradb> hint, it wasn't Malone
[05:33] <stub> no, launchpad. The entire thing locks up. everything is affected.
[05:34] <bradb> sure, but I'm pretty sure that's not due to Malone queries, even the slowest ones :)
[05:34] <kiko> there's no such thing as "rosetta and not malone"
[05:34] <kiko> you're all in the same boat together
[05:35] <kiko> anyway
[05:35] <kiko> stub, could it be that the vacuum analyzes running do some slowing down of production as well?
[05:35] <bradb> kiko: the distinction is important in diagnosing the speed bottlenecks, i think
[05:35] <kiko> I'm seeing them a lot in the cron output
[05:35] <stub> kiko: that is another database being vacuumed.
[05:36] <kiko> stub, and the instance copes fine with multiple vacuums in terms of performance?
[05:37] <stub> it is fine.
[05:37] <stub> queries are quick - there isn't a performance issue with the db.
[05:40] <stub> just some pages are issuing hundreds to render a single page (such as some of the malone bug pages IIRC!), and some queries are blocking due to other processes locking resources for too long.
[05:46] <bradb> SteveA: I've got two pages: A and B. A presents information about an object. From A, you click on the link to page B to change something about that object. When you submit, the change is made, and you're taken back to page A with a message like "The following fields were updated successfully: foo, bar, baz." Do we have a standard way of displaying feedback messages in this pattern, or should B post to A, and let A do the processing
[05:51] <dilys> Merge to rocketfuel@canonical.com/launchpad--devel--0: remove time dependence from some database tests [r=spiv]  (patch-2475: james.henstridge@canonical.com)
[06:16] <kiko>         for translator in self.context.translators:
[06:16] <kiko>             return True
[06:16] <kiko> somebody
[06:16] <kiko> please
[06:16] <kiko> TELL ME WHY?
[06:16] <ddaa> *giggle*
[06:17] <ddaa> the answer has to be:
[06:17] <ddaa> BECAUSE!
[06:17] <kiko> god
[06:17] <ddaa> quick, annotate!
[06:17] <kiko> quick? :)
[06:18] <ddaa> well, you know what I meant...
[06:18] <kiko>         """We need to have this to tell us if there are any translators."""
[06:18] <kiko> that's the docstring
[06:18] <kiko> I love docstrings
[06:18] <SteveA> obviously it should be 'yield True' ;-)
[06:19] <dilys> Merge to rocketfuel@canonical.com/launchpad--devel--0: remove time dependence from some database tests [r=spiv]  (patch-2476)
[06:19] <ddaa> btw
[06:19] <ddaa> that sholud be followed by
[06:19] <ddaa> else:
[06:19] <ddaa>     return False
[06:19] <jordi> kiko: hey man
[06:19] <jordi> I'll need your help in a min.
[06:19] <ddaa> seen that way, it almost makes sense in some perverse way
[06:21] <sivang> hey jordi , what's up? 
[06:21] <SteveA> ddaa: else: doesn't make sense for an break doesn't make sense
[06:21] <SteveA> ddaa: else: doesn't make sense for an 'if' without a 'break'
[06:21] <ddaa> I have to agree.
[06:22] <ddaa> But I think it makes sense for a 'repeate' with a 'return'.
[06:22] <kiko> SteveA, but nothing in that code made sense anyway :)
[06:22] <ddaa> (hint: reread yourself)
[06:22] <ddaa> SteveA: can I quote you on that?
[06:24] <kiko> no
[06:24] <kiko> he meant
[06:24] <kiko> else: doesn't make sense for a 'for' without a 'break'
[06:24] <kiko> you can quote me on that
[06:24] <SteveA> indeed i did
[06:24] <kiko> of course I'm eminently less quotable than anybody here
[06:24] <kiko> but I mean well
[06:25] <jordi> sivang: hey
[06:25] <jordi> kiko: team ubuntu-l10n-tl to ubuntu-translators
[06:25] <kiko> pyflakes doesn't understand decorators
[06:25] <kiko> welcome to hell
[06:25] <kiko> (PWEI)
[06:26] <kiko> me looks
[06:28] <SteveA> http://localhost:8086/products/firefox/+bug/6
[06:28] <SteveA> tell me
[06:28] <SteveA> where should menu items for that page go?
[06:29] <SteveA> this is replacing bug-portlet-actions
[06:29] <SteveA> so i guess in browser/bug.py
[06:29] <SteveA> BjornT: opinion?
[06:31] <jordi> kiko?
[06:31] <jordi> SteveA: are you guys able to add plural forms?
[06:31] <SteveA> i cannot
[06:31] <SteveA> mail the launchpad list
[06:31] <SteveA> i think stu can
[06:31] <SteveA> he'll read it there, probably tomorrow
[06:32] <jordi> k
[06:33] <kiko> jordi, what do you mean by "add plural forms"
[06:33] <jordi> https://launchpad.net/products/gnomebaker/+series/main/+pots/gnomebaker/tl/+translate
[06:33] <kiko> what is tl, jordi?
[06:33] <kiko> tagalog
[06:34] <kiko> jordi, done
[06:35] <jordi> oops, just sent an email, I'll reply so stu doeesn't do anything
[06:35] <jordi> kiko: team stuff done too?
[06:35] <jordi> ok
[06:36] <jordi> does the plural forms thing take  effect immediatly?
[06:36] <kiko> jordi, team stuff done
[06:37] <kiko> jordi, how many plural forms?
[06:37] <kiko> what expression?
[06:37] <jordi> Plural-Forms is nplurals=2; plural=n>1;
[06:38] <kiko> okay
[06:38] <kiko> jordi, can you verify both requests are ok?
[06:39] <jordi> ok for the teams, and rosetta doesn't barf anymore about pluiral forms
[06:39] <jordi> so I guess it's ok
[06:39] <SteveA> pleurisy ?
[06:39] <kiko> bradb, ping?
[06:40] <jordi> lp is slow lately
[06:40] <kiko> yeah. no clue why
[06:40] <jordi> damn :/
[06:40] <niemeyer> Isn't it because there are lots of new users?
[06:41] <kiko> ah, shipit?
[06:41] <SteveA> yeah\
[06:41] <SteveA> we could put shipit on its own app server, but i think most of the contention is with the database 
[06:41] <SteveA> and its locking
[06:42] <kiko> but shipit is only simple requests
[06:42] <kiko> assignedbugs doesn't run /at all/ on staging
[06:42] <kiko> SteveA: please up the time to at least 20s
[06:43] <kiko> we need some time to fix these issues
[06:44] <jordi> our release ended today, more or less.
[06:44] <jordi> we had a few very last minute hickups.
[06:44] <jordi> like our drupal eating our "download" node.
[06:45] <jordi> kiko: uh, to the gnomebaker template? I am interested in the global one. gnomebaker was just an example.
[06:45] <jordi> anywy. They can translate gnomebaker until tomorrow.
[06:45] <kiko> jordi, there is no global template -- I think stub needs to twiddle the language
[06:45] <jordi> yes, it's something in the database
[06:46] <jordi> is he the only one with db access for this kind of stuff?
[06:46] <jordi> there shouldbe ui for you guys to do it.
[06:47] <kiko> indeed
[06:49] <jordi> hmm
[06:49] <jordi> I can't find that simple menu editor for gnome in launchpad.
[06:49] <jordi> isn't it part of ubuntu?
[06:52] <jordi> if something is part of breezy, it should ahve a product already in rosetta, right?
[06:53] <dilys> Merge to rocketfuel@canonical.com/launchpad--devel--0: [trivial]  Fix the damned floating tabs, and display status for bugwatches in the bugwatch-index (patch-2477: christian.reis@canonical.com)
[07:24] <dilys> Merge to rocketfuel@canonical.com/launchpad--devel--0: [trivial]  small shuffle on arch-indep packages for gina (patch-2478: daniel.silverstone@canonical.com)
[07:49] <bloodthirsty> hello
[07:49] <bloodthirsty> is anybody here?
[07:52] <kiko> NO
[07:54] <kiko> Kinnison, could you make lint before committing code? it will help catch lots of little style issues before review, I think you'll appreciate it
[07:54] <kiko> I'm fixing it up to warn less of non-issues
[08:00] <Kinnison> kiko: okay, I'll try to remember that
[08:00] <dilys> Merge to rocketfuel@canonical.com/launchpad--devel--0: [trivial]  delintify and add XXXs galore to archivepublishing bits (patch-2479: christian.reis@canonical.com)
[08:01] <kiko> thanks
[08:01] <kiko> I added some XXXs there for you
[08:01] <Kinnison> Right
[08:03] <kiko> Kinnison, and btw:
[08:03] <kiko> builddmaster.py
[08:03] <kiko> startBuild()
[08:03] <kiko> not tested
[08:03] <kiko> not used
[08:03] <kiko>     def startBuild(self, builders, builder, queueItem, pocket):
[08:03] <kiko>         """Find the list of files and give them to the builder."""
[08:03] <kiko>         archrelease = queueitem.build.distroarchrelease
[08:03] <kiko> typo in first line
[08:03] <kiko> cprov, make note, I'll fix but XXX
[08:05] <SteveA> hey gneuman 
[08:05] <SteveA> arond?
[08:05] <SteveA> um, around?
[08:06] <gneuman> SteveA, 
[08:06] <SteveA> hi
[08:06] <gneuman> me
[08:06] <SteveA> you
[08:06] <gneuman> =] 
[08:06] <SteveA> so, i think i found a bug on a page, but i'm in the middle of menus work
[08:06] <SteveA> so, i don't want to track it down right now
[08:06] <SteveA> can you look into it?
[08:06] <gneuman> tell me about it
[08:06] <gneuman> sure
[08:06] <SteveA> okay, here's what i did
[08:06] <SteveA> run launchpad with sample data, as normal
[08:07] <SteveA> http://localhost:8086/distros/ubuntu/warty/+sources/mozilla-firefox/+bug/5
[08:07] <SteveA> go there
[08:07] <gneuman> am i suppsoe to be doing it while u talk?
[08:07] <SteveA> there's a box on the bottom right
[08:07] <SteveA> about "links to remote bug trackers"
[08:07] <SteveA> click the +add link
[08:07] <SteveA> get a 404
[08:08] <gneuman> ok
[08:08] <gneuman> hold on
[08:08] <Kinnison> kiko: If you're going to touch the buildmaster I'd really rather you didn't
[08:08] <Kinnison> kiko: I'm making notes about the buildmaster ready for a cleanup
[08:08] <kiko> Kinnison, too late now :)
[08:08] <Kinnison> okay, I'll try and not use line numbers :-)
[08:08] <kiko> writing clean code the first time is a better approach to quality, anyway :)
[08:09] <kiko> nice! much better
[08:10] <gneuman> SteveA, 
[08:10] <gneuman> i didnt get the 404
[08:11] <gneuman> let me try a lilttel more
[08:12] <gneuman> its actually adding bug watchers
[08:12] <SteveA> okay
[08:12] <SteveA> that's good, then
[08:12] <gneuman> =] 
[08:12] <SteveA> maybe it is just something on my branch
[08:12] <kiko> SteveA, what's the URI that is a 404?
[08:13] <gneuman> kiko, http://localhost:8086/distros/ubuntu/warty/+sources/mozilla-firefox/+bug/5
[08:13] <SteveA> http://localhost:8086/distros/ubuntu/warty/+sources/mozilla-firefox/+bug/5/watches/+new
[08:13] <Kinnison> ciao all
[08:13] <SteveA> bye
[08:13] <kiko> gneuman, is that URI a 404?
[08:13] <kiko> see ya kinni
[08:14] <gneuman> http://localhost:8086/distros/ubuntu/warty/+sources/mozilla-firefox/+bug/5/+addwatch
[08:14] <gneuman> works
[08:14] <gneuman> maybe SteveA is using a diferene link
[08:14] <gneuman> this is a addwatch
[08:14] <gneuman> not watches new
[08:15] <SteveA> strange
[08:15] <SteveA> okay, i'll find out when i come to merge this into PQM
[08:15] <SteveA> see the diff
[08:15] <gneuman> ok
[08:15] <SteveA> thanks gneuman 
[08:15] <gneuman> no prob
[08:15] <kiko> SteveA, have you merged in bradb's latest changes already?
[08:15] <SteveA> think so
[08:15] <SteveA> i did a merge just 1 hour ago
[08:15] <kiko> weird as weird can be then
[08:16] <kiko> maybe you baz smashed that change?
[08:16] <SteveA> dunno
[08:16] <SteveA> i'll see what the diff against RF gives when it is time to get a review
[08:17] <kiko> SteveA, it's broken, gneuman has an old tree
[08:17] <kiko> gneuman, you need to baz merge rocketfuel@canonical.com/launchpad--devel--0
[08:17] <kiko> then try again
[08:17] <kiko> matsubara, same with you
[08:17] <SteveA> okay
[08:18] <gneuman> ok
[08:18] <SteveA> so, this could be a regression
[08:19] <BjornT> SteveA: did you click on the link in the action menu, or the bug watch portlet. the add link in the bug watch portlet seems to be broken in my tree, but not in the actions portlet
[08:19] <mdke> erm
[08:19] <mdke> silly question
[08:20] <mdke> how do I mark a bug as fixed in malone?
[08:20] <kiko> mdke, you mark the task as fixed
[08:20] <kiko> so click on the link in the task table
[08:20] <mdke> i see it
[08:20] <mdke> thanks
[08:20] <SteveA> BjornT: that's what i'm seeing
[08:20] <kiko> me too
[08:21] <mdke> kiko, what about if I am not the assignee? it can't be marked as fixed/notabug etc?
[08:22] <mdke> kiko, e.g. #2270, i marked the task which was assigned to me as fixed, but the original task (wrongly assigned to rosetta) is not a bug and I can't mark it as such
[08:24] <kiko> mdke, you can't fix that, but any launchpad developer can
[08:24] <kiko> one moment
[08:24] <mdke> kiko, can the bug reported fix that?
[08:25] <kiko> mdke, what bug?
[08:27] <mdke> sorry
[08:27] <mdke> kiko, s/reported/reporter
[08:28] <kiko> I'm not sure. BjornT or bradb?
[08:29] <kiko> mdke, at any rate, I've fixed that bug, thanks for letting me know :)
[08:30] <mdke> kiko, no problem, thanks. But I am genuinely interested in whether a bug reporter can reject their own bug, do you know the answer?
[08:30] <mdke> oh sorry
[08:30] <mdke> i missed your response
[08:31] <kiko> I'm not entirely sure.
[08:31] <kiko> mpt, why are you worried about performance of string replacement?
[08:33] <gneuman> mpt isnt here
[08:33] <kiko> hmmm, right. I just got mail from him though
[08:35] <mdke> his away message is "classes"
[08:46] <kiko> mdke, apparently you can, right?
[08:47] <mdke> kiko, i haven't tried yet
[08:47] <mdke> i wasn't the reporter of that bug
[08:47] <kiko> ah
[08:54] <SteveA> gneuman: http://localhost:8086/malone/cve/  <-- needs a spelling check
[08:55] <bradb> mdke: The bug reporter can't edit the bug status (at least, not solely by virtue of being the reporter of the bug.) This sucks.
[08:57] <bradb> kiko: re: assignedbugs, yeah, i know :/
[08:57] <mdke> bradb, yeah that sucks a bit
[08:58] <mdke> is there a bug open on that?
[08:58] <bradb> kiko: that's why i'm pleaded earlier for a semblance of a plan before lp commits suicide
[08:59] <kiko> I know
[08:59] <bradb> mdke: https://launchpad.net/malone/bugs/1156 seems similar
[09:01] <bradb> SteveA: did you see my question earlier re: passing feedback messages between views/urls/pages?
[09:05] <bradb> SteveA: btw, yes, in case somebody didn't already note it, the add watch link is incorrect in the watches portlet
[09:06] <bradb> kiko: is that what you fixed? (the add watch link in the watches portlet?)
[09:08] <kiko> bradb, nope, bjorn was looking at it, but..
[09:08] <bradb> i'll fix it here
[09:09] <kiko> bradb, you can leave the easier things for gneuman and matsubara you know :)
[09:09] <kiko> salgado-lunch?
[09:09] <bradb> it was a one second fix to commit as part of the feedback-a-thon branch :P
[09:10] <bradb> all i need to figure out now is a way to pass messages between views that doesn't suck
[09:10] <SteveA> bradb: look at the spec.  if the spec doesn't meet your needs, add a question at the end.
[09:10] <bradb> which spec?
[09:11] <bradb> right, i see it
[09:19] <mpt> kiko: Only worried about the effect of doing fancy processing for ~10 menu items and ~1 page title per page
[09:19] <kiko> mpt, does it involve linear regression or calculation of pi to the Nth root?
[09:20] <SteveA> mpt: i've done almost all the menus up to and including m..
[09:20] <mpt> SteveA, you speed demon
[09:20] <SteveA> i have some questions though
[09:32] <bradb> SteveA: Any idea what the status of the BNM implementation is?
[09:33] <SteveA> is it tracked in launchpad?
[09:33] <SteveA> if not, it should be
[09:37] <bradb> SteveA: ah yes, it is. https://launchpad.net/products/launchpad/+spec/browser-notification-messages makes me want to die.
[09:37] <bradb> but, good on stub for putting it in there. using the spec tracker will help us improve its UI.
[09:44] <nkour> jordi, ping
[09:49] <gneuman> SteveA, going to see that
[09:49] <dilys> Merge to rocketfuel@canonical.com/launchpad--devel--0: [trivial]  increase staging page timeout to 8 seconds (patch-2480: stuart.bishop@canonical.com)
[09:49] <kiko> wooo stub
[09:49] <nkour> jordi,  I updated italina and it is 100% the file, but rosetta now 10 hours still says 0% https://launchpad.net/products/gajim/+series/0.8/+pots/gajim
[09:51] <SteveA> gneuman, matsubara: hiya!  i have found some code that needs fixing.  up for it?
[09:51] <nkour> kiko, ?
[09:51] <nkour> kiko, can u fix it
[09:51] <gneuman> sure we are
[09:51] <SteveA> okay, great
[09:52] <SteveA> so, the first thing is, on a person's own page, there are facilities to add an 'emblem' and a 'hackergotchi'
[09:52] <SteveA> these facilities aren't tested or documented, but i was looking at the pages as part of the menus work i'm doing, and it seems pretty clear that a person is meant to be able to add their own hackergotchi.
[09:52] <SteveA> unfortunately, the permissions prevent this at present
[09:52] <bradb> kiko: assignedbugs works now! :)
[09:53] <gneuman> so we have to change permitions?
[09:53] <SteveA> please look into this, make it so that people can add their own hackergotchi, and prove it with a pagetest
[09:53] <GnuKemist> excuse me...  I can validate that too...  tried it and was stuck with permission msg
[09:53] <gneuman> ok, kiko will guide us
[09:54] <SteveA> mpt: do you think the root +login page should, on successful login, go to that person's own page?
[09:54] <SteveA> GnuKemist: thanks
[09:54] <bradb> SteveA: is there not meant to be a workflow to adding a hackergotchi, to prevent pr0n spamming and such?
[09:54] <GnuKemist> SteveA, np =)
[09:55] <bradb> SteveA: i.e. a workflow that requires some review team to approve hackergotchis (sp?)
[09:55] <pablof> how create new project in launcpad ? i'm not find out a link
[09:55] <SteveA> bradb: dunno
[09:55] <SteveA> bradb: the entire feature isn't documented
[09:56] <SteveA> bradb: https://launchpad.net/malone/bugs/2501/  <-- add your concern here
[09:57] <mpt> SteveA: No, but I do think the front page should be a bit more current-person-specific
[09:57] <SteveA> well, it doesn't even go back to the front page at present
[09:57] <SteveA> that can be fixed
[09:58] <mpt> I think that bug was reported
[09:59] <SteveA> gneuman, matsubara: also, check carefully the spelling on those pages.  i noticed at least one typo.
[10:00] <GnuKemist> SteveA, one thing I noticed... after you log in, should you have a Profile link somewhere?
[10:02] <SteveA> you can click on your own name at the top right.
[10:02] <SteveA> is that what you mean?
[10:02] <GnuKemist> yup... but I thought that "profile" would be more clear
[10:03] <GnuKemist> and a link to browse the people list
[10:03] <SteveA> mpt: can we have a title on that link?
[10:03] <GnuKemist> I could only do it by clicking on the people link above... but don't think it to be intuitive for the regular user
[10:03] <GnuKemist> just my oppinion off course
[10:04] <SteveA> https://launchpad.net/  <--- there's a link to "people and teams", second box down, LHS
[10:04] <GnuKemist> saw it
[10:04] <GnuKemist> sorry
[10:05] <SteveA> is that what you had in mind ?
[10:05] <GnuKemist> yes...  it wasn't on my field of vision
[10:05] <GnuKemist> ;)
[10:05] <GnuKemist> I was looking for it up abopve
[10:05] <GnuKemist> above
[10:06] <bradb> SteveA, mpt: Is there anything I can be doing right now to help the Malone menus implementation along? I'm not really clear what state menus are in, and how much work I'll have to do for Malone menus to be considered implemented.
[10:06] <GnuKemist> upper right hand corner
[10:06] <SteveA> bradb: i've converted all malone actions portlets to menus on a branch
[10:07] <bradb> SteveA: cool. when do you expect to land that?
[10:07] <SteveA> very soon
[10:07] <bradb> great, thanks
[10:09] <mpt> SteveA: As a way of saying "hey, this is your profile page", I think adding the person icon to the left of the existing name link would work
[10:10] <SteveA> cool
[10:11] <SteveA> the ninja-star person sighs back, and looks doe-eyed at mpt
[10:11] <mpt> ooh, requited!
[10:22] <SteveA> bradb: ping
[10:22] <bradb> SteveA: pong
[10:22] <SteveA> i just mailed you a diff
[10:23] <SteveA> there's some stuff in there that is marked XXX
[10:23] <SteveA> about a method of a view class that should be made into a method on IBug
[10:23] <SteveA> to avoid duplicated or poorly factored code
[10:23] <SteveA> it is about getting the subscription for a person
[10:23] <SteveA> so, it should be something like IBug.subscriptionForPerson(person)
[10:24] <SteveA> if you would make such a method, and refactor existing RF code to use it, that would speed up the landing of the rest of it
[10:27] <bradb> that sounds like an unneeded method
[10:28] <bradb> IBug already has isSubscribed. i can't see what the use case is for getting the actual subscription row.
[10:29] <SteveA> various views need it
[10:29] <SteveA> so, there's code in a couple of places that loops over subscriptions looking for one that matches
[10:29] <SteveA> read the diff
[10:30] <SteveA> in my branch, i factored the code out into a function at the module level of a view module
[10:30] <SteveA> but it needs to become a method on IBug 
[10:31] <bradb> yup, I read the diff. looking only at the code, it's still not clear to me why that method is needed for anything.
[10:31] <SteveA> it is needed in both a menu, and a view
[10:32] <bradb> SteveA: what magic can you do with that method that you don't do with IBug.isSubscribed?
[10:32] <bradb> s/don't/can't/
[10:35] <SteveA>     @property
[10:35] <SteveA>     def subscription(self):
[10:35] <SteveA>         """Return the current user's IBugSubscription.
[10:35] <SteveA>         If the user is not subscribed to this bug, return None.
[10:35] <SteveA>         XXX: refactor into method on IBug.
[10:35] <SteveA>         """
[10:35] <SteveA>         user = getUtility(ILaunchBag).user
[10:35] <SteveA>         if user is None:
[10:35] <SteveA>             return None
[10:35] <SteveA>         for subscription in self.context.subscriptions:
[10:35] <SteveA>             if subscription.person.id == user.id:
[10:35] <SteveA>                 return subscription
[10:35] <SteveA>         return None
[10:35] <SteveA> 
[10:35] <SteveA> first of all, that should be a method on IBug
[10:35] <SteveA> it is not good having that code in the view.
[10:36] <bradb> i think that method can probably be completely removed
[10:36] <bradb> unless we have a use case for why you need to get the IBugSubscription of a person
[10:36] <SteveA> ?
[10:36] <SteveA> it is used by a template
[10:37] <bradb> it's crystal clear to me that there is view code using that, but not why that view code is needed at all, given that there's IBug.isSubscribed.
[10:37] <SteveA> and in a menu, i need to know whether someone is subscribed or not
[10:37] <bradb> IBug.isSubscribed.
[10:38] <SteveA> okay
[10:38] <SteveA> so it is only ever used in tal:condition
[10:39] <SteveA> so, i'll refactor these to use IBug.isSubscribed onthe branch.
[10:39] <SteveA> ta
[10:39] <bradb> np
[10:59] <sivang> bye SteveA 
[11:56] <dilys> Merge to rocketfuel@canonical.com/launchpad--devel--0: [trivial]  Lint fixes all over the tree. Improve lint script to reduce clutter, and paved the way for a lintmerge. (patch-2481: christian.reis@canonical.com)
[11:58] <kiko> YES!