[02:29] <sladen> mmm, lp seems to be broken at the moment.  Did that proposted downtime happen now?
[02:30] <sladen> specifically malone;  as though its backend database is unavailable
[02:39] <Burgwork> is this a known bug? If I mark a bug a duplicate that has another bug marked as a duplicate of it, bad things happen
[02:40] <Burgwork> ie. Bug 1 dup of Bug 2. But Bug 2 is a dup of Bug 3. Go to mark 2 and dup of 3 and watch breakage
[02:40] <Ubugtu> malone bug 1 in Ubuntu "Microsoft has a majority market share" [Critical,Confirmed]  http://launchpad.net/bugs/1
[02:40] <Ubugtu> malone bug 3 in rosetta "Custom links for each translation team." [Wishlist,Confirmed]  http://launchpad.net/bugs/3
[02:40] <sladen> Burgwork: what bad things?
[02:40] <Burgwork> it doesn;t work
[02:40] <sladen> Burgwork: it shouldn't allow that IIRC
[02:40] <Burgwork> umm, why not?
[02:42] <sladen> I thought it detected dubs of dubs and will only let you set dups of original target
[02:43] <Burgwork> that is broken
[02:43] <sladen> no, it means that there is only one level of dupness
[02:43] <Burgwork> look, I just had to manually go and hack bug 1 to be a dup of bug 3
[02:44] <Ubugtu> malone bug 1 in Ubuntu "Microsoft has a majority market share" [Critical,Confirmed]  http://launchpad.net/bugs/1
[02:44] <Ubugtu> malone bug 3 in rosetta "Custom links for each translation team." [Wishlist,Confirmed]  http://launchpad.net/bugs/3
[02:44] <Burgwork> seriously, it should just do what I want it to do, not throw up errors
[02:46] <sladen> Burgwork: I think I see what might be happening.   It would catch  2->3 then an attempt to  1->2
[02:46] <sladen> but 1->2  then 2->3 may not be detected?
[08:56] <G0SUB> Znarl: ping
[08:58] <Znarl> G0SUB : Pong
[08:58] <G0SUB> Znarl: any news about the ticket I opened?
[08:58] <Znarl> Not yet, no.  
[08:58] <G0SUB> hmm
[08:59] <G0SUB> is this a very complex procedure?
[09:00] <Znarl> I believe so, it's waiting on Elmo to action your request.
[09:00] <G0SUB> oh, ok
[09:35] <Znarl> Niagara
[09:36] <Znarl> Opps, sorry.
[09:54] <BjornT> stub: ping
[09:55] <stub> BjornT: pong
[09:55] <BjornT> stub: did you get an email from me yesterday (subject "Grouping together bug notifications")? i sent it to you and the launchpad list, but i can't see it in the archives.
[09:56] <stub> I got it
[09:56] <BjornT> ok, good.
[09:57] <stub> If you sent it directly to me, does that mean you want some sort of an opinion?
[09:59] <BjornT> stub: yes, that's why it starts with 'Hi Stuart' ;) i mainly want to know if you see some problems with the solution from a DBA point of view.
[09:59] <stub> Seemed fine
[09:59] <stub> I just skimmed it and trashed it :)
[10:00] <BjornT> ok :)
[10:00] <stub> BjornT: It would be easier if you add a new row for each append though, instead of attempting to construct the text.
[10:03] <stub> BjornT: The cron script would then just 'select * from pendingbugnotificationwhatsits order by bug, id', using id to preserve the order of updates. You then have more flexibility on how you assemble the message.
[10:05] <carlos> morning
[10:05] <carlos> stub: hi, do you have already planned the cherry pick or production update that includes my changes?
[10:07] <BjornT> stub: one small problem with that though. if the notification contains a comment, we want it to always be at the top of the email, and the changes at the bottom. maybe we could add another column to the table, one for the comment, and one for the changes to the bug.
[10:07] <spiv> stub: sqlobject prejoin draft https://chinstrap.ubuntu.com/~dsilvers/paste/fileo8KAEc.html
[10:07] <stub> carlos: yes. I'm tagging the branch now.
[10:07] <carlos> stub: cool, thanks
[10:07] <spiv> stub: it needs polish and tests, but the basic idea seems to work.  Feedback welcome.
[10:08] <stub> BjornT: Sure. So leave that up to the cronjob to assemble the message rather than have that code scattered around a number of different event handlers.
[10:09] <stub> BjornT: Doing it this way you get RSS feeds almost for free too.
[10:10] <stub> (same cluster of changes - just assemble a different sort of message and store it on disk for serving via apache)
[10:10] <kiko> well
[10:10] <kiko> I think the cronjob should call some simple backend API that allows immediate sending of the email queued
[10:10] <kiko> that way we can have other callsites that also trigger this
[10:11] <stub> eh?
[10:12] <kiko> I'm just suggesting factoring into a sendQueuedMessages(bug) method/function.
[10:12] <kiko> so the cronscript would do
[10:12] <kiko> for bug in getBugsWithQueuedMessages():
[10:12] <kiko>      something.sendQueuedMessages(bug)
[10:14] <stub> Sure. I just think it is much better to assemble the message when you send it, rather than putting all that logic into event handlers.
[10:14] <kiko> yeah.
[10:15] <stub> I think some of this is already specced in the *Subscription and RSS specs.
[10:16] <stub> I think the implementation needs to fit that pattern.
[10:19] <stub> So a bug event fires. A tuple is stored in the BugNotifications table, linking the bug, and the person to a message stored in the message table.
[10:19] <stub> Note that in the case of a comment being added, the message already exists in the message table. So we don't need to duplicate!
[10:20] <stub> The cron script then does what Bjorn describes, looking for sets of BugNotifications that have not been sent. It then sends them out, and flags them as having been sent.
[10:22] <stub> If we don't remove BugNotifications after they have been sent, then we can also use this to replace BugActivity which is pretty crappy. And support the RSSFeeds spec because it is using the same model we propose for product subscriptions etc.
[10:25] <stub> In fact, if we collapse the BugNotifications into the already existing BugMessages table, it supports things even better. This would also allow us to trivially display changes inline with comments, or without them by toggling a filter.
[10:32] <BjornT> stub: yeah. i think we should start simple though, we can collapse the tables later.
[10:42] <stub> I think this is just as simple, and won't require refactoring in the future.
[10:46] <jamesh> stub: so you are suggesting storing the bug activity as plain text rather than the split out form currently in the BugActivity table?
[10:47] <stub> I think that would be preferable
[10:48] <stub> It is more meaningful as an audit trail as the reader doesn't need to decode it.
[10:48] <stub> Although I guess it wouldn't be localizable :)
[10:50] <jamesh> that doesn't count against it w.r.t. the current system
[10:50] <jamesh> which is three text fields (whatchanged, oldvalue, newvalue)
[10:50] <cprov> stub: hi, did you review those db patches ?
[10:51] <stub> More maintainable anyway - I think there are plenty of things that should be that don't get logged in that table (bugtask changes?)
[10:51] <stub> cprov: yes. check your email.
[10:52] <cprov> stub: thanks
[10:54] <jamesh> an alternative, if we required a comment with every change, would be to link BugActivity records to bug messages
[10:54] <jamesh> since often you want to know why someone made some change
[10:56] <jamesh> it'd be more useful than the existing "message" column in the table
[11:12] <carlos> stub: hi, are you doing anything with pqm? I got a rejected merge due database being used: https://chinstrap.ubuntu.com/~dsilvers/paste/fileazMZeP.html
[11:12] <stub> oops. yup. Forgot to disable the sucker ;)
[11:13] <carlos> :-P
[11:20] <kiko> hey mdz?
[11:30] <carlos> jordi: ping
[11:38] <jordi> carlos: 
[11:39] <carlos> jordi: hi. Kiko asked me to not handle the import queues because it will reduce my hacking time
[11:39] <carlos> jordi: so perhaps you should plan some approval session there with daf or any other person that could help you doing it while I improve the approval process
[11:41] <jordi> carlos: I'll see what we can do. We're sorting out im now
[11:41] <jordi> we're making proggress
[11:41] <jordi> kiko: don't go running
[11:41] <carlos> jordi: ok, cool
[11:41] <jordi> <--- jealous
[11:42] <carlos> jordi: anyway, we still need my branch on production to start approving things
[11:42] <jordi> when do we get an update_
[11:50] <dilys> Merge to devel/launchpad/: [trivial]  Added Breton and Akan plural forms and fixed Akkadian and Akan language codes to be on sync with production. Migrated the sampledata to Postgresql 8.1 (r3264: Carlos Perello Marin, Carlos Perell Marn)
[12:01] <daf> sabdfl: I've mailed you a draft email for ubuntu-announce
[12:03] <sabdfl> thanks daf, will review and revert
[12:18] <spiv> salgado: seems I don't have permission to merge to sqlobject after all
[12:19] <jamesh> spiv: check what URL you were merging into
[12:20] <spiv> jamesh: good idea
[12:24] <salgado> spiv, I guess I can merge it. the parent of my sqlobject branch was wrong, I think
[12:25] <salgado> oh, you sent it again already. 
[12:26] <spiv> salgado: yeah :)
[12:26] <spiv> jamesh was right, I did screw up the URL
[12:50] <SteveA> stub: please announce the postgres potential slowness, and the existence of a fix, on the mailing list
[12:54] <dilys> Merge to test/launchpad/sourcecode/sqlobject/: [r=spiv]  Make all tests pass and add a 'check' target in the Makefile to run all tests. (r46: Guilherme Salgado)
[12:56] <spiv> salgado: Success!  Thanks for that branch.
[12:59] <salgado> spiv, great! thanks for the review. :)
[01:37] <kiko> stub, ping?
[01:37] <stub> kiko: pong
[01:38] <kiko> stub, can you take a look at spiv's prejoins patch?
[01:38] <stub> sure
[01:38] <stub> cprov: ping
[01:38] <kiko> thanks!
[01:49] <spiv> stub: The branch is at sftp://chinstrap/home/warthogs/archives/spiv/sqlobject/prejoins
[01:49] <spiv> stub: I've tidied it up considerably since the paste a few hours ago.
[01:50] <stub> spiv: Can you repaste?
[01:50] <spiv> stub: Ok.
[01:52] <stub> cprov: ping
[01:53] <SteveA> stub: on the fsync=off setting, if my machine crashes, and i need to rebuild my cluster, how will i know?
[01:53] <SteveA> will i get errors from postgresql?
[01:53] <SteveA> will it fail to start?
[01:53] <spiv> stub: https://chinstrap.ubuntu.com/~dsilvers/paste/filetu2S96.html
[01:53] <stub> SteveA: As per the DatabaseSetup docs. I've never seen it happen, so I don't really know what will happen.
[01:54] <carlos> SteveA: I guess postgresql will not be able to start
[01:54] <SteveA> how exciting for the first person to meet the problem :-)
[01:54] <kiko> excitement is my middle name
[01:54] <spiv> kiko: how many middle names do you have?
[01:55] <kiko> enough
[01:56] <cprov> stub: pong
[01:56] <stub> cprov: Can you please shutdown the publisher and let me know when it will be safe for me to start a rollout?
[01:57] <cprov> stub: sure
[02:00] <cprov> stub: publisher/uploader/sequencer are stopped. it's safe now
[02:10] <cprov> stub: leaving for lunch, ping me when it's done
[02:10] <stub> Launchpad is going down in 15 mins for a regular code update. Estimated downtime is 10 minutes. Wikis will be in read only mode during this time.
[02:10] <stub> cprov: Should all be ready when you get back.
[02:11] <stub> (I haven't got access yet to do it myself, without hacking the system, but that could be disruptive)
[02:26] <dilys> Merge to devel/launchpad/: [trivial]  Fixes menu items for a support request and for a person. Fixes bug 29851 (Remote bug links should be direct from the bug page task list). (r3265: Matthew Paul Thomas)
[02:43] <Martolod> hello
[02:43] <Martolod> hum
[02:44] <Martolod> here are all the packages i can translate for my language : https://launchpad.net/distros/ubuntu/dapper/+lang/br
[02:44] <Martolod> but how can i do if i want to translate gnome-menus for example ?
[02:50] <dilys> Merge to devel/launchpad/: r=spiv, rs=spiv for parts. Refactor BatchNavigator API, removing the need to instantiate a Batch, and fixing up callsites and templates to use the correct API. Removes some list() calls where possible and does some delintifying. Fixes bug 33290: Batch handler should properly validate arguments it receives. (r3266: Christian Reis)
[03:18] <carlos> jordi: https://launchpad.net/rosetta/imports/
[03:20] <kiko> stub, my batching fixes have landed in RF -- and no build_batch necessary! enjoy
[03:21] <stub> enjoy? I can't remember the last time I messed with UI stuff ;)
[03:22] <kiko> it will mean less messing
[03:36] <carlos> stub: Hmmm, I forgot to remind you that we need to remove a POTemplate from production to be able to apply the newlines fix script....
[03:36] <stub> carlos: Do you know which one?
[03:36] <carlos> Let me check my logs...
[03:40] <carlos> stub: POTemplate.id = 11192 and all its associated objects should be removed from production
[03:40] <carlos> stub: I just confirmed that it's that one checking again on staging
[03:40] <carlos> stub: so I'm sure is the right one.
[03:44] <stub> carlos: https://chinstrap.ubuntu.com/~dsilvers/paste/filexvFGaP.html
[03:44] <carlos> stub: could you run it again with the '-c' argument?
[03:45] <stub> carlos: -c is good
[03:45] <carlos> that will check that we fixed all broken entries
[03:45] <carlos> ok
[03:45] <stub> launchpad@gangotri:/srv/launchpad.net/production/launchpad/database/schema/pending$ python carlos-fix-newlines-chars.py -c
[03:45] <stub> 14:44:32 INFO    Starting the fixing process
[03:45] <stub> 14:44:46 INFO    There are 389 translations to be checked
[03:45] <stub> 14:44:47 INFO    There are 39 msgids to be checked
[03:45] <stub> 14:44:48 INFO    There are 283 translations to be checked after msgids are done.14:44:49 INFO    Finished the fixing process
[03:45] <carlos> stub: it looks fine so I would assume it worked
[03:45] <carlos> stub: thank you very much
[03:45] <carlos> stub: I guess I can remove that script from our tree with next merge I do, right?
[03:46] <stub> Yes please
[03:46] <carlos> or do we have a place to move them?
[03:46] <stub> Stick them in database/schema/archive if you want to keep it around
[03:50] <carlos> ok, I will check with SteveA if we should store it or just remove it
[04:14] <dilys> Merge to devel/launchpad/: [r=stub]  PersonalPackagesArchive DB patches. (r3267: Celso Providelo)
[04:14] <kiko> nice
[04:14] <kiko> spiv is next up
[04:38] <sivang> anybody knows when the bzr scanning cron runs ?
[04:39] <sivang> (for scanning registered rbanches, that is)
[04:55] <dilys> Merge to devel/launchpad/: [trivial]  No longer explicitly suggests registering a new product if a product search fails. Tidies up product search results. Makes specification table pages use the 2-column layout (Launchpad workshop goal). (r3268: Matthew Paul Thomas)
[05:02] <carlos> sivang: ddaa says that he thinks it's run every 12 hours at 1:30 UTC
[05:09] <sivang> carlos: k, cool :)
[05:24] <jamesh> bradb, mpt: http://advogato.org/person/Burgundavia/diary.html?start=72
[05:57] <dilys> Merge to devel/launchpad/: [rs=kiko]  Fix #1235: When batch_start is >= the number of bugs shown, an error is raised. Change Batch to handle the case where start > listlength; also gives special results for prevBatch() and endNumber(). (r3269: Andrew Bennetts)
[05:58] <Kinnison> spiv: https://wiki.launchpad.canonical.com/PersonalPackageArchivesStageOne
[05:58] <kiko> YES!
[05:58] <kiko> woot woot
[06:02] <Kinnison> cprov: Will you please do the DB patch to drop the librarian FKs from PPA ?
[06:03] <cprov> Kinnison: sure, as soon as I can manage to re-enable publisher (ohhhhh)
[06:09] <lakin> Anyone know of a way to get a list of bugs in malone that were reported against "ubuntu" and not a specific package?
[06:10] <Kinnison> http://launchpad.net/distros/ubuntu/+bugs
[06:12] <lakin> Kinnison: that's not quite it ...
[06:13] <Kinnison> Oh, I don't believe there is such a thing
[06:13] <lakin> For example this bug fell through the cracks, I'd like to be able to generate more lists of bugs like this https://launchpad.net/distros/ubuntu/+bug/31233
[06:13] <Ubugtu> malone bug 31233 in Ubuntu "Language selection happens twice with graphical grub" [Normal,Fix released]  
[06:14] <Kinnison> ooh that's a good one
[06:14] <lakin> Sorry, that wasn't a good example of one that fell through the cracks, but it's an example of the filing against "ubuntu"
[06:15] <lakin> There were a number posted by Andreas Schildbach to ubuntu-devel last night.
[06:16] <bradb> Kinnison: It's optional, though there's a bug on package name not being obviously optional.
[06:16] <Kinnison> bradb: so is there a search mechanism for  tasks with no package?
[06:16] <bradb> lakin: There's currently no way to get a list of bugs without a package. Could you file a bug on that?
[06:17] <Kinnison> :-(
[06:17] <lakin> bradb: will do
[06:17] <bradb> lakin: cool, thanks
[06:21] <lakin> done.
[06:21] <lakin> https://launchpad.net/products/malone/+bug/35075
[06:21] <Ubugtu> malone bug 35075 in malone "Bug Triagers would benifit from a way to list bugs filed without a package" [Normal,Unconfirmed]  
[06:24] <mpt> jamesh, I saw that this morning
[06:27] <Burgwork> did I stir up a hornets nest?
[06:27] <spiv> Burgwork: We're pretty sedate hornets I'm afraid :)
[06:27] <Burgwork> none of what I said should be taken as a slur again the team
[06:27] <Burgwork> bulding giant server apps is hard
[06:27] <Kinnison> Burgwork: well, not all of us are cuddly
[06:30] <bradb> Burgwork: FWIW, the current Malone priority at this sprint is linking branches and bugs.
[06:32] <kiko> Burgwork, improving searching and dupes are on the radar; have patience
[06:33] <mpt> they are??
[06:33] <kiko> that's it
[06:34] <kiko> KILL KILL KILL
[06:36] <Kinnison> spiv: thank god for noise-cancelling headphones
[06:37] <spiv> Hah.
[06:38] <xhaker> hi all
[06:38] <xhaker> any rosetta guys here?
[06:38] <xhaker> Portuguese Translators problem :)
[06:42] <kiko> NO
[06:42] <carlos> xhaker: hi
[06:42] <carlos> xhaker: what's wrong there?
[06:42] <xhaker> carlos: something is bugging us for a long time already.
[06:43] <xhaker> carlos: there are two translation entries for Portuguese
[06:43] <xhaker> one is pt and another one is pt_PT
[06:43] <xhaker> we use the pt templates
[06:43] <xhaker> pt_PT is unnecessary and it's confusing
[06:44] <xhaker> carlos: do you follow?
[06:44] <carlos> xhaker: yes
[06:44] <carlos> xhaker: I don't know if it was for your team, but I already said how to fix that
[06:45] <carlos> you need to migrate the translations using the pt_PT locale
[06:45] <carlos> into the pt one so no translations are lost
[06:45] <carlos> after that, send an email to rosetta@launchpad.net with links to all pt_PT entries you migrated and requesting their removal
[06:45] <carlos> and we will do it
[06:46] <carlos> we cannot do it automatically as we don't know which translation is better, the one on pt or the one on pt_PT
[06:46] <xhaker> carlos: thanks for your help. 
[06:49] <carlos> xhaker: you are welcome
[06:49] <carlos> daf: hi, around?
[06:52] <daf> hi
[06:54] <carlos> daf: did you tell me that your parser fixes the problem with Big5 files?
[06:54] <daf> maybe
[06:54] <carlos> or was it another issue?
[06:54] <daf> I was going to add a test case for it
[06:56] <carlos> I can provide you a .po file with that problem
[06:56] <carlos> daf: http://librarian.launchpad.net/51037/zh_TW.po
[06:57] <daf> cool
[06:57] <daf> I'll test and let you know
[06:57] <carlos> daf: did you have time to check how complicate would be to move Rosetta to use your parser?
[06:58] <spiv> kiko: stub had an interesting suggestion for prejoins, see the review mail.
[06:58] <daf> carlos: no, not yet
[06:58] <daf> carlos: maybe I'll have time tonight
[06:58] <carlos> daf: I approved all imports with the FAILED status to check which ones are errors on our side and which ones are broken imports
[06:59] <carlos> daf: and we saw that big5 problem
[06:59] <daf> ah
[06:59] <jordi> continue approving stuff. Oh yes baby.
[07:00] <carlos> jordi: no, I was doing only the failed ones...
[07:00] <carlos> jordi: if you have time and approve/delete some entries... that would be really good :-P
[07:00] <jordi> carlos: need some guidance with this queue now
[07:00] <jordi> carlos: what do I do with the failed entrieS?
[07:01] <jordi> What about the approved?
[07:01] <jordi> what about deleted?
[07:01] <jordi> "imported"? why am I seeing gthese?
[07:01] <carlos> jordi: ignore all entries but the ones with Needs review status
[07:02] <carlos> jordi: the imported files will be on that queue for 5 days and then, will be deleted so people can know that we already imported their queue
[07:02] <carlos> jordi: we already talked about that....
[07:02] <jordi> carlos: I want to be sure
[07:02] <carlos> jordi: anyway, I will introduce some filtering to show only the entries with the selected status
[07:02] <jordi> It'd be cool if the Needs review stuff came up first.
[07:02] <carlos> jordi: it's cool for you
[07:03] <carlos> but not for our users
[07:03] <carlos> also, the import queue should not be so big as it's atm....
[07:03] <carlos> that's not usual
[07:03] <carlos> or at least, it should not be so usual
[07:04] <carlos> jordi: the failure entries help me to know if there is any bug with our system or the user imported a broken file
[07:04] <carlos> if it's broken, I will delete it, if it's not broken, I will fix the bug and request a new import
[07:04] <jordi> well, right now I have to find with guesses where needs review starts, and that will vary
[07:04] <carlos> atm you can ignore those entries or download the file, test it with msgfmt and delete it if msgfmt complains about it
[07:05] <carlos> jordi: atm, jump the first 150 entries
[07:05] <carlos> that's more or less it
[07:05] <carlos> jordi: as fast as you start feeling the pain with the queue, as fast your input will help me to improve it....
[07:06] <jordi> carlos: ok, I edit one, and I go back to the first page
[07:06] <carlos> jordi: know bug, kiko fixed that already and it's merged on rocketfuel
[07:11] <jordi> cool
[07:11] <jordi> carlos: hmm
[07:11] <jordi> https://launchpad.net/rosetta/imports/797
[07:11] <jordi> what would you do with this one?
[07:12] <carlos> jordi: seems like unfortunatelly, kiko's patch cannot be cherrypicked as it changes too many things
[07:12] <jordi> meh
[07:12] <kiko> it is chock-full
[07:12] <carlos> jordi: ?
[07:13] <jordi> kiko: don't go running
[07:13] <kiko> I am running every day
[07:13] <jordi> carlos: the info told me "Ubuntu documentation project", which has a quicktour template. I guess there was no way of knowing that offhand, righT?
[07:13] <carlos> jordi: oh, I see, due a bug with the old queue code, there are .po files that we lost the associated .pot file, so you will need to do some investigation to decide where to import it....
[07:14] <jordi> carlos: ah, ok.
[07:14] <jordi> That was quicktour I guess/hope.
[07:14] <carlos> jordi: download the file and check it
[07:14] <kiko> yeah
[07:14] <carlos> jordi: but yes, I guess it's the case if there is just one potemplate tehre
[07:17] <daf> carlos: can you explain to me again why we have to approve 13851 imports by hand?
[07:18] <jordi> kiko: I HATE you SO MUCH
[07:18] <jordi> kiko: we need to go out for dinner or something
[07:18] <kiko> you and the entire population of the northern hemisphere
[07:18] <jordi> what's wrong with the South hemisphere?
[07:19] <jordi> Are they easily bribed?
[07:20] <carlos> daf: to prevent things like having 5 templates for glib that are the same but stored on different paths
[07:21] <carlos> or importing 40 templates for gtk+ just because the first explanation I gave you + 10 revision changes because gtk uses the version number as part of its path
[07:21] <carlos> daf: we got those problems with breezy
[07:21] <daf> can we automatically approve all things with onlyu 1 template?
[07:22] <carlos> and as we didn't store the right paths with hoary and breezy, we don't know them before hand to do the import automatically
[07:22] <carlos> daf: not really
[07:22] <carlos> we could automate some of them
[07:23] <elmo> ok, seriously, is there no way to distinguish mail that's being sent to me because I reported or am subscribed to a bug and a bug LP is mailing me about because it heuristically thought I might be interested-maybe
[07:23] <carlos> that's what I'm going to work on
[07:23] <carlos> but there are situations where a tarball could be missing a .pot file but have two sets of .po files. One for a existing .pot file and the other set for the missing one
[07:24] <carlos> so we could mix .po files
[07:24] <daf> carlos: I don't think we can humanly improve 13,000 imports in time for dapper
[07:24] <daf> s/improve/import/
[07:24] <spiv> We need an X-Launchpad-Thinks-You-Care-Because header ;)
[07:25] <daf> X-Because-Youre-Worth-It
[07:27] <elmo> spiv: seriously we do, I asked for it before, but in the mail
[07:27] <elmo> I have absolutely no idea why launchpad is mailing me about random unassigned bugs that I didn't report or subscribe to
[07:29] <salgado> mpt, your changes to the PendingReviews page were reverted
[07:29] <cprov> salgado: probably by me, sorry
[07:30] <mpt> yep
[07:30] <mpt> nm, I'll restore
[07:30] <carlos> daf: Well, In about 4 hours I did 100 reviews before the importqueue went out of service
[07:30] <kiko> you'd still need to do that 130 times
[07:31] <carlos> kiko: well, I was guessing URLs and I'm going to improve the approval form prefilling things 
[07:31] <carlos> kiko: that should speed it a bit
[07:31] <daf> let's say you do it 8 hours a day
[07:31] <daf> that's still 65 man-days
[07:32] <carlos> daf: dude, I know it's not the perfect system and that It's the only way to do it
[07:32] <daf> we will go insane
[07:32] <carlos> ehem....
[07:32] <daf> ok
[07:32] <daf> we will go more insane
[07:32] <carlos> s/it's the only way/It's not the only way/
[07:32] <mpt> we can probably decrease the number of clicks required
[07:32] <carlos> kiko: thanks
[07:33] <carlos> mpt: that's my point, improve the approval procedure
[07:33] <kiko> no
[07:33] <kiko> I think we need to get that number down to less than 1,000
[07:33] <kiko> or else it is not doable
[07:33] <daf> kiko++
[07:33] <carlos> mpt: and add more guessing code to accept as much as possible automatically
[07:33] <mpt> How many e-mail messages do you get per day, kiko?
[07:34] <kiko> in my inbox, or in total?
[07:34] <mpt> inbox
[07:34] <kiko> about 50
[07:34] <kiko> I only reply to about 40%
[07:34] <mpt> dude, that's less than me
[07:35] <kiko> I filter *everything*
[07:35] <kiko> only email that is only To: me is in my inbox
[07:35] <carlos> mpt: without the spam and mailing lists?
[07:35] <mpt> So, anyway, we just need to make Launchpad as fast as mutt
[07:37] <daf> text-based XMLRPC interface?
[07:37] <mpt> Besides clicking a button or whatever, what do you need to do to a translation to approve it?
[07:37] <mpt> Do you need to examine it for something?
[07:37] <mpt> check the filename is correct?
[07:38] <jordi> mpt: sometimes, you have no fscking clue where a pofile belongs
[07:38] <jordi> or the translator uploads a "myapp.po", and you don't know what language it belongs to (because he renamed his LANGCODE.po to whatever.po)
[07:39] <jordi> so I had developed this cute instinct that made me guess quite accurately who was translating what
[07:40] <jordi> mpt: the general case, as it's now (carlos plans some autofilling of fields) I have to type in the source package, the po template name the file belongs to, and select a language from a dropdown list with all the language supported by the rosetta
[07:41] <mpt> ok
[07:42] <mpt> so autocomplete could accelerate that, but not much else
[07:42] <mpt> and managing multiple items on a single page
[07:42] <jordi> that is pretty straightforward if you can guess all the info straight away. It's easy that you need to investigate what po template an uploaded file belongs to, if it has more than one. Normally that means downloading the file from librariant to have a look.
[07:43] <jordi> you can also have the language problem: the filename might not give you any info of what language it is -> download. Or you get a "fg" code which you fdon't know by heart, and you may have to look it up in the iso codes list
[07:43] <jordi> that's mostly what I find I end up doing
[07:44] <jordi> oh, + new submissions need potemplatename creation and so on, but that's ust the first time
[08:01] <daf> jordi: looks like you scared carlos and mpt away
[08:01] <daf> dinner time!
[08:01] <carlos> jordi: daf: Sorry, I'm planning a way to improve the situatio with kiko...
[08:02] <carlos> will read the channel later...
[08:02] <jordi> ooh, good
[08:02] <jordi> we're leaving now
[08:02] <mpt> I'm here, I just have nothing to say :-)
[08:02] <jordi> because you lp people ignored our invitation to do a joint dinner.
[08:02] <jordi> I hate you all
[08:02] <jordi> not only kiko
[08:03] <jamesh> jordi: why don't you come over here and say that?
[08:04] <kiko> bah
[08:04] <kiko> I can't have dinner tonight
[08:04] <jordi> lol
[08:04] <jordi> jamesh: you're way too far away for a 10 second fight
[08:04] <jordi> (no more details about how the 10 seconds go)
[08:06] <jamesh> jordi: how do you know I wasn't just inviting you over for dinner?
[08:10] <carlos> jamesh: because he wants you going to K&K to have dinner instead of coming here :-P
[08:10] <jordi> I observed you when we walked around the King's Cross in Sydney. You seemed to know  the area and the people.
[08:11] <carlos> jordi, daf: Ok, so here's the plan I'm going to do:
[08:12] <carlos> - Add an option to filter by .po or .pot files the queue entries
[08:12] <carlos> - Add an option to filter by status
[08:13] <carlos> - Approve/Block all .pot files (using the filtering option) (We have 664 .pot files)
[08:13] <carlos> this step will be done by hand
[08:13] <carlos> sorry, jordi
[08:14] <daf> hmm
[08:14] <daf> so, if we block a .pot file, will the .po files get blocked automatically?
[08:14] <carlos> daf: let me finish...
[08:14] <carlos> please ;-)
[08:14] <daf> I didn't know you weren't :)
[08:15] <carlos> - For every POTemplate we have imported, look on the queue for pofiles stored on the same directory
[08:15] <carlos> and associate them with that potemplate
[08:16] <carlos> that will cause that the current guessing code will be smart enough to automatically import all .po files that use the language code as the filename
[08:16] <carlos> that's most of the entries
[08:17] <daf> that sounds like a big improvement
[08:17] <carlos> daf: we think so, yes
[08:17] <daf> this "look at the queue for pofiles stored in the same directory"
[08:17] <daf> is this a one-off thing
[08:17] <daf> or should we do that continuously?
[08:17] <daf> perhaps we should do that when a .pot file's status is changed
[08:18] <carlos> daf: well, I was thinking on include the code as part of the guessing code I already have
[08:18] <jordi> that sounds like a big step forward
[08:18] <daf> what guessing code?
[08:18] <daf> the queue runner?
[08:18] <carlos> at the moment the guessing code checks an entry.path and a pofile.path or potemplate.path
[08:19] <carlos> this change will allow us to guess pofiles without having it yet created
[08:19] <carlos> daf: yes, the poimport script executes it to do automatic imports
[08:19] <carlos> so we would leave it there for ever
[08:19] <daf> ok
[08:20] <carlos> daf: what I can do too is to add some code to block pofiles that are on the same directory that an already blocked .pot file
[08:20] <daf> that sounds cool
[08:21] <carlos> if it's not correct is as easy as edit it manually and associate it with the right entry
[08:21] <carlos> oh, I forgot to add - Prefill the approval form
[08:21] <daf> cool
[08:21] <daf> so, what's on the top of your queue?
[08:22] <carlos> implement the filtering code
[08:22] <daf> ok
[08:22] <daf> have our import/export fixes gotten review?
[08:22] <carlos> so we can it cherry picked tomorrow, so If I don't have the other fixes done, at least jordi can start accepting .pot imports
[08:22] <daf> yeah
[08:23] <carlos> daf: only the one related with the bad encoding exporting files, I need to do some changes before it's ready to be merged
[08:23] <daf> ok
[08:23] <daf> ah, the notifications?
[08:23] <carlos> yes ;-)
[08:23] <daf> I thought we had the import fix done
[08:23] <carlos> that's the main change
[08:24] <carlos> daf: well, I hadn't time to review the diff before asking for a review
[08:24] <carlos> that means execute 'make check' to be sure all tests are fixed
[08:24] <daf> ok, we're gone
[08:24] <carlos> I had my computer blocked with other test runs
[08:25] <daf> talk to you tomorrow
[08:25] <carlos> ok
[08:25] <carlos> good night
[09:50] <Burgwork> #launchpad is not letting unregged people on
[09:50] <Burgwork> can this be turned off?
[09:50] <LarstiQ> Burgwork: that would be due to the waves of spambots
[09:51] <LarstiQ> hmm, no kiko
[10:30] <flint> Oliver sent me over here to ask if there is any way I can get back on https://wiki.edubuntu.org/ so I can continue editing the mondomindi page?
[10:31] <LarstiQ> flint: I'm missing context here, but could it be wiki in readonly mode due to maintenance?
[10:41] <flint> LarstiQ, thanks for your help.  give me a second...
[11:01] <flint> LarstiQ, btw my friend jelkner had no trouble logging into https://wiki.edubuntu.org/.  for some reason I am not getting the opportunity to log in.  is there a url where i can go to log into https://wiki.edubuntu.org/?
[11:06] <LarstiQ> perhaps it thinks you are already logged in?
[11:06] <LarstiQ> flint: or try https://wiki.edubuntu.org/UserPreferences
[11:14] <flint> LarstiQ, thanks!!!! that worked. the obvious is silly in retrospect. 
[11:15] <LarstiQ> flint: cool, glad to be of help