[12:47] <hub> hi
[12:48] <hub> how long does it take to have a new package in universe to be valid on launchpad
[12:48] <hub> I'm trying to import an upstream source and launchpad complain about the invalid source package :-(
[01:30] <zygis> just out of curiosity, hub, what are you trying to import?
[01:31] <hub> zygis: enblend. but it works now
[01:31] <hub> :-)
[01:34] <zygis> cool
[01:38] <hub> the package has been upload today from REVU
[08:35] <SteveA_> jamesh: hello.
[08:36] <jamesh> hi SteveA
[08:48] <SteveA_> i do with nickserv would msg you in this circumstance
[08:48] <SteveA_> and tell you
[08:48] <SteveA_> i've asked the freenode admins about this, but they seemed to be strangely uninterested in actually listening to the idea
[08:50] <jamesh> you should be able to message me now
[08:51] <SteveA_> i just registered ;-)
[08:51] <jamesh> I just turned the "unfiltered" option on
[08:51] <SteveA_> i did that, and got 3-4 msg spams a day
[08:51] <SteveA_> i considered turning it back off, but haven't yet
[08:53] <jamesh> I don't think I've received spam messages on freenode before
[09:02] <SteveA_> good morning carlos
[09:02] <carlos_> morning
[09:05] <SteveA_> hi david
[09:12] <sabdfl> morning all
[09:13] <ajmitch> hi sabdfl 
[09:15] <SteveA_> morning
[09:21] <jamesh> sabdfl: the "edit hackergotchi" form you added has its permissions set to launchpad.Admin.  Should that be launchpad.Edit instead?
[09:23] <sivang> Morning all
[09:25] <stub> yo
[09:29] <stub> jamesh: yes. People need to be able to create and edit their own hackergotchi (there was an email on this which I can't locate)
[09:29] <stub> jamesh: Did the GPG web-o-trust stuff land, and if so what should I run on staging?
[09:32] <jamesh> stub: there are two scripts -- the first of which needs access to the gpg strongly connected set and list of trusted keys
[09:33] <jamesh> the second is responsible for updating the database, and uses the output of the first script
[09:33] <jamesh> stub: lifeless would know what data to use for the first one
[09:34] <stub> ok. so the first script needs to only be run once anywhere and we can use the output on staging, and if we are happy with the result, production
[09:34] <jamesh> yeah
[09:36] <stub> lifeless: Can you please mirror rocketfuel@canonical.com/launchpad--production--1.36 ?
[09:55] <\sh> guys, thx for making malone usable :) reply to a bug report, and the comment is added to the bugreport...wonderful :)  
[09:57] <\sh> no...
[09:58] <ddaa> that's okay, that was a nice sort of sarcasm :)
[09:58] <\sh> it's RT like...and is my favorite type of working with bug reports or ticket stuff
[09:59] <\sh> no sarcasm...I'll really like malone now :) ok...some search stuff needs to be sorted out :) but right now..great tool for replacing bugzilla
[09:59] <ddaa> when bradb will say "thanks for replacing baz by something that does take 20 minutes, 2GB of disk space and a few hundred megs of RAM to do a merge", I'll be happy
[09:59] <ddaa> * that does not tak
[10:04] <sabdfl> jamesh: yes, launchpad.Edit. it's that way in my tree!
[10:17] <lifeless> stub: done.
[10:36] <ddaa> lifeless: if would be sweet if you could make up a quick page about how to get the latest rocketfuel/bzr demo, how to keep it up to date, and how to import one's own branches for use with it.
[10:38] <lifeless> ddaa: I emailed the list, there is nothing to keep up to date, and making your own branches is done via 'baz branch'
[10:38] <lifeless> ddaa: but if you have specific questions I'd be happy to document them
[10:38] <ddaa> making your own branch != import one's own branches
[10:39] <ddaa> well... if it cannot be kept up to date, it's of no value for real work
[10:39] <lifeless> importing your own branch until its no longer a demo would not be of much use.
[10:39] <lifeless> the format is still changing
[10:39] <lifeless> and its not gpg signed yet.
[10:40] <ddaa> I can see a use. I'm going to dust-off and split the sprint work into manageable bits, that's probably going to involve a lot of switching and merging, and I'd be happy to avoid doing that with baz.
[10:41] <lifeless> jamesh: haha. AssertionError: <pendingreviews.Branch object at 0xb7847c8c> != <pendingreviews.Branch object at 0xb7847c8c>
[10:41] <lifeless> jamesh: you have not been running make check on the pendingreviews code !
[11:04] <dilys> Merge to rocketfuel@canonical.com/launchpad--devel--0: [trivial]  Allowed Rosetta experts to reach the IPOTemplate's +admin page + test (patch-2609: carlos.perello@canonical.com)
[11:05] <carlos> stub, could we cherrypick that merge with next production update ?
[11:40] <SteveA> carlos: hello
[11:41] <carlos> SteveA, hi
[11:41] <SteveA> how's stuff going?
[11:42] <carlos> phone...
[11:44] <carlos> SteveA, sorry, I'm back
[11:45] <SteveA> no worries.
[11:45] <carlos> SteveA, I'm debugging the hoary's language pack problem that pitti raised on Friday
[11:45] <SteveA> what's new with language packs?
[11:45] <SteveA> can you describe the problem, briefly?
[11:46] <carlos> SteveA, there are translations missing, that means that's either someone set the translation as 'needs review' or we didn't import latest .po file for Hoary into Rosetta
[11:47] <SteveA> it is just for a few packages? 
[11:47] <carlos> I need to get the tarball that pitti used to get the diff to see concrete errors and do some SQL queries to know the exact problem
[11:47] <carlos> SteveA, not sure, seems like it happens with some of them, but pitti didn't count them, just saw many removals and detected the problem, now is my turn to debug it more deeply
[11:48] <SteveA> do you have all the database access you need for this?
[11:48] <SteveA> anything i can do to help?  maybe write a script to give you some analysis?
[11:48] <carlos> SteveA, yes, I have the database access needed using staging
[11:49] <carlos> about the script.. I think I can reuse the one you gave us already some days ago
[11:49] <carlos> SteveA, thanks
[11:49] <SteveA> ok
[11:49] <SteveA> let me know if you need anything to work on this
[11:50] <carlos> SteveA, will do, thank you
[11:55] <sabdfl> Kinnison: looks like there's no alternative but classes for all the permutations
[11:55] <sabdfl> DistributionSourcePackage
[11:55] <sabdfl> DistributionSourcePackageRelease
[11:56] <sabdfl> DistroReleaseSourcePackageRelease
[11:56] <sabdfl>  => SourcePackage is basically DistroReleaseSourcePackage
[11:56] <SteveA> do these things have significantly different behaviour?
[11:56] <sabdfl> yes
[11:56] <SteveA> or is it just you want to use different URLs and views for them?
[11:57] <SteveA> so, talking about 'internal' vs 'external' behaviour
[11:57] <sabdfl> i tried doing it all in a fancy sourcepackage
[11:57] <sabdfl> but it just kept breaking itself
[11:57] <SteveA> big heap of mess?
[11:57] <sabdfl> yes
[11:57] <sabdfl> so i'm just grinding it out the long way now
[11:57] <SteveA> right
[11:57] <Kinnison> sabdfl: Right. We can always have something that helps you select the right type for your query, be it a text file explaining, or a magic class that does the right thing
[11:57] <SteveA> we can take a look at how it ends up at ubz...  see if there's anything that can be done.
[11:58] <Kinnison> sabdfl: Can they all implement a shared interface, or is it a bit too different?
[11:58] <SteveA> are we going to be having this issue again with other things, do you think?
[11:58] <SteveA> or it is a one-off for packages?
[11:58] <sabdfl> Kinnison: the interfaces are different
[11:58] <Kinnison> the problem is the loose and social coupling people attribute to packages
[11:58] <Kinnison> sabdfl: right
[11:58] <sabdfl> i'll implement them separately, then look for commonality
[11:58] <Kinnison> stevea: I.E. When you talk about "firefox" what do you mean
[11:58] <sabdfl> trying to design up front was just baking my noodle
[11:59] <Kinnison> sabdfl: righty
[11:59] <sabdfl> Kinnison: exactly. and wehavent even really started figuring out binary packages
[11:59] <SteveA> Kinnison: sure, i understand.  i'm wondering if we'll get a similar cartesian product of types down the line with malone, for example
[12:00] <sabdfl> i don't think so
[12:00] <sabdfl> most systems link to one or other of these permutations
[12:00] <sabdfl> malone links to two
[12:00] <sabdfl> dsp and drsp
[12:01] <Kinnison> but as sabdfl says, these are helpers for other systems, not just for soyuz
[12:01] <sabdfl> the two use cases are:
[12:01] <sabdfl>  - web pages that show the users wtf is published in which distro
[12:01] <sabdfl>  - classes that the other apps can use behind the scenes
[12:01] <sabdfl> i think hct had to create a distro-sourcepackagerelease object, for example, because one did not exist
[12:04] <SteveA> so... just accurately modeling distros
[12:04] <sabdfl> yes
[12:25] <jamesh> fabbione: as far as the data protection goes, if the next version of Bugzilla required data migration due to big schema changes, would you need all users' permission to perform the migration?
[12:26] <jamesh> fabbione: in this case, we are just migrating data from one bug tracker to another
[12:26] <jamesh> bah. wrong window
[12:26] <fabbione> you migrate the data, not the accounts :)
[12:26] <jamesh> the accounts are data
[12:27] <RWG> brb Playing with Terragen
[12:27] <fabbione> for you developers are data, yes
[12:27] <jamesh> fabbione: in the bugzilla -> bugzilla case, you'd be migrating accounts too
[12:30] <fabbione> jamesh: as i said, be aware that users might not like it and consider it privacy violation.
[12:30] <fabbione> if they don't complain, the better
[12:30] <fabbione> i think i had to warn about that risk, then you are free to expose to them your POV as developer
[12:30] <fabbione> and might understand it as i do
[12:30] <fabbione> (given i know what you are doing and why)
[12:46] <sabdfl> could we really have 40 new translators every day?
[12:53] <sabdfl> jordi: yesterday rosetta reported 6182 translators, today, 6215
[12:53] <sabdfl> so, 33 new translators
[12:54] <jordi> sabdfl: do we have general webserver hit stats?
[12:54] <jordi> sabdfl: could be people lurking, trying out, doing some random translation in some random open package and going away.
[12:54] <jordi> but 33 is a bit too much, yes
[12:54] <sabdfl> jordi: yes, could be, but it's still interesting
[12:55] <sabdfl> of course the numbers jump hugely each time we import new release
[12:55] <sabdfl> but that is not the case now
[12:56] <jordi> we might want to watch that number for a few days, to see what the trend is, if there is one
[12:56] <SteveA> carlos: i'm having a problem setting language prefs.  keep being asked to log in.  is it a known problem or shall i file a bug?
[12:57] <sabdfl> jordi: i'll ask stub to add that to his cricket stats
[01:00] <carlos> SteveA, I think it's a know bug, could you paste the URL you are using, please?
[01:00] <SteveA> not logged in, go to https://launchpad.net/rosetta, click 'select languages' from 2nd box down on right
[01:00] <SteveA> ah... worked
[01:01] <SteveA> let me try to reproduce this
[01:01] <carlos> SteveA, hmm, thinking it twice... it's not a know bug, the one I saw was that the from rosetta/prefs you were redirected to rosettta/prefs/prefs
[01:02] <SteveA> i cannot reproduce this now :-(
[01:27] <dilys> Merge to rocketfuel@canonical.com/dists--devel--0: [trivial]  Production 1.36 config (patch-119: stuart.bishop@canonical.com)
[01:30] <carlos> SteveA, I just sent you an update about the language packs for Hoary
[01:31] <SteveA> thank you carlos 
[01:31] <carlos> see you later
[01:33] <SteveA> carlos: okay, doesn't look too bad
[01:34] <carlos> yeah, I was more scared, but now that I know what happens is easy to fix :-P
[01:34] <carlos> later
[01:36] <stub> So should we, like, make the launchpad-users mailing list non-hidden?
[01:38] <SteveA> i'm still want to see what kiko says about just using the existing list
[01:39] <stub> carlos: If I change rawimportstatus from 4 to 2, I also need to nuke the rawfile column to satisfy a constraint. That ok?
[02:01] <Kinnison> mpt: any sign of celso?
[02:02] <mpt> Kinnison: no
[02:02] <SteveA> hi mpt 
[02:02] <SteveA> so, today i will implement breadcrumbs
[02:02] <SteveA> all the infrastructure to do them properly is in place, or will be in place today
[02:02] <mpt> So I need to update my examples in the spec?
[02:02] <SteveA> that would be good
[02:02] <SteveA> i know that not everything will have a breadcrumb
[02:03] <SteveA> and that a breadcrumb has some text and maybe a summary for the anchor title
[02:03] <SteveA> and of course, it goes to somewhere
[02:03] <Kinnison> ddaa: can I commit everything in a given subdir to baz easily?
[02:03] <Kinnison> ddaa: I've done the mods/adds etc
[02:03] <ddaa> mh
[02:03] <SteveA> the place it goes to is just where the crappy breadcrumb we have now would go
[02:03] <SteveA> although, perhaps not always.  not sure about that one.
[02:03] <ddaa> Kinnison: I'm not sure...
[02:04] <Kinnison> hey niemeyer, matsubara 
[02:04] <Kinnison> any sign of a celso yet?
[02:04] <stub> SteveA: Is that before or after you review my branch?
[02:04] <SteveA> stub: after
[02:05] <SteveA> or if i get bored during :-p
[02:05] <ddaa> Kinnison: I'd just play it safe and do "baz commit -- dir/file1 dir/file2 dir/file3"
[02:05] <ddaa> I would expect "baz commit -- dir/" to only commit the changes to "dir", not the contents.
[02:06] <Kinnison> arse, okay
[02:06] <niemeyer> Morning!
[02:06] <niemeyer> Kinnison!
[02:06] <Kinnison> perforce's "p4 submit dir/..." is really handy
[02:06] <niemeyer> SteveA!
[02:07] <niemeyer> ddaa!
[02:07] <niemeyer> :)
[02:07] <SteveA> good morning mister niemeyer 
[02:07] <niemeyer> Oh, stub!
[02:07] <niemeyer> :)
[02:07] <niemeyer> niemeyer!
[02:07] <Kinnison> where p4's "..." is equivalent to zsh's "**"
[02:07] <matsubara> Good Morning all!
[02:07] <niemeyer> Enough
[02:07] <niemeyer> :)
[02:07] <matsubara> Kinnison, haven't seen him
[02:07] <SteveA> the cartesian product irc greeting problem
[02:07] <Kinnison> matsubara: okay, no problem
[02:07] <ddaa> Kinnison: I'd expect bzr would do what you want (it already got "add" right)
[02:08] <stub> yo
[02:13] <SteveA> hey kiko
[02:13] <SteveA> hello brian
[02:15] <kiko> morning SteveA how are you?
[02:15] <SteveA> does anyone know about writing thunderbird plugins?  i'd love to see one that highlights 'bug 1234' style text for messages from bugs@launchpad.net
[02:15] <Ubugtu> Error: I cannot access this bug
[02:15] <SteveA> Ubugtu: that's an interesting error.  what page is that from?
[02:15] <kiko> SteveA, he's a bot. :)
[02:15] <kiko> bug 1234 is private
[02:15] <Ubugtu> Error: I cannot access this bug
[02:16] <SteveA> kiko: looking good.  how are you?
[02:16] <kiko> quite well
[02:16] <kiko> Seveas owns Ubugtu for the record
[02:16] <SteveA> okay.  let's try bug 666666
[02:16] <Ubugtu> Error: Error getting Malone bug #666666: Bug does not exist
[02:16] <ddaa> bug 1000
[02:16] <Ubugtu> Malone bug #1000: There are too many bug reports in Malone Fix req. for: upstream launchpad, Severity: Normal, Assigned to: Nobody, Status: Rejected http://launchpad.net/malone/bugs/1000
[02:17] <ddaa> :) funny
[02:17] <Seveas> SteveA, things like 'ubuntu 16631' work too
[02:17] <SteveA> cool.  i just filed bug 3015
[02:17] <Ubugtu> Ubuntu Bugzilla bug #16631: please update to 1.1.5 Product: Ubuntu, Component: openoffice.org-amd64, Severity: normal, Assigned to: doko@ubuntu.com, Status: RESOLVED, Resolution: FIXED http://bugzilla.ubuntu.com/show_bug.cgi?id=16631
[02:17] <Ubugtu> Malone bug #3015: shipit needs a robots.txt Fix req. for: upstream launchpad, Severity: Normal, Assigned to: Nobody, Status: New http://launchpad.net/malone/bugs/3015
[02:17] <ddaa> bug -1
[02:17] <Seveas> it knows 'ubuntu' 'gnome', 'malone' and 'bug' (which is a synonym for malone in #launchpad)
[02:18] <SteveA> nice
[02:18] <SteveA> what did you write it in?
[02:18] <Seveas> but expect it to be unstable soon, I'm rewriting it ;)
[02:18] <ddaa> what is it written in?
[02:18] <Seveas> it's a supybot (so python) bugzilla plugin extended to understand malone
[02:19] <ddaa> bug 4294967296
[02:19] <Ubugtu> Error: Error getting Malone bug #4294967296: Bug does not exist
[02:19] <Seveas> but currently it's full of hacks :)
[02:19] <SteveA> Ubugtu: i'll fix bug 3015
[02:19] <Ubugtu> Malone bug #3015: shipit needs a robots.txt Fix req. for: upstream launchpad, Severity: Normal, Assigned to: Nobody, Status: New http://launchpad.net/malone/bugs/3015
[02:19] <SteveA> darn... doesn't work ;-)
[02:20] <Seveas> it'll have flood protection too soon :p
[02:20] <SteveA> wow, software with levees
[02:20] <ddaa> SteveA: does it have a launchpad product?
[02:20] <SteveA> ddaa: pardon?
[02:20] <ddaa> hu
[02:21] <ddaa> Seveas: does it have a launchpad production?
[02:21] <ddaa> * product
[02:21] <Seveas> You mean registered on launchpad? no
[02:21] <ddaa> Would be nice, so it could talk about its own bugs :)
[02:21] <Seveas> rofl
[02:22] <SteveA> kiko: did we come up with a datetime for the launchpad community meeting?
[02:24] <kiko> SteveA, I suggested wednesday, you didn't disagree (or agree) :)
[02:30] <sabdfl> lifeless: are we close to being able to test performance of LP-on-bzr vs LP-on-baz?
[02:34] <dilys> Merge to rocketfuel@canonical.com/launchpad--production--1.36: Cherry pick patch-2609 into production 1.36 (patch-1: rocketfuel@canonical.com, carlos.perello@canonical.com)
[02:35] <kiko> carlos, what bug does that fix, btw?
[02:37] <sabdfl> SteveA: what's the new way to handle default traversal over an object?
[02:38] <SteveA> sabdfl: you mean, where you go if you say .../foo/ ?
[02:38] <sabdfl> yes
[02:38] <SteveA> that is still handled with zcml <browser:defaultView > directives
[02:39] <SteveA> that will be changing, but not today
[02:39] <SteveA> changing to include it in the 'navigation' concept
[02:39] <SteveA> do you have a case where the defaultView is not enough?
[02:45] <lifeless> sabdfl: you can test local performance now, just rsync down the bzr import I made
[02:45] <SteveA> kiko: i had an idea over the weekend
[02:45] <SteveA> this is about doing QA on a representative bunch of pages
[02:45] <lifeless> sabdfl: network performance, yes we are close, sftp is coming v soon
[02:45] <SteveA> the idea is to use the Navigation components to get a list of all the "fixed" pages in launchpad, and also extend it to have be able to get a representative sample of "content" pages
[02:46] <SteveA> so, starting with a particular object, we can go to each 'stepto' URL given in its navigation component.
[02:46] <kiko> SteveA, that sounds pretty cool
[02:47] <SteveA> then, for each traverse() and traverse_foo() stepthrough, we have a parallel method to get a set of ids for that thing
[02:47] <SteveA> so it says 'you can traverse the ids 1, 5, 65, 655 and 123 from here, but 9099 is not found'
[02:47] <kiko> the set of tested IDs, then?
[02:48] <SteveA> then, taking all the registered navigations together, we get all the 'fixed' pages, and also a representative example of the 'variable' pages
[02:48] <SteveA> we can get the registered views from the component architecture
[02:48] <SteveA> and expose these via a method on the navigation or something
[02:48] <kiko> but we'd list the tested instances in browser code?
[02:49] <SteveA> yes, or maybe along with the sample data
[02:49] <SteveA> haven't thought that totally through
[02:50] <mpt> https://launchpad.net/people/unp -- oh dear
[02:51] <SteveA> why 'unp
[02:51] <kiko> mpt, what?
[02:51] <SteveA> ?
[02:52] <SteveA> mpt: where can i read about what to do with breadcrumbs?
[02:52] <mpt> the layout
[02:52] <mpt> the first column is taking up half the page width
[02:54] <mpt> because the description's in a portlet instead of being in the page
[02:55] <mpt> and it has no page-widening protection
[02:57] <SteveA> the google 'i want to translate google
[02:57] <kiko> SteveA, I have a difficult question for you
[02:57] <SteveA> ' app is worse
[02:57] <SteveA> i had to scroll up and down and left and right to see the 'edit this translation' buttons
[02:57] <kiko> you know form attribute validator functions?
[02:58] <kiko> how do you write a validator that checks if a certain name is unique under a certain person?
[02:58] <kiko> short answer: use ILaunchBag? 
[02:58] <SteveA> if a certain name is unique under a certain person?  i don't know what you mean
[02:58] <kiko> for instance
[02:58] <kiko> you have /name/stevea/+polls/nukeportlets
[02:59] <kiko> I need a validator to avoid allowing the guy to create a second nukeportlets poll
[02:59] <kiko> it's only unique under the stevea person
[02:59] <kiko> matsubara needs it, actually
[03:01] <SteveA>  /name/stevea/+addpoll is the add form, or something like that?
[03:01] <kiko> yep
[03:01] <SteveA> so, the context of that form is the person
[03:01] <kiko> correct
[03:01] <SteveA> so, no need to use the launchbag to get the person
[03:01] <kiko> how do I get the current context in the validator function?
[03:02] <SteveA> i don't know that you can.
[03:02] <SteveA> can you get hold of other details from the form?
[03:03] <kiko> I receive the "name" trying to be registered in the validator
[03:03] <kiko> nothing else comes in as arguments
[03:03] <kiko> bradb used the launchpad in valid_bug_name
[03:04] <SteveA> i think what we have here is a browser-specific validator
[03:04] <SteveA> it doesn't make sense in a context other than the browser, i think
[03:05] <kiko> that is true
[03:05] <SteveA> at the database level, is there a uniqueness constraint on person and poll-name? 
[03:05] <kiko> it will return a browsers-specific error message
[03:05] <kiko> yes
[03:05] <SteveA> okay
[03:05] <kiko> it currently system errors because of that
[03:05] <SteveA> i see
[03:05] <kiko> there are about a dozen forms with this sort of issue
[03:06] <kiko> I would like to clean that up and pave the way for proper form validation
[03:06] <SteveA> yes
[03:06] <kiko> I'm happy you agree :)
[03:07] <mpt> SteveA: ok, https://wiki.launchpad.canonical.com/LaunchpadHierarchyNavigation#head-3d71d77fc3a0ea9cc4eb846d7ead114f3e5cee78 is ready I think
[03:07] <SteveA> can you/matsubara fix it with a launchbag hack, and let me review it ?  i'll look at it then, and see if i can find a good way to make it fit
[03:08] <SteveA> mpt: thanks, i'll take a look
[03:08] <kiko> SteveA, sure, that's what we were about to do.
[03:08] <kiko> thanks
[03:08] <SteveA> okay, cool
[03:13] <mpt> kiko: Which of my branches are you in the middle of reviewing? I'll move the other back into the General Queue if you like
[03:13] <sabdfl> SteveA: it's not defaultView i'm looking for
[03:13] <sabdfl> it's the case of traversal without a '+foo/bar'
[03:13] <SteveA> write a traverse(self, name) method
[03:13] <kiko> mpt, the second one, but I can do both
[03:13] <SteveA> if you just want to traverse using self.context[name] 
[03:14] <SteveA> you use GetitemNavigation as your base class
[03:14] <SteveA> rather than Navigation
[03:14] <SteveA> because this is a very common case
[03:14] <sabdfl> SteveA: method on what?
[03:14] <sabdfl> FooNavigation?
[03:14] <SteveA> your navigation class
[03:14] <SteveA> yes
[03:14] <sabdfl> ok
[03:14] <SteveA> in that method, self.context is the object you're traversing
[03:14] <SteveA> and name is the next path step
[03:15] <mpt> kiko: ok, do you need me to resolve the conflicts again?
[03:16] <lifeless> sabdfl: ping
[03:17] <sabdfl> lifeless: are we still on track for a pie-free UBZ (at least, for you, that is)
[03:17] <kiko> mpt, that would be nie
[03:17] <lifeless> sabdfl: it could go either way
[03:17] <SteveA> mpt: why are the breadcrumbs for /legal different from /malone ?
[03:17] <lifeless> sabdfl: its a fine line
[03:18] <kiko> software's not really fine line fodder :)
[03:18] <kiko> either you win by ample margin or you're late
[03:19] <SteveA> mpt: is it because '/legal' uses the launchpad root facets, but '/malone' uses the malone app facets? (or does it...)
[03:19] <SteveA> actually, i think /malone uses the launchpad root facets
[03:19] <mpt> SteveA: they're not different
[03:19] <SteveA> i see
[03:19] <mpt> I fixed a couple of errors just after I told you I'd finished, so try reloading
[03:20] <SteveA> also, please check /people/+newteam
[03:20] <SteveA> can you write an explanation of why some URLs get a trailing > and some don't ?
[03:20] <SteveA> it will stop me having to guess
[03:21] <SteveA>  /distros/ubuntu/hoary/+sources/gnome-panel/+translations looks maybe wrong too
[03:21] <mpt> The trailing > indicates that the hierarchy is continued elsewhere
[03:21] <mpt> through the facet menus and/or the application menus
[03:21] <carlos> stub, you need to remove the rawfile column? are you sure???
[03:21] <kiko> carlos, ping
[03:22] <carlos> kiko, pong
[03:22] <carlos> kiko, looking for the bug number...
[03:22] <SteveA> mpt: then, i don't understand why /legal differs from / 
[03:22] <kiko> carlos, thanks
[03:23] <carlos> kiko, 2802
[03:23] <SteveA> nor do i understand how /people/+newteam differs from /people/
[03:23] <mpt> SteveA: / doesn't have a ">" because it's not going further than the root. /legal does, because it is.
[03:23] <SteveA> in both cases, the content object is the IPeopleSet
[03:24] <mpt>  /people doesn't have a trailing ">" because it's not going further than "People". /people/+newteam does, because it is.
[03:24] <SteveA> so, nothing to do with continuing hierarchy in facet or app menus, in this case?
[03:24] <SteveA> or do i fail to understand what "continuing the hierarchy" means
[03:25] <SteveA> ?
[03:25] <mpt> well, "Legal information" isn't in an application menu, sure
[03:25] <kiko> carlos, thanks -- why not include it (and the subject) in the commit message?
[03:26] <carlos> kiko, because I forgot it, sorry
[03:27] <carlos> I fixed it on Friday and did the commit this morning after adding the test this weekend offline
[03:27] <SteveA> mpt: okay, i think we're getting there.  i need to work out how this will work in the software.  you can help by explaining how the > works for each case in the spec where there are two or more sets of breadcrumbs that differ only with the trailing >
[03:27] <kiko> okay, carlos 
[03:27] <mpt> ok
[03:28] <SteveA> mpt: i'm hoping to be able to encode these rules in the breadcrumb stuff, and not need lots of special cases
[03:28] <SteveA> mpt: as a first implementation, i thing i'll ignore the trailing > altogether.  is that okay?
[03:28] <SteveA> then we'll make it work afterwards.
[03:28] <mpt> ok
[03:29] <SteveA> as, other than that, i think it is straightforward to do
[03:29] <dilys> Merge to rocketfuel@canonical.com/launchpad--production--1.36: Cherry pick patch-2606 into production 1.36 (patch-2: christian.reis@canonical.com, rocketfuel@canonical.com, matsubara@async.com.br)
[03:30] <kiko> stub, two small points
[03:30] <kiko> stub, can you still star-merge successfully?
[03:31] <kiko> stub, second thing is that there's a missing constraint that's causing data corruption in product series (and perhaps releases) -- the names are not unique under a product
[03:33] <mpt> SteveA: explanation added
[03:33] <SteveA> thanks
[03:34] <SteveA> that's a very clear explanation.  thank you.
[03:34] <mpt> I see that "up to the level where the LaunchpadMenus facets apply" isn't entirely true for /legal, though
[03:35] <mpt> legal information doesn't have bounties/specs/support requests
[03:35] <stub> kiko: Yes, in the case I encountered I could star-merge happily.
[03:36] <stub> kiko: On production, ProductSeries(product, name) is UNIQUE. What is the problem you are seeing?
[03:36] <kiko> hmmm
[03:36] <kiko> stub, let me find the bug #.
[03:36] <kiko> stub, could it be release names?
[03:36] <kiko> https://launchpad.net/malone/bugs/2895
[03:36] <Ubugtu> Malone bug #2895: Releases with the same directory name causes an error Fix req. for: upstream launchpad, Severity: Normal, Assigned to: Diogo Matsubara, Status: New http://launchpad.net/malone/bugs/2895
[03:37] <lifeless> niemeyer: SteveA: got a minute ?
[03:37] <SteveA> lifeless: okay.  was about to start stu's code review, but i can procrastinate for a minute more
[03:37] <lifeless> thanks
[03:37] <lifeless> niemeyer: ping
[03:38] <lifeless> SteveA: I'd like your input on goals for niemeyer in this week, before ddaa arrives in brazil
[03:38] <kiko> ddaa is off to brazil again? :)
[03:38] <sivang> mpt: this by any chance has something to do with MaloneSupportIntegration ? (excuse me for the noise)
[03:38] <ddaa> in two weeks
[03:38] <lifeless> kiko: yes, he wants his old passport back
[03:38] <lifeless> ddaa: two weeks is it ?
[03:38] <SteveA> so, niemeyer has completed his bzr / hct work, and is now looking into launchpad
[03:38] <kiko> did somebody find it?!
[03:38] <niemeyer> lifeless: Pong
[03:38] <lifeless> maybe we're off by a week. let me check logs
[03:39] <niemeyer> lifeless: I'm talking to ddaa right now
[03:39] <niemeyer> SteveA: Yep
[03:39] <stub> kiko: ProductRelease.version is not unique. I'm not sure if we have a use case for allowing multiple product releases with the same version, as the datereleased column could have been indended to be used to disambiguate them
[03:39] <lifeless> nope, its good
[03:40] <ddaa> I started at the creation of the universe, I'm getting at the point where the first urchin fucked the first starfish
[03:40] <lifeless> its been 3 weels
[03:40] <kiko> stub, is version the number or the name? 
[03:40] <kiko> stub, I doubt it -- how would traversal work?
[03:40] <lifeless> SteveA: yes, niemeyer is. specifically he needs to get across what ddaa looks after, and also the ui through to content stuff
[03:41] <kiko> I am pretty sure it should be unique, stub 
[03:41] <ddaa> lifeless: please review importd-archivelocation soon
[03:41] <stub> kiko: ProductRelease has no name - just version
[03:41] <lifeless> SteveA: he will have 2 weeks I think with ddaa in brazil, so complex-best-done-face-to-face can possibly wait a bit
[03:41] <SteveA> lifeless: https://wiki.launchpad.canonical.com/Branch
[03:41] <stub> kiko: traversal probably wouldn't be possible. I'll add a UNIQUE constraint after fixing the dud entries - we can always relax it again later if it becomes a problem.
[03:41] <ddaa> lifeless: one week
[03:41] <lifeless> ddaa: ah right, there is my confusion
[03:41] <ddaa> I'm going in two
[03:42] <SteveA> the existing pages with similar names includes a bunch of things, and then brad too
[03:42] <lifeless> SteveA: 2 from now, for one.
[03:42] <kiko> thanks stub, rocking as always
[03:42] <lifeless> ddaa: yes, tomorrow morning
[03:42] <lifeless> ddaa: as doing it tonight would be counter productive
[03:43] <SteveA> so, we have launchpad and malone, and we have the supermirror and bzr
[03:43] <SteveA> i think a lot of the stuff is filling the gap between the supermirror and launchpad
[03:43] <SteveA> for example, if i want to fix a bug in python
[03:43] <niemeyer> lifeless: It's three weeks, indeed
[03:44] <lifeless> right. and gustavo should see enough in this intro period to be familiar with how it all hangs together, plus gain domain experience in the importd side, so he knows the handover area from him to ddaa well
[03:44] <SteveA> i can bzr pull python from the supermirror, tell malone my branch where i'm working on something, and start work
[03:44] <mpt> sivang: Does what have anything to do with MaloneSupportIntegration?
[03:44] <SteveA> so, that touches launchpad UI, branch-related data model
[03:44] <SteveA> objects that can have branches related to them, such as bugs, specs, translations...
[03:44] <SteveA> products, packages...
[03:44] <SteveA> people
[03:44] <lifeless> SteveA: yup
[03:44] <SteveA> so, actually, pretty much the whole thing
[03:44] <ddaa> lifeless: I could use some suggestions about when you think it would good have niemeyer work on.
[03:44] <SteveA> even bounties
[03:45] <lifeless> ddaa did a lot of work on this, there is a big branch with a lot of branch stuff added
[03:45] <lifeless> so I think ddaa and niemeyer should be collaborating on getting that landed.
[03:45] <SteveA> branches tend to go stale if not merged
[03:45] <SteveA> so, preserving that work would be a worth goal
[03:45] <sabdfl> my observation exactly, in london :-)
[03:45] <lifeless> an essential goal in fact.
[03:45] <ddaa> yup, I'm currently scrathing my head with what to do with the sprint work, that's going to be a bitch.
[03:45] <sabdfl> but i think there were good reasons for it not to land immediately
[03:46] <lifeless> unfortunately, yes.
[03:46] <lifeless> importd would have been dead till now, or samba and python imports unloved, if we had landed it
[03:46] <sabdfl> i don't think anyone else has touched that code, so conflicts should be minimal
[03:46] <lifeless> scott has prepped the hct stuff
[03:46] <sabdfl> have the samba and python guys been playing with the imports?
[03:46] <lifeless> so one thing I need to do is add bzr to the rocketfuel tree
[03:47] <SteveA> put the branch up on the pending reviews page
[03:47] <lifeless> well, samba has that 32k problem
[03:47] <SteveA> that way, we can see how stale it is getting
[03:47] <lifeless> ddaa: I agree with SteveA, its a good idea
[03:47] <SteveA> we have a solution in hand for the 32k problem
[03:47] <SteveA> i need to talk with ddaa and elmo to see where that's up to
[03:47] <SteveA> ddaa: did you verify there were no issues with apache?
[03:48] <lifeless> ddaa: so I think the first thing you two could work on is to get all tests passing on that branch, and get it merged up to latest rf.
[03:48] <lifeless> SteveA: thank you.
[03:48] <ddaa> lifeless: python has the 32k problem
[03:48] <ddaa> samba is alive and kicking
[03:48] <SteveA> oh yeah, it was python
[03:48] <lifeless> ddaa: oh, damn I am tired, mimemories left and right
[03:49] <lifeless> s/mi/miss-/
[03:49] <ddaa> I would like to split the branch in at least two
[03:50] <ddaa> 1. database schema changes (still unfinished), and then very soon infrastructure fixes
[03:50] <ddaa> 2. launchpad web ui changes (which has incomplete test coverage)
[03:50] <lifeless> what will this separation buy you ? 
[03:50] <sabdfl> does bzr have hashing to avoid the 32k problem?
[03:50] <lifeless> sabdfl: yes
[03:51] <ddaa> lifeless: all the infrastructure work that depends on the db schema changes needs not be blocked by polishing the web ui.
[03:52] <lifeless> ddaa: but conversely you will break all the existing ui that you have fixed in the branch
[03:52] <niemeyer> lifeless: Has the patch landed?
[03:52] <lifeless> niemeyer: yes
[03:52] <niemeyer> Nice!
[03:52] <ddaa> lifeless: fixes will go in the first branch, but there is a lot of added code for new features
[03:53] <lifeless> ddaa: I will leave this up to you and niemeyer. But be wary of spending more time shuffling code than doing code
[03:53] <ddaa> yeah... Already got trapped there this morning
[03:54] <SteveA> ddaa: my question about your testing apache?
[03:54] <lifeless> so I recommend against splitting the branch, strongly, until or unless a reviewer says 'dude, you have XXX to do to land the branch', and all the XXX is in the ui code.
[03:54] <ddaa> SteveA: my testing here showed that apache is happy with stupid number of subdirs
[03:54] <SteveA> ddaa: okay.  any other tools that need testing like that, or are we ready for the next stage?
[03:55] <lifeless> ddaa: so in that branch, we have what - importd tests to fix, importd to use the new structure, the friday-improvements to the schema 
[03:55] <ddaa> SteveA: it depends on whether we want to publish the python branch on bazaar.ubuntu.com
[03:55] <ddaa> hct to fix
[03:56] <ddaa> new pages to have proper test coverage
[03:56] <lifeless> hct is ready, we just need to plonk bzr in to the lp config
[03:56] <ddaa> zope traversal to update
[03:57] <lifeless> ok.
[03:57] <ddaa> another thing the sabdfl wanted to refactor back in london
[03:57] <SteveA> lifeless: for the python import, is it just a stage in getting a python bzr 'archive', or is the idea to also publish it as a baz1 archive?
[03:57] <lifeless> how close are you and niemeyer timezones ?
[03:57] <niemeyer> ~5h
[03:57] <niemeyer> IIRC
[03:57] <lifeless> SteveA: bzr is the primary goal. publishing as baz is important for our daily updates to work
[03:58] <lifeless> niemeyer: you forget that ddaa operates at +4 :)
[03:58] <niemeyer> Ah, damd :)
[03:58] <ddaa> Nah, I have woved to waking up early.
[03:58] <lifeless> niemeyer: so what things from that short list of the branches needs, would you like to work on ?
[03:58] <lifeless> niemeyer: with ddaa, but you will be responsible for the things that you nominate (if ddaa agrees )
[03:59] <Kinnison> hey silbs
[03:59] <silbs> is it intentional that bounties are not tied to projects?  Shouldn't they be?
[03:59] <niemeyer> lifeless: No idea, really.. 
[03:59] <silbs> kiko, SteveA ^^
[03:59] <lifeless> niemeyer: well, spend today getting up to speed a bit, and we can decide tomorrow
[03:59] <niemeyer> lifeless: I have not read that code, so everything sounds like nice funny names right now.
[04:00] <lifeless> niemeyer: might be good to read the patch from that branch against launchpad itself, to see what sort of things change.
[04:00] <lifeless> ddaa: you will work niemeyer to help him come up to speed with what you are working on ?
[04:00] <ddaa> okay, so I guess my first thing is actually finishing the db patch...
[04:00] <SteveA> silbs:  you're supposed to be able to.  "You can associate a bounty with an upstream product or project, or with a distribution. "
[04:00] <SteveA> says the "what's this all about?"box
[04:01] <kiko> hmmm
[04:01] <silbs> SteveA: yes, but look at the "register a new bounty" page.
[04:01] <mpt> Projects are rather unloved in Launchpad
[04:01] <mpt> there's many things you can't do with them that you should be able to
[04:01] <SteveA> silbs: yes, there appears to be no way to do so using the web pages.
[04:01] <silbs> I'm talking to someone about using LP to manage bounties for ihs project
[04:01] <lifeless> niemeyer: so, I'll go to bed now, and see you in my morning..
[04:01] <silbs> but it looks like there would be no way to see his bounties for his projec t- it looks like one big bounty pool
[04:01] <niemeyer> lifeless: Cool, thanks for the intro
[04:01] <silbs> and that will get useless quickly once there is data in there
[04:02] <ddaa> lifeless: I'll need to come to speed with it myself, but I guess I can direct him to work on the importd bits while I work on the webapp bits.
[04:02] <lifeless> ddaa: that may work well
[04:03] <sabdfl> silbs: you can associate a bounty with a product, project, or distro
[04:03] <sabdfl> and get a list of them on that basis too
[04:03] <SteveA> it's in the data model
[04:03] <SteveA> but i don't see any UI for it
[04:03] <SteveA> perhaps there are menus missing, and the pages are there
[04:03] <silbs> sabdfl: it doesn't appear on the "register a new bounty" page.  How does one do that?
[04:03] <SteveA> or perhpas pages need writing
[04:04] <sabdfl> if you are viewing the product, and THEN register a new bounty, it is automatically associated
[04:04] <sabdfl> also, viewing the product, you can link an existing bounty to that product too
[04:04] <silbs> ah, okay
[04:04] <SteveA> aha -- i was trying to view a bounty and link it to a product
[04:05] <sabdfl> SteveA: we can add that too
[04:05] <silbs> it would be nice to be able to do it the other way round too (create bounty, link it to existing project)
[04:05] <silbs> yes, okay. thanks guys
[04:05] <Kinnison> launchpad works on contexts
[04:05] <lifeless> night all
[04:05] <Kinnison> so you go to the context you want
[04:05] <lifeless> midnight, witching hour
[04:05] <Kinnison> and then create the object you want
[04:05] <Kinnison> night lifeless
[04:06] <Kinnison> silbs: it's not always obvious, but it is at least consistent
[04:06] <mpt> we support the other way spottily
[04:06] <silbs> Kinnison: yes, but people have different contexts. 
[04:06] <SteveA> as an instant fix, the "what's all this about?" box on the bounties page can say "you can associate a bounty with an upstream product, project ... from the product, project or distro page."
[04:06] <mpt> e.g. /malone/bugs/+package
[04:06] <silbs> If I wanted to add a bounty for a project, you could consider my context "bounties" or "project x"
[04:06] <silbs> both are valid
[04:06] <dilys> Merge to rocketfuel@canonical.com/launchpad--production--1.36: Cherry pick patch-2608 into production 1.36 (patch-3: matsubara@async.com.br, rocketfuel@canonical.com, christian.reis@canonical.com)
[04:06] <silbs> maybe not to LP, but I think they are
[04:07] <Kinnison> silbs: aye, perhaps the non-contextual bounty-add page should contain a note saying "If you want to make a bounty associated with a distro, product, project or whatever, please visit the relevant page and create the bounty from there"
[04:07] <dilys> Merge to rocketfuel@canonical.com/pyme--devel--0.6.1: [trivial]  include string versions of error codes for GPGMEError (patch-3: james.henstridge@canonical.com)
[04:07] <mpt> Kinnison: or just offer form fields for it, like Malone does
[04:08] <silbs> mpt +1
[04:08] <Kinnison> mpt: I guess that'd be cool too
[04:08] <Kinnison> silbs: mpu ?
[04:11] <kiko> jamesh, rock on :)
[04:18] <sabdfl> SteveA: path_expression="string:+source/${name}/${version}"
[04:18] <sivang> is there any way to work in non context mode in lp ? I mean, there are times in which the context oriented approach can be annoying to a new user. For instance, when logging to your account and reporting a bug, you can do it only the context way. that is cliking your way to the Bugs tab doesn't leave any apparent way to file new one, judging by the rightward menu
[04:18] <sabdfl> should that work? as a browser:url tag?
[04:18] <sabdfl> sivang: we need to have quicker ways to get to the context (distro/product/project)
[04:20] <SteveA> sabdfl: yes, provided the context has a name and version
[04:21] <sabdfl> SteveA: coolio, thanks
[04:21] <sivang> right, it really looks non trivial now. also, if you go and click "Packages" which might be associated for the user with reporting bugs, shows the Package Maintenance Report
[04:23] <sivang> would probably be a nice thing if for at least malone at that stage, we would have in the right menu, apart for the others, a quick pkg search field which would enable a report-a-bug-on-a-package context after a successful match.
[04:28] <mpt> sivang: Coincidentally, I just reported https://launchpad.net/products/malone/+bug/3019
[04:28] <Ubugtu> Malone bug #3019: Context-free bug reporting page should also allow product bugs Fix req. for: upstream malone, Severity: Normal, Assigned to: Nobody, Status: New http://launchpad.net/malone/bugs/3019
[04:31] <kiko> yeah, good idea
[04:33] <kiko> matsubara, why not check all the other url-like attributes for correct syntax?
[04:33] <sivang> mpt: lol :)
[04:33] <mpt> woohoo, another unfixable plone.css bug
[04:34] <kiko> matsubara, also, I see a return False in the context in validation.py that needs to be fixed
[04:35] <matsubara> I was wondering where are those screenshots/wiki URLs after the registration process?
[04:35] <kiko> matsubara, I think they are not used -- you can check the templates, but sabdfl might know better
[04:36] <Kinnison> mpt: How long would it take you to eliminate plone.css from launchpad?
[04:36] <kiko> sabdfl, do you know what happened to ProductSeries.needsSyncReview?
[04:36] <kiko> Kinnison, you're the second person to ask that exact question in the past 7 days
[04:36] <Kinnison> heh
[04:37] <kiko> a couple of hours from end to end
[04:37] <kiko> oh we all do
[04:37] <kiko> except for one of us :)
[04:37] <Kinnison> *THE* one?
[04:38] <kiko> o/~ aisha: he got out o/~
[04:38] <kiko> yep, that one
[04:38] <SteveA> mpt: are the plone.css bugs things we can ask upstream to fix?
[04:39] <mpt> hmm, yep, this one is
[04:44] <SteveA> mpt: kindly pop onto #plone and i'll introduce you to some people
[04:44] <sabdfl> you guys were so up the wrong frigging tree without plone.css
[04:44] <sabdfl> i spend a lot of time fixing fixes
[04:45] <sabdfl> go on holiday, make a branch and get rid of it, then we'll talk
[04:46] <mpt> SteveA: it appears to be http://plone.org/collector/188, status rejected
[04:49] <mpt> actually we tried commenting out the plone.css link in main_template.pt a couple of weeks ago, and the only thing that changed was the portlet borders
[04:49] <kiko> they made me do it
[04:49] <mpt> the rest of it might as well be called minefield.css
[04:50] <SteveA> mpt: that was rejected 3 years ago
[04:51] <mpt> indeed
[04:52] <mpt> Gecko uses CSS borders for its radio buttons
[04:52] <mpt> Opera doesn't
[04:52] <mpt> So when plone.css says "add a border to all inputs", Opera puts a square border around the outside of the circular radiobuttons
[04:53] <mpt> And if we overrode that in launchpad.css by saying input[type=radio]  {border: none}, Gecko would go, "oh, okay, you want radiobuttons to be invisible"
[04:54] <SteveA> so what's the answer?  upstream, split plone.css into plone.css and fancyborders.css
[04:54] <SteveA> then we use plone.css and other plone-based sites use plone.css
[04:54] <LapTop006> mpt: are you disscussing the bug I commented on?
[04:54] <dilys> Merge to rocketfuel@canonical.com/launchpad--devel--0: [trivial]  tweak inventory for bzr stuff (patch-2610: david.allouche@canonical.com)
[04:55] <SteveA> and include fancyborders.css only if they want them
[04:55] <mpt> LapTop006: yes, thanks for the debugging
[04:55] <LapTop006> free software at work!
[04:55] <LapTop006> (just spent 1/2 an hour waiting for my box to generate the entropy required to add an elgamel key to my gpg cause its not working in launchpad)
[04:55] <Kinnison> What's the status of emblems?
[04:55] <mpt> SteveA: the answer is for plone.css to either stop styling radiobuttons, or to use some bug that occurs in Opera to make CSS that Opera can't see
[04:56] <kiko> LapTop006, now --send-key and wait a while before resending the key
[04:56] <SteveA> mpt: so, alan suggests to post to plone-users to ask about fixing stuff
[04:56] <LapTop006> mpt: was looking at css things last week, couldn't see any bugs that opera has that moz doesn't
[04:57] <LapTop006> kiko: have sent the key to wwwkeys.is and keyserver.u.com
[04:57] <LapTop006> will try again in half an hour
[04:58] <kiko> cool
[04:58] <kiko> Kinnison, the status? can you explain further
[04:58] <kiko>      if not url:
[04:58] <kiko> -        return False
[04:58] <kiko> +        raise LaunchpadValidationError(_(dedent("""
[04:58] <kiko> +            That field can't be empty.""")))
[04:59] <kiko> matsubara, SteveA: can you help me determine whether that is correct for a field that is non-mandatory?
[04:59] <sabdfl> who fixed interfaces/validation.py to give nice errors on the emblem/hackergotchi validation?
[04:59] <Kinnison> kiko: Well, I added an emblem to a team I manage. Now the emblem is shown in the details portlet the number of times there are members of the team, but the emblem doens't show up on my people page
[04:59] <mpt> 19 conflicted items, woohoo
[05:00] <kiko> sabdfl, matsubara did
[05:00] <sabdfl> Kinnison: ah, oops. that's my bug
[05:00] <kiko> sabdfl, Kinnison, I fixed that a few days ago
[05:00] <SteveA> kiko: where does that code come from?
[05:00] <kiko> it will be in the next production rollout
[05:00] <Kinnison> kiko: rocktastic
[05:00] <sabdfl> i suspect i was iterating over members-in-the-person(team) not teams-the-person-is-a-member-of
[05:00] <kiko> SteveA, interfaces/validation.py
[05:00] <kiko> sabdfl, exactly. the method names are confusing, I added an XXX there too
[05:01] <SteveA> kiko: can't you just make it a required field?
[05:01] <mpt> SteveA: all "traverse" functions should be gone now?
[05:01] <SteveA> mpt: yes.  they are all Navigation classes.
[05:02] <kiko> SteveA, you can -- that is only a part of the validator.
[05:02] <kiko> SteveA, the validator should check that, when non-empty, the field start with http://
[05:02] <Kinnison> I have a question about wikinames and teams
[05:02] <kiko> SteveA, how does the validator behave when the field submitted is empty?
[05:02] <kiko> Kinnison, yes?
[05:02] <Kinnison> kiko: My team has been given an ubuntu wiki wikiname
[05:02] <Kinnison> kiko: I don't want it to have one
[05:03] <Kinnison> kiko: and I can't work out how to give it a wiki name for the wiki my project is on
[05:03] <kiko> you can't work around that one, AIUI
[05:03] <SteveA> kiko: i would need to look into this properly to help out.  and i need to to stu's review now.
[05:03] <Kinnison> has a complaint been filed yet, or shall I file a bug?
[05:03] <mpt> ugh, this is a bad merge
[05:03] <mpt> SteveA: and "Navigation" supersedes "GetitemNavigation"?
[05:03] <Kinnison> mpt: did you --star-merge?
[05:03] <mpt> no
[05:04] <Kinnison> do so
[05:04] <kiko> Kinnison, mpt: I got the same sort of errors
[05:04] <mpt> ok
[05:17] <Kinnison> Do we have a LockFile type class which serialises rather than simply failing to acquire?
[05:18] <kiko> Kinnison, not that I'm aware of -- you could poll on the lock though
[05:18] <kiko> hmmm it won't serialize though
[05:19] <Kinnison> polling on it would do
[05:19] <Kinnison> I just want a lockfile.acquire_goddamn_it() type function
[05:20] <kiko> I submitted a file that implemented safe locking (single-box locking) and IIRC carlos is using it
[05:20] <kiko> so it's there somewhere
[05:20] <ddaa> baz add utilities/fech-rex
[05:21] <Kinnison> carlos: where is it?
[05:21] <carlos> lib
[05:21] <carlos> lib/contrib/glock.py
[05:22] <Kinnison> and how does one use it?
[05:24] <carlos> Kinnison, look at any rosetta cronscript
[05:24] <Kinnison> okies :-)
[05:24] <Kinnison> great, the one I pick doesn't use it
[05:24] <LapTop006> kiko: waited 1/2 hour still get system error trying to upload gpg key
[05:26] <kiko> LapTop006, ok, what's your key id?
[05:27] <LapTop006> kiko: 6E63 F4AA
[05:27] <LapTop006> kiko: https://launchpad.net/products/launchpad/+bug/2981
[05:27] <Ubugtu> Malone bug #2981: Launchpad just gives "Oops" page when trying to add a gpg key Fix req. for: upstream launchpad, Severity: Normal, Assigned to: Nobody, Status: New http://launchpad.net/malone/bugs/2981
[05:27] <LapTop006> that's kinda neat
[05:28] <kiko> LapTop006, can you retry so I get a fresh error?
[05:28] <kiko> what's your name, btw?
[05:29] <LapTop006> kiko: Julien (is in my account
[05:29] <kiko> okay, cool
[05:29] <carlos> Kinnison, poimport one uses it
[05:29] <LapTop006> kiko: just retried then
[05:29] <Kinnison> carlos: po-attach seems more sane
[05:29] <Kinnison> carlos: oh no, that uses lockfile not glock
[05:30] <kiko> LapTop006, interesting, I don't get your error. one moment.
[05:30] <carlos> both should use glock, anyway poimport uses it for sure as we added glock for that script
[05:30] <Kinnison> carlos: Why do you use glock in blocking=False mode?
[05:30] <kiko> LapTop006, http://keyserver.ubuntu.com:11371/pks/lookup?op=vindex&search=0x6E63F4AA <- is this current?
[05:30] <Kinnison> carlos: since surely the point is to block?
[05:30] <carlos> Kinnison, because we run the script every 10 minutes
[05:31] <carlos> if we set it to True, we could get many poimport scripts blocked if the queue is big
[05:31] <LapTop006> kiko: yep, has the new elgamel encryption key I aded earlier
[05:32] <Kinnison> carlos: gotcha
[05:32] <kiko> LapTop006, I am not seeing your error, are you sure you're retrying?
[05:33] <LapTop006> I'm beind like three squid's and a junkbuster clone, but it should just have retried then
[05:34] <LapTop006> (and it's ssl anyway so nothing should be caching)
[05:34] <kiko> nope
[05:34] <kiko> LapTop006, what page are you on?
[05:35] <LapTop006> https://launchpad.net/people/laptop006/+editgpgkeys
[05:37] <kiko> LapTop006, and you're getting a system error on submit?
[05:37] <LapTop006> yep
[05:37] <LapTop006> "Sorry, something just went wrong in Launchpad."
[05:39] <kiko> LapTop006, I tried for you and it worked, so I think you're just caching the result.
[05:39] <kiko> you should get an email shortly
[05:39] <kiko> I pasted "8915 6B1B 60F2 9A96 B5AA  4E29 F433 CB5F 6E63 F4AA into the box", ftr.
[05:39] <kiko> oh, hmmm
[05:40] <kiko> LapTop006, can you try again, making sure you're not caching
[05:41] <LapTop006> tried in firefox just to make sure, and system error again (normally run opera)
[05:42] <kiko> LapTop006, what's your IP address?
[05:42] <kiko> the one generating your request?
[05:43] <LapTop006> My IP is ppp2a8d.dsl.pacific.net.au
[05:43] <LapTop006> may be coming from an ISP's squid, but shouldnt
[05:43] <LapTop006> sorry that's dns, but resolves to my ip
[05:46] <kiko> LapTop006, I see your accesses, but I see no errors from your
[05:46] <kiko> ah
[05:46] <kiko> now I do.
[05:46] <LapTop006> OK, just tried in IE, it worked, officially weird
[05:48] <LapTop006> ah, now I see why I had to have an encryption key...
[05:48] <kiko> right
[05:49] <LapTop006> well, it's validated now
[05:50] <dilys> Merge to rocketfuel@canonical.com/launchpad--devel--0: [trivial]  Make ProductRelease(productseries, version) UNIQUE (patch-2611: stuart.bishop@canonical.com)
[05:54] <LapTop006> and now I successfully signed the code-o-conduct
[05:54] <LapTop006> thanks kiko
[05:55] <SteveA> mpt: 
 SteveA: and "Navigation" supersedes "GetitemNavigation"?
[05:55] <SteveA> what do you mean?
[05:56] <SteveA> The Navigation class says nothing about how the catch-all traversal works
[05:56] <SteveA> GetitemNavigation says that it uses self.context[name]  to traverse, when nothing else matches.
[05:58] <kiko> SteveA, perhaps he was trying to resolve a conflict by studying a diff
[05:58] <SteveA> could be
[05:58] <SteveA> hard to tell what supercedes what, without knowing where
[05:58] <mpt> SteveA: That was when I was trying to resolve the conflicts by hand
[05:58] <mpt> instead of using --star-merge
[05:58] <mpt> because one side of the conflict had Navigation, the other had GetitemNavigation in its place
[05:59] <SteveA> i think bzr should have a better name for that command, like --resolve-conflicts or something
[06:00] <kiko> SteveA, for which command
[06:00] <kiko> ?
[06:00] <thisfred> to be able to upload new versions of existing .po's
[06:01] <thisfred> It would be great if I didn't have to bother the launchpad admins for each new language for my project...
[06:01] <SteveA> kiko: instead of --star-merge in baz.  seeing as that's what it does for people ;-)
[06:01] <kiko> lol
[06:01] <Kinnison> Can someone who knows, talk to me about emails from zopeless scripts?
[06:01] <mpt> SteveA: no, you have to do it yourself, then you tell Bazaar that you have resolveD it
[06:01] <kiko> thisfred, known issue, we need to make a workflow to do this nicely
[06:02] <thisfred> kiko, ok, no problem then, I'll just be patient ;)
[06:02] <kiko> patience is always a good thing :)
[06:04] <ddaa> SteveA: what happened to action portlets?
[06:04] <LapTop006> kiko: will you be at LCA06?
[06:04] <SteveA> ddaa: they have gone away
[06:04] <kiko> LapTop006, in NZ, right?
[06:04] <LapTop006> if so will have to buy you a beer
[06:04] <SteveA> ddaa: make menus instead
[06:04] <LapTop006> yep
[06:04] <LapTop006> registrations finally opened an hour or two ago
[06:05] <kiko> we'll see -- need to find out if somebody's inviting me over :)
[06:05] <SteveA> ddaa: you probably want to make a ContextMenu subclass like a class BranchContextMenu(ContextMenu):  usedfor = IBranch
[06:05] <LapTop006> (still waiting to hear about my papers yet)
[06:05] <ddaa> SteveA: documentation?
[06:05] <SteveA> https://wiki.launchpad.canonical.com/LaunchpadMenus   but needs updating
[06:09] <LapTop006> c;ear
[06:10] <LapTop006> guess I shoudln't IRC at 2am
[06:19] <SteveA> ddaa: let me know if you have questions about menus.
[06:20] <ddaa> sure, I have no idea how to use them :) But later...
[06:20] <ddaa> I'm still in the process of resolving conflicts as mechanically as possible
[06:20] <SteveA> okay
[06:20] <ddaa> once I have a halfway sensible merge I'll call you
[06:21] <SteveA> with actions menus, remove them from page templates, but note down what links were in them
[06:21] <SteveA> you'll make menus to represent the same links
[06:21] <ddaa> okay
[06:21] <ddaa> i've not yet reached the action portlet conflicts (missing files), I well
[06:21] <ddaa> * I will
[06:23] <ddaa> there's also traverser stuff in the mix
[06:24] <ddaa> actually, I'm adding a new facet
[06:25] <ddaa> you did not expect it was going going to be easy, did you? :)
[06:31] <SteveA> you're adding the 'code' (or whatever it is to be called) facet?
[06:32] <ddaa> yup
[06:32] <ddaa> with some naaaasty traversal logic
[06:32] <SteveA> really?
[06:32] <ddaa> canonical url for a branch is
[06:32] <ddaa> either
[06:32] <ddaa> $person/+branch/$product/$branch
[06:32] <ddaa> or
[06:33] <ddaa> $person/+branch/+junk/$branch
[06:33] <ddaa> right now I'm scratching my head about how to fit that in...
[06:33] <SteveA> i can help with that
[06:33] <SteveA> not the head scratching
[06:33] <SteveA> the solution
[06:33] <ddaa> I want something as goddamn simple as possible even if ugly
[06:33] <SteveA> yes
[06:33] <ddaa> I can work at making it nice later this week
[06:33] <SteveA> so, in the nearish future, the browser:url stuff is going away
[06:34] <SteveA> to be replaced by something simple in the Navigation classes
[06:34] <SteveA> but, you can do something equivalent right now
[06:34] <SteveA> and implement the logic you need in python code
[06:34] <ddaa> uh... right, I dunno what browser:url is :)
[06:35] <dilys> Merge to rocketfuel@canonical.com/launchpad--devel--0: [trivial]  Change the headers in the exported csv file to PC, 64-bit PC and Mac. (patch-2612: guilherme.salgado@canonical.com)
[06:35] <SteveA> ddaa: okay
[06:35] <ddaa> I sort of guess I should be doing something in PersonNavigation
[06:35] <SteveA> ddaa: the one issue i can see with what you have above is that you have TWO magic url steps
[06:35] <ddaa> that's the issue, yes
[06:35] <SteveA> you have +branch/+junk
[06:36] <SteveA> navigation works looking in two directions
[06:36] <SteveA> you have traversal, which says where to go from here
[06:36] <ddaa> neither stepto nor stepthrough (whose meaning I have intuited by reading the TeamNavigation code)
[06:36] <SteveA> so, if the url is /foo/bar/baz/spoo
[06:36] <SteveA> and you're at /foo/bar/
[06:36] <SteveA> then traversal stuff says what you want to do with .../baz/spoo
[06:37] <ddaa> you're going to tell me to do a PersonBranchSet...
[06:37] <ddaa> aren't you?
[06:37] <SteveA> this can be simple or complex, and can basically get other Navigation classes to do the job
[06:37] <SteveA> no
[06:37] <ddaa> okay, opening my ears
[06:37] <SteveA> what is the object at $person/+branch/$product ?
[06:38] <ddaa> none
[06:38] <SteveA> it is just used to select the branch?
[06:38] <ddaa> phone
[06:38] <ddaa> 2 mins
[06:38] <SteveA> ok
[06:41] <ddaa> back
[06:41] <SteveA> okay
[06:41] <SteveA> so, you can do it
[06:41] <ddaa> a branch is identified by a person, a product (or +junk for no product), and a branch name
[06:42] <SteveA> but i'm not going to tell you how right now
[06:42] <SteveA> when do you need to do it?
[06:42] <ddaa> product name or branch name in isolation are not meaningful
[06:42] <ddaa> right now, resolving merge conflicts...
[06:42] <ddaa> I need to get something that captures all the intent ASAP because the conflicts are blocking my working with niemeyer
[06:43] <ddaa> that's why I'm willing to go as simple and ugly as possible
[06:43] <ddaa> I guess I could get away with comments... "here should be some code to do branch canonical url traversal"...
[06:44] <SteveA> one more question:
[06:44] <SteveA> $person/+branch/$product   is that 404 or is any page supposed to be there?
[06:44] <ddaa> 404
[06:44] <ddaa> Well, I guess we can have page there later
[06:45] <SteveA> would such a page be at all useful?
[06:45] <ddaa> sure, "show me all bzr branches from robert collinse"
[06:45] <ddaa> but It's not there yet
[06:47] <SteveA> okay
[06:47] <ddaa> (and not really planned either)
[06:47] <ddaa> so, it's "nice to have".
[06:47] <SteveA> easiest is if you can fill it with comments describing what it should support
[06:48] <ddaa> yeah, that's what I'm doing right now
[06:48] <SteveA> when you're done, i might have made a change to make it easy to do this.  my change needs something from stub to land first, though.
[06:48] <SteveA> and, if you need it sooner, i can give you some very hacky code to go there instead.
[06:48] <ddaa> note that this traversal stuff is totally needed to get the branch facet stuff going
[06:49] <SteveA> okay
[06:49] <ddaa> I'm just making a comment so it does not block the conflict resolution
[06:49] <SteveA> fine
[06:49] <SteveA> so long as you just explain what we talked about in the comments, it will be fine
[06:50] <ddaa> okay
[06:59] <Kinnison> Umm, can I not do
[06:59] <Kinnison> try:
[06:59] <Kinnison>    stuff
[07:00] <Kinnison> except Something:
[07:00] <Kinnison>    stuff
[07:00] <Kinnison> finally:
[07:00] <Kinnison>    stuff
[07:00] <Kinnison> ?
[07:01] <kiko> nope
[07:01] <kiko> either try:/finally: or try:/except:
[07:01] <kiko> use nested try: clauses if you need to.
[07:01] <Kinnison> ffs
[07:01] <Kinnison> how crap is that?
[07:02] <niemeyer> Kinnison: This will change in the near future..
[07:03] <SteveA> coming from lots of time doing java, i found it refreshingly clear, actually
[07:04] <Kinnison> try/try/except//finally just seems ugly
[07:05] <SteveA> you're probably right
[07:07] <Kinnison> yay python
[07:38] <sivang> Kinnison: I thought you preferred some not to mention language ?:)
[07:38] <kiko> niemeyer, 2.5-material?
[07:41] <kiko> SteveA, replied to your report-email, tell me asap if you'd like any extra tweaks or else I'll look into debugging
[07:45] <Kinnison> sivang: Hmm?
[07:45] <niemeyer> kiko: I don't know, but Guido already approved the idea in the ML, so should be Pretty Soon Now
[07:45] <kiko> PSN :)
[07:46] <sivang> Kinnison: sorry, taking back :)
[08:02] <sabdfl> Kinnison: i'm going to try using your big db dump now
[08:02] <sabdfl> do you know how i bring a db dump "up to date"?
[08:02] <sabdfl> with th extra sql patches since it was produced?
[08:02] <sabdfl> also, the magic command to import that thing?
[08:03] <Kinnison> Having imported the dump, run python upgrade.py -U postgres -d launchpad_dev
[08:04] <Kinnison> as for importing it, erm, not sure
[08:08] <Kinnison> ciao all
[08:12] <sabdfl> Kinnison: sec
[08:12] <sabdfl> still there?
[08:12] <SteveA> ddaa: i have just hacked something that will allow you to do the traversal you need
[08:13] <elmo> sabdfl: he's leaving, but will be back online  at the hotel
[08:13] <sabdfl> ok
[08:13] <sabdfl> ask him to ping me when he's there?
[08:13] <elmo> alternatively, you could run out of the house and sabotage him on the way back to the tube station ;)
[08:15] <SteveA> elmo: can i hassle you about getting a copy of the bugzilla database for jamesh?
[08:22] <elmo> SteveA: done
[08:22] <SteveA> ta
[08:25] <carlos> later
[08:29] <sabdfl> elmo: how do i restore a .dump db into postgres?
[08:30] <elmo> sabdfl: pg_restore if it's binary
[08:30] <elmo> or just pipe the file into psql, if it's the old-skool text based dump
[08:30] <sabdfl> it's binary
[08:31] <elmo> pg_restore is what you want then
[08:32] <sabdfl> flash% pg_restore -d launchpad_dev -c dogfood_for_sabdfl.dump                 ~
[08:32] <sabdfl> pg_restore: [archiver (db)]  could not execute query: ERROR:  relation "public.cveref" does not exist
[08:32] <sabdfl> help
[08:35] <sabdfl> elmo: ^
[08:36] <elmo> sabdfl: sorry, I'm not sure - if it's a self-contained database restoring into an empty DB, it should work
[08:36] <elmo> is that file available anywhere I can see it?
[08:37] <sabdfl> nup
[08:37] <sabdfl> it's a dump form dogfood, Kinnison made it for me
[08:37] <sabdfl> i use -d launchpad_dev but it still seems to want to restore into launchpad_dogfood
[08:41] <Kinnison> sabdfl: make a launchpad_dogfood db, restore into that, rename it over
[08:41] <Kinnison> sabdfl: it'll be quicker
[08:42] <sabdfl> Kinnison: what's the restore fu?
[08:43] <Kinnison> honestly I don't know
[08:43] <elmo> how about using stub's pgrestore.py?
[08:44] <Kinnison> that needs a textual dump IIRC
[08:45] <Kinnison> sabdfl: what happens if you simply do pg_restore the_dump_file
[08:45] <Kinnison> ?
[08:45] <elmo> Kinnison: I don't think so?  it invokes pg_restore
[08:46] <sabdfl> it starts printing shedloads of sql
[08:46] <elmo> and is used for, e.g. staging, AFAIK
[08:46] <Kinnison> sabdfl: pg_restore the_dump_file | psql launchpad_foobar
[08:46] <Kinnison> elmo: hmm, so it does
[08:46] <sabdfl> lots of errors...
[08:46] <Kinnison> sabdfl: okay, try:
[08:47] <Kinnison> sabdfl: utilities/pgrestore.py -U postgres -d launchpad_dev the_dump_file
[08:47] <Kinnison> sabdfl: You may want to empty out the launchpad_dev db first
[08:47] <Kinnison> sabdfl: Or else create a new shiny blank db to restore into
[08:48] <sabdfl> ah
[08:48] <sabdfl> now it's thinking
[08:48] <sabdfl> and its making postgres think
[08:48] <sabdfl> cool, thanks!
[08:49] <Kinnison> no problems
[08:49] <sabdfl> we hope :-)
[08:49] <Kinnison> :-)
[09:13] <ddaa> SteveA: thank you, I do not have the time to look at it right now, but I will do tomorrow.
[09:13] <SteveA> okay
[09:14] <SteveA> i'm going to throw something at pqm, then what you need to do will be easy
[09:38] <SteveA> ddaa: can i get the branch you're working on from somewhere?
[09:42] <SteveA> ddaa: i can write the traversal code based on your comments, and get a patch for you
[09:52] <niemeyer> baz update is destroying my harddrive..
[09:53] <SteveA> we are so looking forward to bzr for launchpad
[09:58] <sabdfl> niemeyer: now you understand the urgency of rf-in-bzr :-)
[10:03] <dilys> Merge to rocketfuel@canonical.com/launchpad--devel--0: [trivial]  Fix https://launchpad.net/products/launchpad/+bug/2717 (The Vote class misses a default ordering column) (patch-2613: guilherme.salgado@canonical.com)
[10:07] <sabdfl> Kinnison: hmm... no sourcepackagepublishing records in that dogfood snapshot?
[10:07] <Kinnison> sabdfl: what? no securesourcepackagepublishinghistory records?
[10:07] <sabdfl> looks like it
[10:08] <Kinnison> FFS, they were there when I dumped the db
[10:08] <sabdfl> hm
[10:08] <sabdfl> they are there
[10:08] <sabdfl> somethings buggered up on my side. sorry.
[10:08] <Kinnison> phew
[10:08] <Kinnison> at least if it's that, you stand a chance of fixing it
[10:18] <kiko> thanks gn
[10:29] <ddaa> SteveA: david.allouche@canonical.com--2004/launchpad--sprint--0
[10:32] <ddaa> the comment is under PersonNavigation in lib/canonical/launchpad/browser/person.py
[10:38] <niemeyer> It killed my machine, *really*
[10:42] <kiko> niemeyer, 512mb? with or without revlib? do you have a cachedrev?
[10:44] <lifeless> niemeyer: I've pushed the latest cacherev to the public side of chinstrap
[10:44] <lifeless> that should save you quite a few Mb
[10:45] <ajmitch> morning :)
[10:47] <niemeyer> kiko: Yep, 512MB, with revlib
[10:47] <lifeless> hey ajmitch 
[10:47] <lifeless> no messages on bazaar-ng, its looking good
[10:49] <ajmitch> great
[10:49] <ajmitch> though I've got so many unread messages on that list now :)
[10:49] <lifeless> heh
[10:53] <dilys> Merge to rocketfuel@canonical.com/launchpad--devel--0: [trivial]  Fix https://launchpad.net/products/launchpad/+bug/2436 (When a new account is created, must delete all duplicated LoginTokens) (patch-2614: guilherme.salgado@canonical.com)
[11:30] <dilys> Merge to rocketfuel@canonical.com/launchpad--devel--0: [trivial]  Fix https://launchpad.net/products/launchpad/+bug/2450 (When asking to join a restricted team, no feedback is given on result or status) (patch-2615: guilherme.salgado@canonical.com)