[12:09] <cprov> good night 
[12:09] <dilys> Merge to devel/launchpad/: r=BjornT,carlos rs=SteveA Fix LIKE/ILIKE queries that were incorrectly using quote() instead of quote_like. Also fix uses of urljoin that should have been urlappends. Delintifies in places (r3447: kiko)
[12:10] <carlos> good night
[12:10] <kiko> yay
[12:44] <lifeless> moin
[12:47] <ddaa> morning lifeless
[12:59] <ddaa> coding policy question
[01:00] <ddaa> I want to define a method/function that computes a sort key for a branch, for use in the various branch listing pages in Launchpad
[01:00] <ddaa> Where should I put that?
[01:01] <ddaa> Some options: staticmethod in database.Branch, staticmethod in database.BranchSet, top-level function in interfaces.branch 
[01:01] <ddaa> none of those makes me particularly happy
[01:02] <ddaa> lifeless: ?
[01:02] <ddaa> Mh...  could be a method in database.Branch, as well...
[01:02] <ddaa> lifeless: thank you
[01:03] <ddaa> well... not very good either, since it's a view thing... should not be in the content class
[01:06] <lifeless> hi
[01:06] <lifeless> ddaa: does it return a key from one Branch, or from many ?
[01:07] <mdke_> x
[01:07] <ddaa> branch -> sort key
[01:07] <mdke_> mental note: stop leaning on laptop
[01:07] <ddaa> for use as sorted(branches, key=sort_key_function)
[01:09] <lifeless> ok
[01:09] <lifeless> then its really something you get from a single branch
[01:09] <lifeless> why would it live anywhere else than Branch ?
[01:09] <ddaa> because Branch is the content class, and that's view logic.
[01:10] <lifeless> view logic is the browser set of classes
[01:11] <lifeless> but ...
[01:11] <ddaa> maybe a top-level method in browser.branch?
[01:11] <ddaa> s/method/function/
[01:11] <lifeless> that sounds like a method that any type of presentation could use
[01:11] <ddaa> yes
[01:11] <lifeless> so its not so ugly to put it in the content class
[01:12] <lifeless> which is where I think a lot of the sort_key logic done today goes.
[01:12] <ddaa> currently trying to convince myself I can make a sort key that works for all views...
[01:12] <lifeless> there was a discussion on launchpad@ beween mark and steve recently about a case of this.
[01:13] <ddaa> maybe (product, status, author, name, owner)
[01:13] <ddaa> okay... I'll factor it out
[01:14] <ddaa> Mh... the annoying bit is that it's hard to specify an attribute as sort key... need to use a lambda
[01:15] <lifeless> operator
[01:15] <ddaa> ?
[01:15] <lifeless> sorted(branches, key=operator.attrgetter('sort_key'))
[01:16] <ddaa> sorted(branches, key=lambda b: b.sort_key)
[01:16] <ddaa> ugh
[01:16] <ddaa> methink lambda is still less ugly!
[01:41] <sabdfl> kiko-zzz: dude, i'm too late right?
[03:46] <hendry> how do i see bugs i'm subscribed ?
[04:17] <spiv> hendry: https://launchpad.net/people/<your user name>/+subscribedbugs
[04:21] <hendry> spiv: thanks
[04:32] <dilys> Merge to devel/launchpad/: [trivial]  Decruft (unused) date widget example (r3448: Stuart Bishop)
[04:35] <jamesh> lifeless: this might be another option for getting SIP working: http://people.netfilter.org/chentschel/docs/sip-conntrack-nat.html
[04:35] <jamesh> without siproxd
[04:42] <lifeless> jamesh: if you like kernel crashes
[04:43] <lifeless> jamesh: the divmod guys have tried that, and apparently you play roulette with your kernel on every sip packet,
[04:43] <lifeless> besides - theres no need for kernel involvement.
[04:44] <lifeless> should be possible to redirect sip (5060) packets to siproxd with iptables, and have siproxd inject 'active connection' records into iptables as needed
[04:44] <lifeless> no way does this belong in kernel space :)
[04:47] <jamesh> lifeless: is it that just an issue with the particular module, or the approach in general?
[04:48] <lifeless> that module is apparently a flakey pos
[04:48] <lifeless> but sip is complex. putting in the kernel is a bad idea in general
[04:48] <lifeless> s/in/it in
[04:51] <lifeless> got to go buy more disk storage for my home server. bbiab
[04:52] <jamesh> lifeless: http://siproxd.sourceforge.net/siproxd_guide/siproxd_guide_c6s4.html <- I guess siproxd can already do the transparent proxying trick
[04:53] <lifeless> looks like
[04:53] <lifeless> not quite complete though
[04:53] <lifeless> this rule
[04:53] <lifeless> iptables -A INPUT -m udp -p udp -i ppp0 --dport 7070:7089 -j ACCEPT
[04:53] <lifeless> is not stateful
[04:54] <lifeless> it should possible for siproxd to poke the kernel to say that a specific host:port:internal_host:port quad is accepted *and where the natted address is*
[04:55] <lifeless> then the rtp packets do not need to bounce via siproxd which will be faster
[04:55] <lifeless> tchau
[05:31] <mpt> Goooooooooooooooooooooood afternoon Launchpadders!
[05:31] <mpt> D'oh, I missed ddaa
[05:36] <stub> Is there a builtin way of flattening a structure like (a, b, (c, (d, e), f)) to (a, b, c, d, e, f) if I don't care about ordering of the final tuple/set/whatever i get back?
[05:38] <stub> mpt: launchpad_ftest_template in use should be a thing in the past now
[05:39] <mpt> stub, excellent
[05:39] <mpt> stub, in about how many hours is the rollout?
[05:39] <stub> mpt: Don't know - I haven't heard back from elmo or Znarl
[05:39] <stub> mpt: Probably around 10:00 UTC
[05:40] <stub> (is London UTC+1 now?)
[05:40] <mpt> no idea - that's why I ask in terms of hours :-)
[05:47] <Unfrgiven> hi all. im having problems with e-mail on launchpad. all e-mails to ankur.kotwal@ubuntu.com are bouncing back, returning unknown alias. i am an ubuntu member. can someone assist me with this?
[05:56] <stub> Unfrgiven: The only person who can help is elmo I'm afraid. If you are around on London time you can sort it via IRC, or email rt@admin.canonical.com to stick a request into his queue.
[06:04] <Unfrgiven> stub: ok cool. thanks for the info.
[07:18] <carthik> Is it okay to ask a "user" question. pardon me if it's not :) Why doesn't the following link seem to list the bugs oldest first, though it is supposed to? There seems to be no order wrt time: https://launchpad.net/distros/ubuntu/+bugs?advanced=1&field.searchtext=fixed&orderby=datecreated&field.status%3Alist=Needs+Info&field.status%3Alist=Fix+Committed&assignee_option=any&field.assignee=&field.owner=&field.component-empty-marker=1&field.omit_dup
[07:18] <carthik> es.used=&field.omit_dupes=on&field.has_patch.used=&field.has_no_package.used=&search=Search+bugs+in+Ubuntu&batch_start=75&batch_end=150
[07:19] <carthik> wow, that was longer than I thought. Let me make a shorter url. I'm really sorry.
[07:19] <carthik> http://shurl.org/dsRvn  Thanks in advance.
[07:20] <robotgeek> Unfrgiven: did you make it your main email?
[08:25] <mpt_> BjornT, ping
[08:27] <BjornT> mpt_: pong
[08:28] <mpt_> BjornT, when you said "remove [priority]  from IBugTask", does that mean removing it from just browser/bugtask.py, or also interfaces/bugtask.py?
[08:30] <mpt_> (sorry for the novice-level question)
[08:30] <BjornT> mpt_: i was thinking removing it from interfaces/bugtask.py. that way, if some code tries to access the attribute, a ForbiddenAttribute exception will be raised.
[08:31] <mpt_> ok
[08:44] <carlos> morning
[08:56] <sivang> morning all
[08:56] <mpt> BjornT, removing it from interfaces/bugtask.py causes an importfascist KeyError in database/bugtask.py
[08:57] <mpt> I guess that means removing it from database/ too
[09:02] <BjornT> mpt: IBugTask['priority'] .default can be removed and replaced with None.
[09:47] <mpt> ugh
[10:04] <lifeless> why don't source packages have specs ?
[10:13] <isaric> I a problem of impression with OOo.org on Dapper UBUNTU, is it necessary has to make in report/ratio of bug? http://forum.ubuntu-fr.org/viewtopic.php?id=34809
[10:17] <jamesh> isaric: could you rephrase that?
[10:19] <isaric> I am not on being able it, I test
[10:20] <isaric> Since I passed in UBUNTU Dapper, I cannot print with openoffice.org
[10:20] <dilys> Merge to devel/launchpad/: [trivial]  Added Dzongkha plural forms to our sample data (r3449: Carlos Perello Marin)
[10:21] <lifeless> BjornT: please remember to update the pending reviews wiki page when you do a review
[10:21] <jamesh> isaric: then it would make sense to report a bug
[10:21] <lifeless> it throws the stats out :)
[10:21] <lifeless> jamesh - same for you
[10:21] <jamesh> lifeless: I have
[10:21] <lifeless> yah
[10:22] <lifeless> I see that now, stats page is slow
[10:22] <lifeless> but you hadn't this morning :)
[10:22] <jamesh> true.
[10:23] <jamesh> I updated the statuses right after doing salgado's branch
[10:23] <lifeless> its ok
[10:23] <lifeless> water under the bridge now
[10:28] <BjornT> lifeless: right, sorry, forgot to do that for the last review.
[10:28] <mpt> carlos, that was quick handling of Dzonghka, now how about Tamazight? :-)
[10:28] <BjornT> lifeless: or did i? :) which branch?
[10:29] <jamesh> lifeless: I'm getting a machine to replace the firewall soon (a 2.8GHz Pentium D from Dell for about $500).  I'll get the siproxd stuff set up on that box so we can test things then
[10:29] <carlos> mpt: did we get a request for it?
[10:29] <carlos> I think I missed it, where?
[10:31] <mpt> carlos, bug 3954
[10:31] <Ubugtu> Malone bug 3954 in rosetta "Tamazight needs adding to Rosetta" [Normal,Confirmed]  http://launchpad.net/bugs/3954
[10:31] <lifeless> BjornT: I did it just now
[10:31] <lifeless> jamesh: FWIW siproxd on my P150 firewall works fine :)
[10:32] <BjornT> lifeless: ah, i saw that you changed it. the thing is that i reviewed it, but then matsubara found out that he needed to take a completely different approach, so he sent me a new diff and changed it to needs-review himself.
[10:32] <jamesh> lifeless: sure, but my current firewall machine needs a refresh (it is still running Fedora Core 2)
[10:32] <carlos> oh! I see...
[10:32] <mpt> carlos, judging by the last comment, the description isn't accurate, it's not quite the same as English
[10:32] <carlos> mpt: thanks for remembering me it
[10:32] <lifeless> BjornT: hmm.
[10:33] <mpt> oh, yes it is
[10:33] <jamesh> lifeless: if I'm going to do that, I'd prefer to experiment with things after the upgrade
[10:33] <jamesh> rather than having to do it all over again
[10:33] <mpt> they just have different wordings for "no chair" and "zero chairs", but then so does English
[10:33] <lifeless> I'd like 'needs a revisit' to show differently to 'needs its first look'
[10:33] <lifeless> jamesh: fair enough. Just saying is all ;)
[10:34] <lifeless> BjornT: what do you think? needs-review to me says very clearly 'never looked at'
[10:34] <jamesh> lifeless: Dell had some pretty good prices at the time -- $300 for a dual core 2.8GHz machine
[10:34] <lifeless> jamesh: thats seriously good
[10:34] <lifeless> jamesh: I was drooling over the alienware FX60 dream machine last week
[10:34] <jamesh> lifeless: I realise that I don't need something that good to get things working
[10:35] <jamesh> this is a tower case server machine though -- has no sound and on board 2D graphics, and can't take a modern 16-lane PCI-E graphics card
[10:36] <jamesh> i.e. designed to be difficult to set up as a desktop ...
[10:36] <lifeless> yeah
[10:36] <carlos> mpt: we don't even have that language in our database...
[10:36] <lifeless> I can see that
[10:36] <jamesh> of course, $300 for the parts isn't too bad either ...
[10:36] <BjornT> lifeless: in the current workflow, yes. i think he changed to needs-review since he wanted me to take a look at the whole diff again, so maybe he should have changed the date as well.
[10:37] <carlos> oh, we have it but with a different name
[10:37] <lifeless> BjornT: yeh. that would work for me
[10:37] <lifeless> jamesh: spiv what you think of that ?
[10:37] <BjornT> lifeless: i think the problem is that we have only after needs-review we have only needs-reply, in which state the review is until it's approved. maybe we should rename needs-reply to under-discussion or something like that?
[10:39] <lifeless> BjornT: depends what precise stats we want out
[10:39] <lifeless> I think needs-reply as under-discussion is a good compromise
[10:39] <lifeless> thought it does not put the onus on who has the next act
[10:40] <lifeless> which needs-review with an updated date does.
[10:41] <BjornT> we used to go from needs-reply to needs-review, but people often forgot to update the status, so they were often out of sync.
[10:45] <jamesh> lifeless: I'm not particularly attached to either needs-reply or under-discussion
[10:45] <jamesh> I can work with either
[10:49] <tortho> Good mornig, Anyone who can tell me how & when Launchpad/Rosetta is updating against the packages. The reason why i ask is that i saw the untranslated stings had increased quite much since yesterday, and also there are lots of the pink colors on the bars.
[10:54] <stub> lifeless: I've got a Zope3.2 migration branch to land rs=SteveA, which also involves updating the Zope branch and the SQLOS branch. I'll be building a branch on balleny in a tick to do a final test run.
[10:54] <carlos> tortho: that's usually done at the same time we import the .pot files
[10:54] <carlos> tortho: but there are some situations when we need to associate the .po files with the .pot files
[10:55] <carlos> tortho: could you point me to the entries where we lack translations?
[10:56] <tortho> OK, It's not that we lack any translations, it's only that there are packages that was editet almost a month ago, wich still has pink color, and that yesterday, the Norwegian Bokmaal translation had Approx 133000 untranslated, and today 135000 (If I remember correctly.
[10:57] <lifeless> stub: righto.
[10:57] <lifeless> stub: disable pqm via cron
[10:57] <carlos> tortho: we are importing KDE atm
[10:58] <lifeless> stub: then when the composite tree is ready and has passed both
[10:58] <lifeless> make check_merge
[10:58] <lifeless> and cd sourcecode && make check
[10:58] <carlos> tortho: as you could check the amount of already translated strings should increase too
[10:58] <lifeless> I will commit and push it for you
[10:59] <tortho> carlos: OK :-) more work.. I guess that one is increasing too... (Did only check the remaining ones...The ones that counts :-) BTW: arent the bars going to be green after the translation has been applyed...(since some of them are still pink and edited 1 month ago)
[10:59] <lifeless> back when I've got this drive installed
[10:59] <lifeless> tchau
[11:00] <carlos> tortho: the only way to get them green is that you submit your changes/additions to upstream and they apply them
[11:00] <tortho> carlos: OK, Thanks!
[11:19] <dilys> Merge to devel/launchpad/: [trivial]  Added Berber plural forms and linked as spoken on Morocco and Algeria to our sample data (r3450: Carlos Perello Marin)
[11:45] <carlos> is there any function on launchpad that, from any string gives you another string that follows the restrictions to be used as a 'valid_name' ?
[11:52] <stub> carlos: not that I'm aware of
[11:52] <carlos> ok
[11:52] <carlos> thanks
[11:54] <jamesh> carlos: I wrote my own for the bugzilla import
[11:54] <jamesh> re.sub(r'[^a-z0-9\+\.\-] ', '-', string)
[11:54] <carlos> jamesh: could we move it to a commom place? it would be really useful to create potemplatename rows automatically from the translation domain
[11:55] <carlos> jamesh: so it's not a function but an inline call...
[11:55] <jamesh> actually, re.sub(r'[^a-z0-9\+\.\-] ', '-', string.lower()) is what is used
[11:55] <jamesh> (for sanitising milestone names)
[11:55] <jamesh> yeah
[11:55] <OdyX> Hey guys. Found an error in english during translation (means, english text has an error): https://launchpad.net/distros/ubuntu/dapper/+source/kubuntu-docs/+pots/aboutkubuntu/fr/+translate <- N9: Documenation: misses a "t"
[11:56] <jamesh> OdyX: I'd suggest filing a bug against kubuntu-docs
[11:57] <OdyX> jamesh: OK. Will be done. Thanks
[12:08] <carlos> jamesh: I got it
[12:08] <carlos> I know I saw it 
[12:08] <OdyX> Done. Thanks
[12:09] <carlos> jamesh: helpers.getValidNameFromString
[12:09] <carlos> jamesh: I guess we should change it to use your solution as I think is more complete...
[12:11] <jamesh> carlos: that function looks like it only produces a valid name for certain bad input
[12:11] <carlos> right, that's why I'm going to update it with your code
[12:13] <jamesh> >>> from canonical.launchpad.helpers import getValidNameFromString
[12:13] <jamesh> >>> from canonical.launchpad.validators.name import valid_name
[12:13] <jamesh> >>> valid_name(getValidNameFromString('a$x5'))
[12:13] <jamesh> False
[12:14] <jamesh> carlos: my function also has a failure mode: it can result in a string that starts with a dash, which is invalid
[12:14] <carlos> jamesh: thank's for the test ;-)
[12:15] <jamesh> that could be fixed by prepending an 'x' if result[0]  == '-'
[12:15] <carlos> jamesh: right
[01:14] <Fenrir-> hello
[01:17] <mpt> Hmm, PQM appears to be stuck
[01:17] <mpt> I've been at the head of the queue for two hours
[01:19] <Fenrir-> any idea how long is shipping to .fi ?
[01:21] <mpt> Fenrir-, if you mean for Ubuntu CDs, it's 4~6 weeks according to http://www.ubuntu.com/support/faq
[01:23] <Fenrir-> mpt ye , i mean those
[02:04] <mithro> hi! how do I file a patch against a ubuntu package?
[02:06] <Kinnison> open a bug against the package and attach the patch to it?
[02:08] <mithro> i've never use launchpad before and am finding it a bit confusing
[02:08] <Kinnison> Have you got yourself a launchpad account?
[02:08] <tseng> do you have a specific question
[02:09] <mithro> gettingnow
[02:09] <tseng> it takes some poking around to find what you want, but it seems obvious when you are there
[02:09] <tseng> (usually)
[02:10] <mithro> click on "File a Bug on a Package"?
[02:15] <mithro> how do you attach patches to a bug?
[02:15] <Kinnison> there is 'add attachment' in the actions box
[02:20] <mithro> yeah found it the second after i asked
[02:23] <Kinnison> :-)
[02:32] <mithro> submitted to patch
[02:36] <mithro> s/to/two
[02:42] <mithro> now how long till they get processed :P
[02:55] <lifeless> stub: re zope 3.2 branch
[02:55] <lifeless> stub: it being unrelated means we lose our local change history record
[02:56] <lifeless> stub: and - folk downloading it will need to do more
[02:56] <lifeless> stub: so, I think we want to turn it into a patch in the first instance
[02:56] <stub> The local changes are no longer relevant if that makes a difference
[02:56] <stub> (except to archaeologists)
[02:56] <lifeless> all of them ? Testing support changes
[02:56] <lifeless> for instance
[02:57] <stub> Whole new test framework
[02:57] <lifeless> I'm aware of that :)
[02:57] <lifeless> but we have changes that may not be present in it yet
[02:58] <lifeless> and we either have to accept that these are lost - that we lose the features, or add them back in
[02:58] <stub> Did --story ever land? That is the only thing I'm aware of that we will lose, and it will need to be reimplemented anyway.
[02:58] <lifeless> its implemented with tests but it does not alter zope at all
[02:59] <lifeless> what about stop on first failure ?
[02:59] <stub> Some command line syntax changes that need to be documented on the wiki
[02:59] <stub> Hmm...
[02:59] <stub> For doctests? built in now.
[02:59] <lifeless> no, all tests.
[03:00] <lifeless> not stop-in-doctest-script, stop executing further tests at the end of a failing test.
[03:00] <lifeless> we want revno 22
[03:00] <lifeless> dont need 21
[03:00] <stub> Stop-on-first-test-failure will need to be reimplemented
[03:00] <lifeless> I presume 19 is unneeded
[03:01] <stub> What are you looking at?
[03:01] <lifeless> if the new test stuff is still vaguely pyunit compatible (it better be!) then reimplementation should be called 'merge'
[03:01] <lifeless> log of our branch
[03:01] <lifeless> 18 I presume is also unneeded
[03:01] <lifeless> what about the whrandom stuff ?
[03:02] <stub> whrandom is fixed upstream
[03:02] <lifeless> k
[03:02] <lifeless> ok
[03:02] <stub> I would be extremely surprised if any of the old patches still apply anyway
[03:04] <stub> whrandom usage is all fixed in 3.2
[03:04] <lifeless> ok
[03:04] <lifeless> I'm turning this into a patch, please dont use or alter the zope dir for a bit
[03:05] <lifeless> (the patch change is to make it easier for our devs to update to this)
[03:17] <lifeless> holy cow
[03:17] <lifeless> theres an entire copy of twisted in here ?
[03:18] <sladen> kiko-zzz: could you debug bug #29767 when you wake up if you get a chance
[03:18] <Ubugtu> Malone bug 29767 in linux-source-2.6.15 "IBM Thinkpad X41 suspend to disk unsatisfactory regression" [Normal,Confirmed]  http://launchpad.net/bugs/29767
[03:29] <zorglub> is it possible to remove a branch ?
[03:29] <zorglub> I made some crap and registered a series with an upstream SVN as a branch
[03:29] <lifeless> stub: ping
[03:30] <stub> lifeless: pong
[03:30] <stub> yup - twisted
[03:31] <ddaa> sick and twisted?
[03:31] <stub> Unfortunately not a version we can use for our other stuff :-(
[03:32] <stub> We are about 18 months out of sync with upstream - lots of changes
[03:32] <ddaa> zorglub: nope cannot delete
[03:33] <zorglub> k
[03:33] <ddaa> stub, lifeless: what is the proper way of dispose of those dud branches ATM?
[03:34] <ddaa> quite a few of them around, I'm willing to put in a trivial patch to make easier to garden, but I dunno what is the actual recommended gardening operation
[03:34] <stub> I probably have to delete them manually until an interface gets written to do it. 
[03:34] <zorglub> TRUNCATE TABLE :)
[03:35] <ddaa> deleting branches is dangerous stuff, since they are associated to on-disk data
[03:35] <lifeless> stub: zopeskel
[03:35] <lifeless> whats it for ?
[03:35] <lifeless> we are ignoring it which means it will be imported
[03:35] <lifeless> stub: having two copies of zope - wont that fuck things ?
[03:36] <ddaa> zorglub: what is the launchpad page of the faulty branch?
[03:36] <zorglub> https://launchpad.net/people/zorglub/+branch/manager/devel
[03:42] <ddaa> stub: delete from Branch where id=1117;
[03:42] <stub> lifeless: I'm not sure what it is for.
[03:43] <stub> zopeskel sounds like stuff generated by the build step
[03:45] <stub> Hmm... looks like the template used for creating a Z3 instance, which we don't do (we just run inplace)
[03:45] <lifeless> should we version it or not ?
[03:46] <stub> Sure - it is part of the Zope tree, and stuff may depend on it being there.
[03:46] <stub> It isn't generated - it is in the upstream SVN repository
[03:47] <stub> ddaa: I should run that now?
[03:48] <ddaa> yup
[03:48] <ddaa> this kind of dud branch can be safely removed without second thought
[03:48] <stub> ddaa: Gone
[03:49] <ddaa> if there's any revision history or bug associated with it, you'd get a foreign key error.
[03:49] <ddaa> zorglub: et voil
[03:51] <zorglub> ok, thx
[03:54] <ddaa> mpt: ping
[04:10] <lifeless> stub: ok, we have a new tree
[04:11] <stub> eh?
[04:12] <sabdfl> stub: are you happy with the add-series-drivers patch?
[04:13] <sabdfl> stub: am stepping afk for a while, will you mail me if you have any issues? am aiming to land asap
[04:13] <sabdfl> thanks
[04:13] <stub> sabdfl: I haven't looked at it yet
[04:14] <stub> sabdfl: ok
[04:14] <sabdfl> thanks
[04:14] <sabdfl> kiko-zzz: unzzz...
[04:16] <lifeless> stub: we have a tree based on the previous, so 'pull' will work
[04:16] <lifeless> stub: but with your content
[04:16] <stub> ok
[04:17] <stub> is it still rocketfuel/zope/3.0/test ? bzr log doesn't show any changes
[04:18] <lifeless> not yet
[04:18] <lifeless> tests/launchpad/sourcecode/zop
[04:18] <lifeless> e
[04:22] <lifeless> ready to flick the switch on this ?
[04:22] <lifeless> have we done all the production updates we need to for a day or two to let this bed in ?
[04:26] <stub> lifeless: I've already tagged production release before this
[04:26] <stub> lifeless: I think we should flip the switch
[04:26] <lifeless> ok
[04:26] <lifeless> should we change the zope branch
[04:26] <lifeless> i.e. put this in zope/3.2
[04:26] <lifeless> rather than zope/3.0/testing
[04:26] <lifeless> we'll obviously need to update the config
[04:26] <lifeless> configs
[04:27] <lifeless> but this lets us leave the production config pointing at 3.0 until we do a prod rollout with this branch
[04:27] <stub> People are manually entering the pull's rather than using config manager at the moment
[04:27] <stub> I haven't built the production tree yet, so that would be good ;)
[04:28] <lifeless> ddaa: config_manager.UrlMapper
[04:28] <stub> ddaa: Do you also hack it so the tree doesn't need to live in a directory called 'launchpad' ?
[04:29] <ddaa> stub: nope
[04:29] <ddaa> lifeless: good to know the functionality is there, but CM is something that I'm mostly interested into getting out the way when I want to build a production tree.
[04:30] <ddaa> and when I do not want to build a production tree, I just do not need it
[04:30] <lifeless> sure
[04:30] <ddaa> I just hope nested trees support in bzr will be implemented soon
[04:30] <lifeless> not for a year or so
[04:30] <ddaa> *sigh*
[04:31] <lifeless> I have not had time to implement the prerequisite specs and the beta for dapper needs to lock down in 4 days
[04:31] <ddaa> I certainly do not mean for 0.8
[04:31] <lifeless> so with data format stability, you'll need to wait for a new default format before launchpad changes
[04:31] <lifeless> which is ~ one year out
[04:33] <lifeless> ok rf/zope/3.2 exists
[04:33] <lifeless> you'll need to update that configs before anything notices that
[04:34] <lifeless> care to sqlos updated
[04:34] <salgado> lifeless, how do I reconcile one of my branches?
[04:34] <lifeless> carefully
[04:34] <stub> that last in english?
[04:34] <lifeless> meh
[04:35] <lifeless> stub: can you edit configs and send in a merge for that ?
[04:35] <stub> Sure
[04:35] <lifeless> salgado: ECYCLES. ask in #bzr please or I'll lose the plot here and we'll be fucked
[04:37] <stub> lifeless: pushed. There is already a pqm request for my configs branch to land (production 1.58 config)
[04:38] <lifeless> thanks
[04:39] <lifeless> stub: you said 'zope/3.2' rather than 'zope/3.0/tests' right ?
[04:39] <stub> Yes
[04:39] <lifeless> ok
[04:39] <lifeless> main branch is merging at the moment
[04:39] <lifeless> I'm going to 
[04:39] <lifeless> - commit that
[04:39] <lifeless> move your patch to the front of the queue
[04:39] <lifeless> enable pqm
[04:39] <lifeless> watch the fireworks 
[04:40] <stub> yay
[04:41] <stub> I guess I should document specifying the layer of your tests as that will bite people. Other that than I'm hoping things will be fairly smooth.
[04:41] <lifeless> we need to document that:
[04:42] <lifeless> if people are pulling from chinstrap by hand they need the new location of zope
[04:42] <lifeless> that stop early has been removed and we'd like it reimplemented
[04:44] <lifeless> stub: so there were three deletes and that was all ?
[04:45] <lifeless> ~never mind I was on crack
[04:45] <lifeless> or was I. this is too late for me.
[04:46] <lifeless> ok
[04:46] <lifeless> lp is done
[04:47] <lifeless> lets see what happens
[04:51] <stub> sqlos too?
[04:52] <lifeless> done
[04:56] <lifeless> meh, I forgot.
[04:56] <lifeless> I fixed the queue ordering a while back
[04:56] <lifeless> grumble
[04:56] <lifeless> your patch will be along soon
[04:56] <lifeless> have you removed pytz from the config
[04:56] <lifeless> ?
[04:57] <lifeless> and the symlink in lib ?
[04:57] <stub> oops... pytz
[04:57] <stub> symlink is gone thuogh
[04:57] <lifeless> what else
[04:57] <lifeless> this twisted thing worries me
[04:57] <lifeless> we have apps that import twisted and zope. how do they get the twisted they need without breaking zope ?
[04:57] <stub> size, or what in particular?
[04:58] <lifeless> two copies of different code in the same namespace
[04:59] <stub> It may be a problem when we try to get Zope using twisted (it is still using the old code - twisted is optional in 3.2)
[04:59] <spiv> lifeless: The version in sourcecode ought to be fine for Zope 3.2 and our stuff, I think.
[04:59] <stub> So we can deal with it then. Hopefully by standardizing on a twisted release.
[05:00] <lifeless> ok
[05:00] <lifeless> can we make sure the version in sourcecode is first on the path ?
[05:00] <stub> Z3 upstream is componentizing stuff too, so it will hopefully disappear from upstream SVN
[05:00] <lifeless> or better yet, just delete :)
[05:01] <stub> It is the only version in the path - sourcecode/zope/src/twisted is not linked anywhere accessible
[05:01] <lifeless> ok. phew.
[05:05] <BjornT> lifeless, stub: my pqm merge failed since pytz couldn't be imported. is that a known problem?
[05:05] <stub> BjornT: Your branch was an innocent bystander. Please resubmit it.
[05:06] <BjornT> ok
[05:07] <salgado> stub, what about the one that's being processed right now?
[05:08] <lifeless> it will fail
[05:08] <stub> salgado: It will fail too. They will all fail until my config changes land.
[05:08] <lifeless> please watch this channel
[05:08] <lifeless> if we go 'woo its done' then resubmit
[05:09] <lifeless> same for you bjornt
[05:09] <salgado> okay
[05:09] <lifeless> we will want a test branch up
[05:09] <lifeless> which looks to be the mirror-management branch
[05:10] <BjornT> okay, i already resubmitted it though, since stub said that i should.
[05:11] <lifeless> stub: did you get a confirmation mail ?
[05:15] <stub> Ahh bite me. Conflicts.
[05:15] <ddaa> okay, new rule: do not hyperlink bzr branch urls in Launchpad
[05:15] <ddaa> that will make it harder for people to go to a place where there's nothing to see
[05:22] <sabdfl> hey lunchpadders
[05:25] <stub> lifeless: success
[05:27] <kiko> hello sabdfl 
[05:27] <kiko> you have mail (shortly)
[05:27] <ddaa> phew
[05:28] <ddaa> just posted bazaar-ui for review
[05:28] <sabdfl> kiko!
[05:28] <sabdfl> ddaa: that's great news, did you find a solution to the URL question?
[05:28] <lifeless> stub: ok. trees are ready for it
[05:29] <lifeless> BjornT: can you resubmit please
[05:29] <ddaa> sabdfl: did not dig much. Made it class=lesser, with a layout that allows it to wrap into taking the full width of the column.
[05:30] <ddaa> sabdfl: I think it would be nice to make this page two-columns, that would help displaying the recent history table.
[05:31] <ddaa> well, and that would also help the URL problem, there's really no good solution to it. The URLs must be displayed in full text and not hyperlinked. Hyperlinking to a non-browsable resource is asking for people to complain.
[05:32] <BjornT> lifeless: sure
[05:35] <sabdfl> ddaa: the url can streth beyond two columns anyway
[05:36] <kiko> sabdfl, sent.
[05:36] <ddaa> sabdfl: these urls are meant to be typed by users in a terminal, if they get too long, the user should probably take steps to fix them.
[05:37] <ddaa> but the two columns layout really help mitigate any problem, if they are too long, they just run past the right edge. I am convinced we cannot do any better.
[05:38] <ddaa> Really, I do not like it much, but any other solution is just asking for people to report bugs.
[05:39] <ddaa> "clicked on the link, but there was nothing to see"
[05:39] <sabdfl> kiko-fud: thanks for being tolerant of the nuclear option here ;-)
[05:39] <ddaa> "where is the branch URL displayed?"
[05:39] <ddaa> "where is the supermirror URL display"
[05:39] <kiko-fud> sabdfl, what "nuclear" option?!
[05:39] <stub> sabdfl: That db patch looks fine once you move the comments to comments.sql. patch-40-48-0.sql
[05:40] <lifeless> stub: its looking good
[05:40] <ddaa> "copy pasted url to bzr, but it did not work" (because of invisible chars to allow line wrapping)
[05:43] <sabdfl> kiko-fud: the huge patch. i agree, splitting is better, but then it takes more time, and i'm afraid there's a limit to the time i can devote to this
[05:43] <kiko-fud> I know
[05:44] <kiko-fud> but I chide you anyway :)
[05:44] <sabdfl> i want to make a few changes to rosetta that will be relatively contained, and then i have to write that support-providers-tracker
[05:44] <kiko-fud> yeah
[05:44] <kiko-fud> let me have lunch my eyeballs are rolling
[05:44] <sabdfl> stub: thanks
[05:44] <lifeless> ddaa: is that patch one that needs mpt to do ?
[05:44] <lifeless> ddaa: or is it any reviewer ?
[05:44] <kiko-fud> stub, did we roll out? email on revision level if so please :)
[05:45] <ddaa> lifeless: Any reviewer will do, but it would be nice for mpt to have a look.
[05:45] <stub> kiko-fud: Just finishing the Z3.2 patch push. I want to put off the production update until tomorrow unless you are going to cry - it is getting late and elmo and Znarl can't make use of the downtime window today.
[05:45] <kiko-fud> stub, that's fine.
[05:45] <kiko-fud> DO IT
[05:46] <lifeless> ddaa: if you want mpt to review things, you gotta put it in the ui queue on the pending reviews
[05:46] <lifeless> page
[05:46] <stub> kiko-fud: I've already tagged the branch - r3438 as discussed
[05:46] <lifeless> ddaa: can you please do that, and also put it in spivs queue for review tomorrow
[05:46] <kiko-fud> stub, perfect. appreciated.
[05:48] <ddaa> lifeless: done
[05:48] <ddaa> now, lunch!
[05:48] <lifeless> ddaa: thanks
[05:55] <sabdfl> kiko-fud: i deliberately did not try to pre-factor all the .specifications() methods to a common codebase, because i wanted to see how much variation there is
[05:55] <sabdfl> now that it's done, i can go back later and consolidate, and it should all fall out quite neatly
[05:56] <sabdfl> will add doctests for them in the interim, which will be useful during the refactoring
[06:02] <stub> BjornT: Your landing fail due to conflicts, broken tests, or something we need to worry about?
[06:04] <lifeless> test failures
[06:04] <lifeless> question is - 3.2 related or not
[06:05] <BjornT> stub: broken tests, it seems to be pytz related. i'll forward you and lifeless the failure email.
[06:06] <kiko-fud> thanks sabdfl 
[06:06] <seb128> hi
[06:06] <kiko-fud> (but use email to reply :)
[06:06] <seb128> carlos: around? :)
[06:06] <kiko> hello seb128 
[06:06] <ddaa> hi seb128
[06:06] <carlos> seb128: hi
[06:06] <seb128> hey kiko
[06:06] <ddaa> seb128: monday is a day off
[06:06] <seb128> friday too for me ;)
[06:07] <ddaa> right, alsacian thing?
[06:07] <seb128> alsace-moselle yep
[06:08] <lifeless> stub: I think its down to fine tuning
[06:08] <lifeless> stub: if you need me to roll it all back, SMS me, I'll have the phone nearby
[06:09] <lifeless> but its 2am now
[06:09] <stub> ok
[06:09] <seb128> carlos: what about locking a po edition when somebody starts working on it, and send a diff of his changes somewhere when he has done his changes on it
[06:09] <seb128> carlos: what do you think about the idea? Would it be easy to implement? :)
[06:09] <seb128> carlos: I think it would make quality control much easier and make that people don't conflict which is good too
[06:11] <carlos> seb128: we already talk about that sometime ago
[06:11] <carlos> to implement a kind of wiki lock
[06:11] <seb128> we, like me and you?
[06:11] <seb128> if that's the case I don't remember it :)
[06:11] <carlos> seb128: no, we as the launchpad/rosetta team
[06:11] <seb128> ah
[06:12] <seb128> and did you decide that was a good idea?
[06:12] <seb128> the "mail the diff" to a list would be really really useful
[06:12] <carlos> I thought we had a spec on it already (braindump) but I don't see it so I don't think we wrote down any idea
[06:12] <lifeless> stub: gnight then
[06:12] <seb128> it would be easy to do probably
[06:12] <carlos> seb128: the diff part is new, the lock concept is not
[06:12] <seb128> and makes possible to control who do good or not translations with rosetta
[06:13] <seb128> I just had the idea yesterday after reading the mail from rosetta-users list forwarded to the l10n-fr list
[06:13] <seb128> or maybe today :p
[06:13] <carlos> seb128: I need to take sometime to answer that thread as it raises some interesting points
[06:13] <carlos> about the diff thing, how are you going to approve/reject the changes?
[06:13] <seb128> that would make easy for people to comment on what is changed dynamically
[06:13] <seb128> and know who does what
[06:13] <seb128> I didn't read that
[06:14] <seb128> I'm not on rosetta-users list
[06:14] <seb128> I'll go and read it
[06:14] <seb128> just a french guy forwarded it to the french list to discuss how we should work to get better quality
[06:15] <seb128> and having that lock with a mail of the diff when you unlock looks very good to me :)
[06:15] <seb128> it allows other people to spot wrong changes and to know who does good or bad work
[06:15] <seb128> and to takes measures when somebody does wrongly
[06:15] <seb128> like put him on probation and fix what he did
[06:16] <seb128> it makes proofreading easy too if you send those diff on a list, subscriber can have a second look of what just changed and spot errors or comments if required
[06:16] <carlos> seb128: I see that point
[06:16] <carlos> but I still have the question about how to integrate the changes if you accept them
[06:17] <seb128> you don't have to accept them
[06:17] <carlos> will it be an 'accept all or nothing?'
[06:17] <seb128> the guy does the changes
[06:17] <seb128> if somebody spot they are wrong he goes to fix them on rosetta
[06:17] <seb128> and the guy translator status can be put on hold
[06:17] <carlos> oh, so you mean to do exactly the same thing we have atm
[06:17] <carlos> but additionally, provide that diff output?
[06:17] <seb128> yep
[06:17] <seb128> send the diff on a list
[06:18] <seb128> so we know who change what immediatly
[06:18] <carlos> that's easy to implement, we already talked about a diff like output
[06:18] <seb128> and we can spot bad translators directly
[06:18] <carlos> is not exactly that, but is quite similar
[06:18] <seb128> and help them to improve
[06:18] <seb128> fix errors, etc
[06:18] <seb128> cool
[06:19] <seb128> should I open a bug, do a spec, or what...? :)
[06:19] <carlos> seb128: I think the right procedure would be do a spec
[06:19] <stub> lifeless: You still there? There are a number of zero byte __init__.py files in zope/src/pytz/zoneinfo and below that are not in the rocketfuel/zope/3.2 branch
[06:19] <kiko> bradb, bug 39118 is a dupe of a bug of yours
[06:19] <Ubugtu> Malone bug 39118 in malone "bugs by category links do not all work" [Normal,Unconfirmed]  http://launchpad.net/bugs/39118
[06:19] <seb128> is that likely to be implemented soon if you like the idea? ;)
[06:20] <seb128> we could really use a way to know who does what
[06:20] <carlos> seb128: well, we have a priority problem here
[06:20] <carlos> I think I just reached a point where I need to talk with kiko
[06:20] <carlos> and prioritize my tasks
[06:20] <kiko> carlos, but not now, give me 30m :)
[06:21] <carlos> they are exploding
[06:21] <seb128> carlos: what is top priority on your list after having dapper imported and ready to translate?
[06:21] <carlos> kiko: not sure we should talk about this just before leaving for holidays... I think is better if we have a meeting about it next Tuesday....
[06:22] <carlos> seb128: finish PoMsgSetPage implementation (improves the way you can review translations)
[06:22] <carlos> seb128: and generate firefox .po files
[06:23] <seb128> k, so that diff stuff is not for know
[06:23] <seb128> I understand you are busy, not easy
[06:23] <kiko> right
[06:23] <seb128> keep the good job :)
[06:24] <carlos> seb128: yeah, I have a lot of things to do, it's just a matter of start with the most important ones
[06:24] <carlos> seb128: thanks
[06:24] <salgado> BjornT, around?
[06:25] <BjornT> salgado: yeah
[06:26] <salgado> BjornT, is it not advisable to have a view which inherits from both AddView and LaunchpadView?
[06:26] <salgado> (I'm trying to do that and am having some problems)
[06:28] <elmo> bzr: ERROR: exceptions.OSError: [Errno 12]  Cannot allocate memory
[06:28] <elmo> *sigh*
[06:28] <BjornT> salgado: no, it causes some problems. we'll probably make AddView a LaunchpadView later though.
[06:28] <kiko> elmo, you need 1gig, or swap
[06:29] <stub> BjornT: Please resubmit that merge
[06:29] <BjornT> ok
[06:30] <elmo> kiko: that's insane
[06:30] <kiko> you merge-killers
[06:45] <salgado> BjornT, do you have time for another one? ;)
[06:45] <salgado> (another quick question)
[06:45] <BjornT> salgado: sure
[06:45] <carlos> did zope 3.2 land into rocketfuel?
[06:46] <salgado> BjornT, I'm doing a response.redirect(canonical_url(self.context)) on a view's render() method
[06:46] <salgado> and that's giving me a NoCanonicalUrl: No url for <LoginToken at 0x-4a5b70f4> because <LoginToken at 0x-4a5b70f4> broke the chain.
[06:47] <kiko> stub, stop breaking my merges!
[06:48] <salgado> BjornT, I guess I understand why the publisher is raising that, but I don't think it's correct in this case, because the URL for the view that I'm in is not the same as canonical_url(self.context)
[06:50] <BjornT> salgado: i'm not quite sure i'm following, isn't the problem simply that there's no canonical url defined for ILoginToken?
[06:51] <salgado> omg. I got it completely wrong. I was sure there was a canonical url defined for ILoginToken
[06:54] <salgado> there was one for ILoginTokenSet but not for ILoginToken. :-(
[06:57] <dilys> Merge to devel/launchpad/: [trivial]  fix bug 38020, make sure the description isn't duplicated when sending bug notification to new bug contacts subscribed to a bug. (r3452: Bjorn Tillenius)
[06:59] <sabdfl> stub: did you give me a db patch number for that baby?
[06:59] <sabdfl> 48 - got it
[07:01] <mdz> bradb: https://launchpad.net/distros/ubuntu/+source/ltsp/+bugs has an "all bugs ever reported (13)" link, but clicking on it shows only the same 5 bugs
[07:02] <mdz> bradb: same for other packages, it seems
[07:08] <stub> Yay. Z3.2 branch is usable.
[07:08] <bradb> mdz: Yeah, this is bug 33882.
[07:08] <Ubugtu> Malone bug 33882 in malone "Critical bugs are listed as 8 in the side bar, but there actually aren't any" [Normal,Confirmed]  http://launchpad.net/bugs/33882
[07:09] <bradb> kiko: maybe this bug should be high priority for matsubara? it's pretty annoying, in any case.
[07:10] <stub> Emails have been sent to launchpad@ mailing list explaining what people need to update and detailing some changes to the test runner.
[07:11] <mdz> bradb: that bug seems to indicate that the behaviour is intended and only the number is wrong
[07:11] <mdz> bradb: so how do I get a list of all bugs ever reported (including closed bugs)?
[07:12] <mdz> oh, I see in the final comment.  I agree with jamesh
[07:12] <bradb> mdz: A hack workaround for now is to use the Advanced Search, e.g., https://launchpad.net/distros/ubuntu/+source/ltsp/+bugs?advanced=1&field.searchtext=&search=Search+bugs+in+ltsp+in+ubuntu&orderby=-priority%2C-severity&field.status%3Alist=Unconfirmed&field.status%3Alist=Needs+Info&field.status%3Alist=Rejected&field.status%3Alist=Confirmed&field.status%3Alist=In+Progress&field.status%3Alist=Fix+Committed&field.status%3Alist=Fix+Rel
[07:12] <bradb> holy #&@t
[07:25] <carlos> stub: https://chinstrap.ubuntu.com/~dsilvers/paste/filetFpYge.html
[07:25] <carlos> stub: It's a new branch 
[07:27] <stub> carlos: How did you create the branch?
[07:27] <carlos> rocketfuel-get
[07:27] <carlos> and cp -a 
[07:27] <stub> What is rocketfuel-get?
[07:28] <carlos> stub: a script that I think jblack wrote and that it's in our wiki
[07:28] <stub> What does it do?
[07:28] <carlos> to fetch rocketfuel-built tree from chinstrap
[07:29] <carlos> stub: https://wiki.launchpad.canonical.com/RocketFuelSetup <- You have that script there
[07:30] <stub> carlos: looks like it rsyncs rocketfuel-built/launchpad from chinstrap
[07:31] <carlos> yeah, that's the idea
[07:31] <stub> carlos: The tree looks broken at the moment - I'll force an update that should fix it.
[07:31] <carlos> stub: I don't see your zope3.2 changes at arch-commits mailing list
[07:31] <carlos> stub: are you sure you got your patch accepted?
[07:32] <stub> It was landed directly - not via pqm
[07:32] <stub> Oh... its rebuilding itself right now anyway
[07:32] <carlos> ok
[07:40] <stub> carlos: done
[07:46] <carlos> stub: cool, thanks
[07:48] <dilys> Merge to devel/launchpad/: [trivial]  Change package searching to use consistent page layout throughout (r3453: kiko)
[08:25] <kiko> yay
[08:25] <kiko> carlos, so we have a new zope in da house?
[08:25] <carlos> kiko: yeah
[08:25] <kiko> does it rock? does it roll?
[08:26] <carlos> working on my code changes... hadn't time to play with it :-P
[08:26] <kiko> am I brave enough to update my tree?
[08:27] <carlos> kiko: I'm working on a new tree
[08:27] <carlos> not sure if the update is 100% without pain
[08:27] <kiko> I love pain
[08:29] <jordi> mdke: hey, this is a cool thread you've started
[08:30] <kiko> mdke is a sharp dude
[08:30] <kiko> sharper than most
[08:30] <jordi> kiko: dude
[08:30] <dilys> Merge to devel/launchpad/: Fix https://launchpad.net/products/malone/+bug/39012 (Report a bug in a non reported context using Also Needs Fixing Here button causes an OOPS) r=kiko (r3454: Diogo Matsubara)
[08:30] <kiko> bug 3942
[08:30] <Ubugtu> Malone bug 3942 in launchpad "Present search results instead of NotFound pages" [Wishlist,Unconfirmed]  http://launchpad.net/bugs/3942
[08:31] <carlos> mdke, jordi: I will answer too, just need some time to prepare my answer, but yes, mdke, thanks for your email
[08:31] <jordi> hmm, no stevea
[08:34] <carlos> jordi: he's on vacation
[08:35] <kiko> but I am here and I am worth 3/5ths of a stevea
[08:35] <jordi> oh
[08:35] <carlos> :-D
[08:35] <jordi> kiko: but I need the STEVEA
[08:35] <kiko> you need 5/5ths? wow
[08:36] <jordi> kiko: his brain stores some s3kr1t discussion I had with him a few weeks ago
[08:36] <jordi> in London
[09:15] <mdke> jordi, carlos, thanks
[09:15] <mdke> kiko, thanks too
[09:17] <dilys> Merge to devel/launchpad/: r=salgado, Add package test set for soyuz and initial test for the quick patch I made a while ago (r3455: Daniel Silverstone)
[09:28] <kiko> bradb, all quiet today?
[09:32] <bradb> kiko: just got back from the accountant
[09:32] <kiko> ah, I see
[09:32] <kiko> tax month
[09:32] <kiko> for me too
[09:52] <spacey> whats a bounty subscriber?
[09:52] <spacey> if you just want to get the latest comments
[09:52] <spacey> or does it directly mean you want to do the job (which i don't want to)
[09:53] <spacey> its not really clear to me
[10:00] <kiko> it is somebody who is going to be annoyed by the fact that bounties are only half-implemented ;)
[10:07] <spacey> kiko: hehe
[10:07] <kiko> spacey, at least I'm honest 
[10:08] <spacey> yeah thats great
[10:08] <spacey> i just wanted to follow the discussion on a bounty
[10:08] <kiko> there's been talk of working on it again, but right now they are a bit of a black hole
[10:08] <spacey> but i don't want to take some accidental reponsibility
[10:08] <kiko> that probably wouldn't be the case
[10:09] <spacey> ok
[10:09] <spacey> seems there is some spam on the bounty page as well
[10:10] <sabdfl> kiko: thanks for the review, response on its way. have address most of the nits, will add some tests, but am not going to refactor in this round
[10:10] <sabdfl> i planned to do it in two stages
[10:11] <kiko> does this second stage have a date?
[10:11] <sabdfl> once to cargo cult and figure out all the different kinds of filtering and sorting
[10:11] <kiko> or an assignee? ;-)
[10:11] <sabdfl> then to refactor
[10:11] <sabdfl> well
[10:11] <sabdfl> do you know anybody else who loves the spec tracker as much as me?
[10:11] <sabdfl> remember, i want to get that right so it can be a pattern that is reused elsewhere
[10:11] <kiko> low blow. okay, I can do it.
[10:11] <sabdfl> no, not you
[10:11] <sabdfl> i'll do it, but it will have to wait
[10:13] <kiko> well, we'll see how it goes
[10:13] <kiko> if it ends up being something which generates maintenence it will end up being refactored 
[10:23] <kiko> BjornT, comment on bug 34105?
[10:23] <Ubugtu> Malone bug 34105 in malone "Strip leading and trailing whitespace before storing a bug watch's remotebug in the db" [Normal,In progress]  http://launchpad.net/bugs/34105
[10:27] <BjornT> kiko: hmm, i thought i already commented on that one, maybe it was a reply to a mailing list post. i'll add a comment.
[10:27] <matsubara> kiko: I started to fix that in the sprint. I have a branch with halfway the fix in it.
[10:27] <kiko> thanks
[10:27] <kiko> ah, cool
[10:30] <kiko> sabdfl, note that tal:define does /not/ work
[10:31] <kiko> sabdfl, you can't use that to avoid reselecting -- it will happen anyway. the only thing you can do is listifying.
[10:37] <sabdfl> kiko: the flush_database_updates thing
[10:37] <sabdfl> in some places, i need to get direct access to the SQLResult
[10:37] <sabdfl> because I need to bang its query again
[10:37] <kiko> in the view code?!
[10:37] <sabdfl> yes
[10:37] <kiko> oh that is gross
[10:37] <kiko> but wait
[10:38] <sabdfl> me too, i tried a number of alternatives
[10:38] <kiko> I see.
[10:38] <sabdfl> i could go back in there and try again with more sleep next time around
[10:38] <sabdfl> but not this time
[10:38] <kiko> you'll add performance problems that I fixed
[10:38] <kiko> I guess I'll just fix them again
[10:38] <sabdfl> this is where the view code is explicitly modifying the list
[10:39] <kiko> yeah, I see what you mean.
[10:39] <sabdfl> so, where we are approving specs to be targeted to a list
[10:39] <kiko> I think you can avoid using the same API
[10:39] <sabdfl> series/distrorelease
[10:39] <sabdfl> i want to detect when we have approved/declined all of them, at that point redirect away from that page
[10:39] <kiko> avoid using the API in those two places
[10:39] <sabdfl> so you get a nice effect
[10:39] <sabdfl> you approve, decline, approve, using the multiple selector
[10:40] <sabdfl> and the moment you have done them all, you redirect to the main page
[10:40] <sabdfl> listing the approved specs
[10:40] <sabdfl> to do that, i need to be able to flush updates, and try the query again
[10:40] <sabdfl> now, i could do that in the db code
[10:40] <sabdfl> which would in fact be cleaner, you are right
[10:40] <sabdfl> ISpecificationGoal.approveSpecs(user, speclist)
[10:40] <sabdfl>   => return the number of specs still proposed
[10:41] <sabdfl> when that's zero, redirect
[10:41] <sabdfl> this would at least contain the db flushing inside the chinese wall
[10:41] <kiko> well, you still need to preserve the filter if you are... oh, if that's all that needs to be done, then yes.
[10:41] <kiko> right, reusing specs() for that is evil.
[10:49] <bradb> kiko: going through some bugmail while bzr'ing. maybe bug 2796 should be a priority?
[10:49] <Ubugtu> Malone bug 2796 in malone "Remove constraint on marking duplicates of duplicates" [Normal,Confirmed]  http://launchpad.net/bugs/2796
[10:49] <kiko> bradb, not yet -- when we have the current priorities sorted
[10:50] <bradb> ok
[10:58] <dilys> Merge to devel/launchpad/: [trivial]  Fix https://launchpad.net/products/launchpad/+bug/38256 (Mirror prober doesn't know how to generate the filename for binary packages whose version starts with <some-number>:) (r3456: Guilherme Salgado)
[11:26] <carlos> fuck
[11:27] <carlos> tests are failing due I'm not using english locale....
[11:27] <carlos> grrrr
[11:32] <dilys> Merge to devel/launchpad/: [trivial]  Fix for bug 39060: Sorting should be done in numerical order for numerical columns. This already half-worked, but unfortunately ts_innerText() may return strings that contain leading or trailing whitespace and the match algorithm we use didn't take that into account; now it does. (r3457: kiko)
[11:41] <kiko> yay yay yay