/srv/irclogs.ubuntu.com/2009/09/10/#launchpad-dev.txt

mwhudsonjml: did you land your lib/devtools branch yet?00:27
jmlmwhudson, not even finished yet, I'm afraid.00:27
mwhudsonjml: i find myself wanting to move bits of ec2test in there00:27
jmlmwhudson, heh00:28
jmlmwhudson, please feel free00:28
jmlI'll suck up the conflicts.00:28
mwhudsonjml: i have this feeling i'll almost certainly want to talk to you about libraryizing ec2test in a while, are you going to be mostly online today?00:35
jmlmwhudson, I am.00:35
mwhudsongreat00:36
* mwhudson looks at the code again00:36
jmlheh heh00:53
rockstarNote to self: Never, ever, ever, ever do `easy_install launchpadlib` ever again.00:54
jml'sagi python-launchpadlib' works in karmic00:54
jml(finally!)00:54
jmlvery happy today because of that.00:55
mwhudsonrockstar: s/launchpadlib//00:56
rockstarmwhudson, virtualenv00:56
mwhudsonrockstar: ah, ok00:56
jmlmwhudson, you mentioned last night that we only look in 'lp' and 'canonical'01:11
jmlmwhudson, I guess I ought to add 'devscripts' to that, if I can figure out how.01:11
mwhudsonjml: i think it's going to be pretty easy if you find the relevant part of the code01:12
jmlbuildout-templates/bin/test.in looks promising.01:13
jmlwuu.01:14
jmlcompare and contrast: http://paste.ubuntu.com/268282/01:15
mwhudsonjml: ugh01:17
jmlmwhudson, that's right, 2 seconds of zopey waiting.01:18
jmlmwhudson, actually, when you call me re the ec2test stuff, I'd like to talk with you a little about this branch.01:20
mwhudsonjml: would in about an hour work for you?01:20
jmlmwhudson, yeah.01:21
mwhudsoncool01:21
* mwhudson lunches01:21
* mwhudson sings the "someone broke the buildbot" song01:32
jmlthe blame list is surprisingly empty01:40
=== Ursinha is now known as Ursinha-afk
=== bac changed the topic of #launchpad-dev to: is Launchpad Development Channel | Week 2 of 3.0 | https://dev.launchpad.net/ | Get the code: https://dev.launchpad.net/Getting | On-call reviewers available, see https://dev.launchpad.net/ReviewerSchedule | Use http://paste.ubuntu.com/ for pastes | 3.0 goal is to convert all templates: http://people.canonical.com/~beuno/conversions.html
jmlmwhudson, yo02:26
mwhudsonjml: hi02:28
mwhudsonjml: life's throwing me a curve ball, biab02:29
jmlmwhudson, np02:29
jmlcprov, I've done a bunch of stuff with nascentupload02:38
jmlcprov, I'd like to hook branches up to it now02:38
jmlcprov, which involves inferring an archive02:38
cprovjml: you sound scary sometimes.02:38
jmlI'm not scary.02:38
cprovjml: most of the time.02:39
jmlcprov, not branches up to nascentupload itself, but rather up to verify_upload.02:39
cprovjml: right, calculating branch push perms with verify_upload, that was the original plan, wasn't it ?02:40
jmlcprov, that's right02:40
jmlcprov, but I can't seem to recall how we figured out the archive based on the SuiteSourcePackage02:40
jmlthere are two choices I can see. ssp.distribution.main_archive02:41
jmlor something handwavey that looks at the publishing history02:41
cprovjml: defaulting Primary, IIRC02:41
jmlcprov, that's ssp.distribution.main_archive, right?02:41
cprovjml: the current SPBranch url doesn't support PPAs02:41
cprovjml: yes, that's it.02:42
jmlcool.02:42
jmleasy as.02:42
jmlcprov, thanks.02:42
cprovjml: but it may change on partner uploads02:42
cprovjml: 'partner' component == PARTNER archive02:42
jmlhmm.02:42
jmlcprov, how do we get the component from a SuiteSourcePackage?02:43
cprovjml: the component of the latest publication02:43
jmlcprov, is there already a function or method that knows that parter component implies partner archive?02:44
cprovjml: there is a hack in nascentupload02:44
cprovjml: NU.overrideArchive()02:45
jmlcprov, you owe me sooo many caipirinhas02:45
cprovjml: countless.02:46
wgrantcprov: When is that cesium ensurePerson CP happening?03:12
cprovwgrant: it won't be released until 3.0 rollout, AFAICT03:13
wgrantcprov: Oh, damn.03:13
cprovwgrant: iron.cc (debian-imports) is fixed.03:13
wgrantcprov: But Karmic is out of luck?03:14
wgrant(as well as the rebuild -- I guess I'll get my script to ignore upload failures for now)03:14
cprovwgrant: sort of, maybe the 'me too' in the bug report can help to make a point.03:15
cprovwgrant: it's actually very simple, since the revision was already CPed.03:16
wgrantcprov: I suppose. I will me-too.03:16
cprovwgrant: CP requested, easier than I thought.03:28
wgrantcprov: Thanks!03:28
wgrantWhat sort of process is involved in that?03:28
cprovwgrant: rolling the current production branch to a new set of machines03:34
wgrantcprov: Well, obviously, but I imagine there's a fair bit of preparation and approval paperwork.03:34
cprovwgrant: in this case all soyuz upload frontends (ppa, builddmaster and ubuntu)03:35
cprovwgrant: the paperwork was already done for the CP on the debian-imports machine03:35
wgrantcprov: Ah, right.03:35
cprovwgrant: from the developer PoV it is: 1) get it reviewed and landed on lp:devel 2) talk to the release-manager and convince him the CP is needed.03:36
* mwhudson is still a bit unconvinced of the benefit of targeted fixes vs the downside of having different services running different code03:39
mwhudsonnot my field though i guess03:39
wgrantThat has caused confusion in the past.03:40
wgrantcprov: Why are the stats on /builders down the side rather than along the top?03:41
wgrantIf they were along the top, the builder listing would be much more readable as status lines would wrap less.03:42
cprovwgrant: but OTOH to access the builder list you would have to always scroll down03:50
cprovwgrant: also the official summary is bigger than the ppa summary, so an ugly whitespace would appear if they were in the same grid row.03:51
wgrantcprov: Some of it would fit, and the builder list is always multiple screenfuls now.03:51
wgrantcprov: Hm, damn, true.03:51
wgrantIt seems like such a waste.03:51
wgrantAnd it's hard to scan the table.03:52
wgrantBut I can't now see where else to put it.03:52
cprovwgrant: I still have to submit a change to fix the 'status' column content03:52
wgrantcprov: What's wrong with it?03:53
cprovdoesn't show 'MANUAL' mode properly neither private-builds03:53
wgrantcprov: Works OK for private builds, AFAICT. (or at least as well as HiddenBuilder makes it...)03:53
cprovwgrant: but uses the NOT-OK icon, which is NOT-GOOD :)03:54
wgrantcprov: Well, I'd say HiddenBuilder is really ungood!03:54
cprovwgrant: the concept itself or the implementation ?03:55
wgrantcprov: Concept.03:55
cprovwgrant: the other alternative is to user an IBuilder macro, which seems much clearer conceptually, since IBuilder.status belongs to the view domain.03:56
wgrantcprov: IBuilder.status makes me sad, yes.03:57
wgrantIf that goes into the view, and builder.logtail gets properly secured, I don't see any reason for HiddenBuilder to exist.03:57
cprovwgrant: being on the view means we can't use it in zopeless mode (easily) but that's not a problem anymore.03:57
wgrantIt had me very confused when I first looked around that area of code.03:57
wgrantcprov: Why was it used in Zopeless stuff?03:59
cprovwgrant: when we had scripts/ftpmaster/buildd-monitor.py (a shell-like debug tool for the buildfarm)04:00
cprovfor instance.04:00
wgrantcprov: Ah, right.04:01
cprovwgrant: but as I said, not a problem anymore, it's gone.04:01
cprovwgrant: getting rid of HiddenBuilder and IBuilder.status looks like a nice weekend task.04:02
wgrantcprov: I'd not object to killing it myself.04:04
cprovwgrant: if you have time, that would be great!04:05
wgrantcprov: I will have ample time after finishing exams tomorrow.04:05
wgrantI guess then the archive and sometimes source can be linked to from the status, too.04:06
cprovwgrant: yes, once it's done in the view domain it becomes much easier.04:06
cprovokay, bed-time over here. G'night all!04:08
wgrantcprov: Night. Thanks.04:08
cprovwgrant: good luck with your tests and we can talk more about the IBuilder changes tomorrow.04:09
=== cprov is now known as cprov-zzz
jmlmwhudson, https://code.edge.launchpad.net/~jml/launchpad/better-sourcecode-update04:25
mwhudsonargh05:21
mwhudsonhm05:22
* mwhudson fixes, but wonders how that ever worked05:22
jmlmwhudson, what are you fixing?05:36
mwhudsonjml: i think i figured it out05:36
mwhudsonjml: ec2test imports plugins without enabling plugins05:36
jmlmwhudson, oh yeah.05:37
jmlmwhudson, I saw that behaviour in the pasnt.05:37
jmlI'm not a huge fan of ec2test's plugin dependencies, tbh.05:37
mwhudsonone thing at a time :)05:38
jmlheh05:39
* jml does some scienc05:52
jmle05:52
jmlmwhudson, interestingly, pulling each branch one after the other with no actual changes takes substantially longer than rsyncing with no changes.06:10
mwhudsonjml: multiple ssh negotiations?06:11
jmlmwhudson, quite possibly.06:11
jml5m4s vs 12s06:11
wgrantI find that SSH negotations to bazaar.lp.net can take up to 10 seconds at bad times.06:13
mwhudsonjml: if you're using bzrlib you can probably get it to reuse the transport06:13
mwhudsonjml: is your branch on lp up to date?06:13
jmlmwhudson, not quite06:15
mwhudsonjml: give it a push and i'll see if i can give you a hint :)06:15
jmlmwhudson, now that I can commit safely (and thus be allowed to push again!), sure06:18
jmldone.06:20
mwhudsonjml: oh06:23
jmlmwhudson, what?06:23
mwhudson    cmd_pull().run_argv_aliases(['-d', destination, branch_url])06:24
mwhudsonbit hard to jam transport sharing in there06:24
jmlmwhudson, yeah. it was only a stop-gap.06:24
jmlfiguring out the actual API for pulling required deciphering cmd_pull, which I'm not really up for right now.06:25
mwhudsonbranch.pull(otherbranch)06:25
jmldoes that update the working tree?06:25
mwhudsonjml: basically have a list around for the duration of the script06:25
mwhudsonjml: pass it as possible_transports when you open the branch06:26
mwhudsonjml: not sure actually06:26
mwhudsonjml: so you're probably right to be cautious06:26
jml:(06:33
jmlbecause the config uses lp: URLs, sharing transports isn't as easy as all that.06:33
mwhudsonnot sure i get the point06:36
jmloh never mind.06:38
* mwhudson EODs06:38
jmlit's because an edge server is having a hissy fit :)06:38
jmlmwhudson, ciao06:38
mwhudsonjml: i think bzr+ssh://bazaar.launchpad.net/~mwhudson/launchpad/libraryize-ec2test is probably good to land, ish at least btw06:39
mwhudsonjml: maybe you could take a look?06:39
mwhudsonjml: it's pretty boring so far06:39
jmlmwhudson, sure06:42
jmlmwhudson, fwiw, sharing the transports makes it substantially faster, but still slower than rsync. I think the extra time is lp: resolution.06:45
=== jml changed the topic of #launchpad-dev to: Launchpad is having issues | is Launchpad Development Channel | Week 2 of 3.0 | https://dev.launchpad.net/ | Get the code: https://dev.launchpad.net/Getting | On-call reviewers available, see https://dev.launchpad.net/ReviewerSchedule | Use http://paste.ubuntu.com/ for pastes | 3.0 goal is to convert all templates: http://people.canonical.com/~beuno/conversions.html
adeuringgood morning08:19
maxbjml: Hi, how did we leave things w.r.t you fixing the broken stack-on location for the meta-lp-deps branches?08:52
* maxb wonders if maybe they should be owned by a team that lets me write to them :-)08:52
=== spm changed the topic of #launchpad-dev to: is Launchpad Development Channel | Week 2 of 3.0 | https://dev.launchpad.net/ | Get the code: https://dev.launchpad.net/Getting | On-call reviewers available, see https://dev.launchpad.net/ReviewerSchedule | Use http://paste.ubuntu.com/ for pastes | 3.0 goal is to convert all templates: http://people.canonical.com/~beuno/conversions.html
maxbHow do you trigger the default branch stacking? Is it necessary to have a development focus?09:03
maxbDoes anyone fancy fixing some broken stacked_on locations for me or shall I mail the list?09:13
maxbNow we have mad, should I assume diff-output in merge cover letters is redundant?09:20
=== thekorn_ is now known as thekorn
wgrantmaxb: It's not because of mad, but yes.09:38
wgrantmaxb: LP will generate the diff and email it out.09:38
maxbPerhaps we should update the template cover letters on the wiki?09:42
wgrantmaxb: Certainly a good idea.09:54
deryckMorning, all.11:01
jtvhi deryck11:03
jtvbarry, ping11:04
=== mrevell is now known as mrevell-lunch
=== mrevell-lunch is now known as mrevell
gmbHmm. Pulling devel is taking a while. Maybe I've just got a shonky connection.13:09
=== matsubara-afk is now known as matsubara
=== Ursinha-afk is now known as Ursinha
sinzuiOMG! I just got autoresponder from feedback@...I do exist14:28
* sinzui wonders if his email will show up14:28
mrevellheh14:30
gmbI would like to take this opportunity to say AAAAAAAAAAAH.14:37
gmb(Because primal screaming in Starbucks is generally frowned upon)14:37
deryckno wonder everyone looked at me strange last time I worked in Starbucks14:41
deryckflacoste, ping14:41
=== kfogel changed the topic of #launchpad-dev to: is is Launchpad Development Channel | Week 2 of 3.0 | https://dev.launchpad.net/ | Get the code: https://dev.launchpad.net/Getting | On-call review in #launchpad-reviews | Use http://paste.ubuntu.com/ for pastes | 3.0 goal is to convert all templates: http://people.canonical.com/~beuno/conversions.html
flacostehi deryck14:49
barrybac: no karmic goodness yet.  it took all night just to get windows updated.  this morning wubi wouldn't work for either karmic or jaunty, but i booted to the live cd and was very happy that unlike vista, jaunty had no problem with my kvm switching.  i'll hack on this more tonight14:52
gmbderyck: WRT bugtask-index.pt, I think there's some mileage in converting it to 3.0 and landing that before working on the redesign. It (should) only be a couple of minor tweaks to get it up to spec, AFAICT. That okay with you?14:54
deryckgmb, of course.14:54
gmbCool.14:55
gmbderyck: Of course, if I'm wrong and it ends up being more painful than I expected, I'll just go straight for the redesign since we're not really losing anything in that case.14:56
deryckgmb, right, makes sense.14:56
deryckgmb, you might just consider the questions of what actions go in the portlet, etc. based on the conversion rules.  That is a large part of the redesign idea anyway.14:57
gmbderyck: Right. I'll look at that. After I get the portlets to appear in the right place, that is...14:57
deryckheh.  understood.14:57
=== cprov-zzz is now known as cprov
* gmb -> afk for a bit to pick the car up; back later on15:11
gmbOh, wait. Might be an idea to make sure there's a train to catch before buggering off.15:12
* gmb stays put15:12
flacostebarry: finally it seems zope will check-in your doctest fix!!!15:18
barryflacoste: wow15:32
=== salgado_ is now known as salgado
gmbRight, *now* i'm going to go get my car. Back later, people.15:38
matsubarastub, Chex, gary_poster, rockstar, bigjools, henninge_, sinzui, intellectronica, Ursinha: LP production meeting in 20 @ #launchpad-meeting15:40
intellectronicamatsubara: thanks for the reminder15:40
gary_posterty15:41
bigjoolsI love all-day meetings and phone calls15:41
henninge_matsubara: thanks, danilos will sit in for me today again.15:41
Ursinhacprov, hi15:48
cprovUrsinha: yo!15:48
Ursinha:)15:48
Ursinhacprov, have you seen this problem before? OOPS-1347F12915:49
ubot3https://devpad.canonical.com/~jamesh/oops.cgi/1347F12915:49
Ursinhahmm bad link?15:49
Ursinhahttps://lp-oops.canonical.com/oops.py/?oopsid=1347F12915:49
cprovUrsinha: let me check.15:50
Ursinhasure15:51
cprovUrsinha: I never seen it before, let me investigate, I will report back in a bit.15:54
Ursinhasure cprov, thanks!15:55
=== kiko__ is now known as kiko
rockstarabentley, Could this issue be caused by mad and some preview diff changes: https://lp-oops.canonical.com/oops.py/?oopsid=1348EA29216:15
=== Ursinha is now known as Urshina
=== Urshina is now known as Ursinha
=== deryck is now known as deryck[lunch]
=== cprov is now known as cprov-lunch
abentleyrockstar: Yes, it could.  We may need to blank existing diffstats.16:41
=== salgado is now known as salgado-lunch
=== matsubara is now known as matsubara-lunch
=== deryck[lunch] is now known as deryck
maxbflacoste: Thanks! And that version of launchpad-dependencies is good to be copied to jaunty too17:43
flacostemaxb: good point, doing that right now17:45
maxbI'm assuming that at this point in time we're just ignoring intrepid completely, and hardy mostly unless something urgent comes up17:46
flacosteyes17:46
cprov-lunchUrsinha: re. https://lp-oops.canonical.com/oops.py/?oopsid=1347F129, that's an *insane* URL (probably create with a double copy & paste). I don't really know what to do to prevent it.18:03
cprov-lunchUrsinha: please file a bug on soyuz, I will find out how to generate a proper 404 for it.18:04
Ursinhasure cprov-lunch, thanks18:04
=== cprov-lunch is now known as cprov
=== matsubara-lunch is now known as matsubara
barrybac: only 100 failures to go!18:09
=== salgado-lunch is now known as salgado
bacbarry: i thought you only started with 7018:40
barrybac: i merged rf :(18:41
flacosteSoyuz is DONE!!!19:08
flacosteCongratulations to cprov, noodles775, bigjools!19:08
cprovflacoste: thanks, and AFAIK the prize is 'now, convert blueprints' :)19:09
flacostepart of the prize :-)19:09
flacostebut i won't bug anybody with that until Monday19:09
flacosteAnd registry has converted their 100th template19:09
deryckcongratz to soyuz!19:09
cprovflacoste: I'm not complain, it's fair enough we've pushed most of the complex templates (distribution, distroseries) to foundations.19:12
flacosteerr, registry19:13
flacostefoundations are the 3.0 UI slacker19:13
bigjoolsdon't forget I did some of registry's templates already :)19:14
salgadogary_poster, around?19:47
gary_postersalgado: yes19:48
salgadogary_poster, hi there.  quick question... is it possible to go up from a subview to the view that originally called it?19:49
* salgado realizes this may not be a very clear question, but knowing how smart gary_poster is, it might not be a problem. :)19:49
gary_postersalgado: heh.  hey.  in depends on how the subview was instantiated.  If the view used itself as a context then the subview might have stashed it away.  If that's not the case (and it very well might not be) the effective answer is "no".19:51
gary_posterYou could actually do it by climbing the stack to find the frame of the parent view maybe, but I don't think anybody wants to see that code. :-/19:51
gary_postersalgado: ...there might possibly be something stashed on the request you could use, though I doubt it.  Well, maybe.  Looking...19:53
salgadogary_poster, in this case the subview was called from the template ('context/@@+foo')19:53
gary_posteryeah, that would not include the parent view as context, just the usual (context, request).19:53
salgadoI was afraid climbing the stack was the only option, but if there's something in the request, it'd be great19:53
gary_postersalgado: still looking, because I thought there was something more likely to help and without the underline, but request._last_obj_traversed might be the top view...19:58
salgadothat'd be just perfect19:59
salgado(Pdb) p self.request._last_obj_traversed.__class__20:03
salgado<class 'zope.app.publisher.browser.viewmeta.SimpleViewClass from /home/salgado/devel/launchpad/breadcrumbs-for-leafs/lib/lp/registry/browser/../templates/person-edit.pt'>20:03
salgadoit is, indeed, the top view, but wrapped in this SimpleViewClass thing which prevents me from doing anything useful with it, it seems20:04
flacostesalgado: no20:04
flacostesalgado: views are generated class that have the actual view class as parent20:05
gary_postersalgado: if that object seems to be what you want, I think we can make it accessible without the underline with just a small adjustment.  We already override the publication object, and it gets notice of the last traversed object, and the publication object is available off the request.20:05
gary_posterTherefore we could make publication.afterTraversal, or even publication.callObject, stash the terminal bit of the traversal in a more "official" way.20:05
gary_posterand then you could get the object from wherever you stashed it (the publication or the request or whatever)20:05
flacostegary_poster, salgado: we already have an array saving all traversed objects20:05
flacostealthough the view wouldn't be there20:06
flacostesince it's updated by Navigation and not the request/publication20:06
flacostebut salgado wanted to fix that20:06
gary_posterflacoste: ah, I thought I remembered that.  That must be Launchpad-specific, rather than Zope?20:06
salgadoso many things I wanted to fix20:06
flacosteyes20:06
salgadorequest.traversed_objects20:06
flacosteyeah, but that's updated by Navigation20:06
flacostenot the request itself20:06
flacostewhich is dumb20:07
flacosteand should be fixed20:07
salgadoright, but these are different problems20:07
gary_posteryeah, if that were updated by the request then you'd have what you want.  If you want a hack, then you can do what I suggested, and have one of those hooks stash the last traversed object in the same list.20:07
gary_posterthen when you fix it to do the right thing, the code you write now will still work20:08
gary_postersalgado: as far as the SimpleViewClass not being what you want, flacoste is right of course--it is a generated base class, not a wrapper.  You should still be able to get what you expect off of the instance.20:08
salgadoyeah, /me gotta learn how to read the output of print statements.  it clearly says it is a class20:09
gary_postersalgado: maybe already clear, but I'd say that fixing the traversed_objects generation is not quite a different problem.  If the request updated that list of traversed objects, the last one would be the view to which the URL had traversed (as opposed to any traversal done within a page template) so it would probably be what you want20:10
gary_posterso yes different, but if it were fixed, there would be a clear relatively easy answer here20:11
salgadooh, right, I see what you mean now20:11
salgadofor some reason I assumed request.traversed_objects should only have the content objects that we traverse and completely ignored the fact that we could append the top view there too20:13
salgadoflacoste, do you see a problem with that?20:13
flacostesalgado: i don't mind either way20:14
gary_posterright.  it is in fact always traversed, so it is theoretically very reasonable.  practically, it might throw a monkey wrench in code using that list already, but you'd be looking for that.20:14
flacosteright, there will probably fallout from such a change20:14
flacostealthough i think the only thing that use it is the breadcrumbs code20:14
flacosteso not a big fallout20:14
flacostesince that's the primary reason to make this change20:14
gary_posterbecause you are rewriting that now, essentially, salgado?20:15
salgadogary_poster, I don't understand your question20:15
gary_posterI was asking if this effort--the thing you are working on that made you ask me about how to get the top-level view--is for a project of rewriting the breadcrumb code20:16
gary_postersalgado: if the fallout is big, the other approach I talked about would be less elegant but could be easily made to be less invasive.20:17
salgadogary_poster, not really -- all I want now is to use the title of the current page in the breadcrumbs20:17
gary_posterI see20:17
gary_posterWell, sounds like your call to me. :-)20:17
salgadoI've already spent a lot more time than I should on this, so I'd rather go with whatever is quicker now20:23
salgadogary_poster, what should I do to get the actual view from that SimpleViewClass?20:24
salgadoI've tried self.request._last_obj_traversed.__parent__, but that gives me the actual view's context20:24
gary_postersalgado: the SimpleViewClass is the view20:26
gary_postersalgado: if you look in __class__.__bases__ (maybe you will have to walk up a bit) you will see the mix in that you expect, or if you do an isinstance(view, ClassYouExpect) you should see what you expect20:27
salgadogary_poster, could that be security proxied?20:28
gary_postersalgado: could be yes20:28
gary_postersalgado: type(obj) should tell you20:28
salgadothat's it20:29
salgadogary_poster, would it be ok if I use request._last_obj_traversed for now and file a bug to fix it right after 3.0?  I really need to land this so that I can get back to work on page conversions20:35
gary_postersalgado: I don't like it, but I understand.  I don't want it to get lost, if that's what you do.20:36
gary_postersalgado: but if it is fixed right after 3.0, that would be cool20:36
allenapcprov, salgado: Fyi, I've forced a build in devel.20:37
allenapcprov, salgado: Ah, and it's just fallen over again for a different reason.20:37
=== gary_poster is now known as gary-away
allenapcprov, salgado: It's because LP is fubar'ed.20:38
cprovallenap: yup, bzr smartserver is affected too20:39
salgadogary-away, I'll give bug 423898 a go, then, but if it's tricky to fix I'll resort to request._last_obj_traversed for now. thanks a lot for the help20:40
ubot3Malone bug 423898 in launchpad-foundations "Should not rely on Navigation._publishTraverse() to have objects appended to request.traversed_objects" [Undecided,Triaged] https://launchpad.net/bugs/42389820:40
mupBug #423898: Should not rely on Navigation._publishTraverse() to have objects appended to request.traversed_objects <Launchpad Foundations:Triaged> <https://launchpad.net/bugs/423898>20:40
mupBug #423898: Should not rely on Navigation._publishTraverse() to have objects appended to request.traversed_objects <Launchpad Foundations:Triaged> <https://launchpad.net/bugs/423898>20:40
mupBug #423898: Should not rely on Navigation._publishTraverse() to have objects appended to request.traversed_objects <Launchpad Foundations:Triaged> <https://launchpad.net/bugs/423898>20:40
salgadoflacoste, do you have a couple minutes to talk about ^?20:40
flacostesure20:42
flacosteskype or IRC?20:42
salgadoflacoste, whatever works best for you20:42
salgadoI just want some pointers so that I can try and fix it20:43
flacosteok20:43
salgadoI had a quick look before filing it and it was not clear to me where I'd do what is currently done by Navigation20:43
flacostesalgado: i'd suggest afterTraversal in the publication, do you agree gary-away?20:46
mwhudsongood morning20:47
=== cprov is now known as cprov-afk
barrybac: canonical.launchpad.helpers.backslashreplace()20:53
bacbarry: nice20:54
bacbarry: your way is shorter20:54
barryyeah, i wish i'd known about it like 72 hours ago ;/  waaaayyy too late to go back now20:54
barryyeah20:54
mwhudsonabentley, rockstar: i need to be away at the stand up time, would you be ok with having it earlier?20:57
rockstarmwhudson, sure.20:58
=== gary-away is now known as gary_poster
salgadoflacoste, that didn't work -- now only the view is added to traversed_objects21:02
gary_posterflacoste, salgado: I was thinking of afterTraversal as a hack solution.  It would not replace the current code, only add to it21:03
gary_posterflacoste: therefore it might be an ok interim step21:03
gary_posterthat's one of the approaches I mentioned earlier21:04
gary_posteryou could leave the current behavior of the navigation21:04
gary_posterbut add this other behavior21:04
gary_posterand then when you did it "right" (by overriding the publication's traverse methods, and unfortunately maybe having to copy-n-paste code, because you would want to inject something in a loop)21:04
gary_posteryhe code that gets the object for titles would still be looking in the same place21:04
gary_postersalgado: did that make some sense?21:05
salgadoI see21:05
flacoste???21:05
flacosteah, ok21:05
flacosteafterTraversal is called only once21:05
flacostenot on every step21:05
flacostesalgado: callTraversalHooks would be the one to use then21:05
flacosteor traverseName21:05
flacostesalgado, gary_poster^^^21:05
=== mup_ is now known as mup
gary_posterflacoste, traversalHooks maybe.  traverseName would make me nervous, but maybe.  I'd look into it if desired, but want to get to some other tasks ATM.  Well, I'll look at the publication again...argh21:06
gary_posterok looking21:07
salgadogary_poster, I don't understand why I'd want a loop?  I thought it'd be just a matter of moving the "request.traversed_objects.append(ob)" from one place to another21:07
salgadofrom Navigation to traversalHooks(), that is21:08
gary_postersalgado: traversalHooks might work yes.  Didn't have code open, so working from memory, and have other things going on simultaneously :-) .  Going to look at code now...21:08
salgadogary_poster, it works. :)21:09
gary_postersalgado: yes, cool.  The loop I was talking about was the one in zope/publisher/base.py, in the traverse method.  Since we have the hook we don't need to rewrite the loop, yes.21:10
salgadocool, let me run some more tests now to see if this is really what we need21:12
salgadothanks a lot, gary_poster and flacoste21:12
gary_postercool, np21:13
mwhudsonabentley: have you seen https://bugs.edge.launchpad.net/launchpad-code/+bug/427383 ?21:24
ubot3Malone bug 427383 in launchpad-code "ValueError: No JSON object could be decoded in merge through the API" [Undecided,New]21:24
jelmerhas launchpad switcehd to python 2.5 yet?21:28
mwhudsonjelmer: no21:30
mwhudsonjelmer: talk to gary_poster about that :)21:31
=== ajmitch_ is now known as ajmitch
jelmerah, pity21:35
=== kiko is now known as kiko-afk
=== salgado is now known as salgado-afk
* mwhudson afk for a bit22:01
mwhudsonrockstar: you talk to abentley and i'll talk to you when i get back?22:02
rockstarmwhudson, oh crap, I forgot he's off today.22:02
rockstarYou and I will chat when you get back.22:02
barrybac: good news: i'm down to 22 failures.  bad news: these are the ugliest ones :/22:05
bacgo go go22:05
gary_posterjelmer: Ideally for LP 3.0 (this release), definitely for subsequent release.22:05
rockstarbarry, sounds like you and I are in a similar boat.22:05
barryrockstar: i'm paddlin' hard :)  what branch are you working on?22:06
rockstarbarry, I'm working on the branch index page.22:07
rockstarbarry, so when I ran the tests to see which failed after my changes, the answer was "all"22:08
barryrockstar: heh, sounds like me.  my branch changes page <titles> so every story broke22:08
mwhudsonrockstar: oh yeah!22:14
* mwhudson still not ere22:14
maxbmwhudson: "changes are propagated to the mirrored side" - when?22:21
* barry fixes 2 more. 20 to go22:31
=== matsubara is now known as matsubara-afk
micahghi, I"m getting a badsig on the lp-dev ppa22:42
micahgkfogel, I'm getting a badsig on the lP dev ppa22:52
micahgLP22:52
wgrantmicahg: Which distroseries?22:52
wgrantAnd are you sure there's no proxy?22:53
micahgjaunty22:53
micahgwell, I imported the key already22:53
wgrantBADSIG means you have the key, but the signature is bad, doesn't it?22:53
wgrantAnd the signature is good, so it's probably a proxy between you and LP.22:54
kfogelmicahg: I'm no sig expert, but don't install till this is resolved, obviously22:54
micahgok22:54
micahgwell, there is a proxy22:54
micahgbut it doesn't happen for any other ppa22:54
wgrantA bad, evil proxy.22:54
kfogelwgrant: how could a proxy do this?  The proxy shouldn't interfere with data transfer like that, should it?22:54
kfogelA sig is just a file.22:55
micahgah22:55
wgrantkfogel: Happens all the time with bzr. It caches one version of one file, another version of another.22:55
micahgI had the Packages.bz2 file excluded22:55
micahgmaybe I need the sig file excluded22:55
micahgwgrant: can you tell me what I need to have excluded from the squid proxy?22:55
wgrantThe relevant files are Release, Release.gpg, Packages, Packages.gz, Packages.bz2. But you shouldn't need to do that.22:56
* barry fixes 3 more; 17 to go23:12
jmlkfogel: hellloooo23:25
kfogeljml: hi, let's resume your review of my merge proposal https://code.edge.launchpad.net/~kfogel/launchpad/add-community-contributions-script/+merge/1141723:25
jmlkfogel: as you know, I am reviewing your patch @ https://code.edge.launchpad.net/~kfogel/launchpad/add-community-contributions-script/+merge/1141723:25
kfogelFAIL23:25
kfogeljml: ok, so first thing is -- 4 space indentation, not 223:25
* kfogel goes to his branch to make the change23:25
jmlkfogel: I don't normally do reviews in real-time chat, so we'll see how this goes.23:25
jmlkfogel: also, PEP 8 says that docstrings should be start with a single summary line, then have a blank line, then have any other text as following paragraphs.23:26
kfogeljml: don't worry, I won't interpret anything as snarkiness unless it actually is.23:26
kfogeljml: thx, ok23:26
jmlkfogel: which the module docstring doesn't do.23:26
jml(see PEP 257 for details)23:26
jmlhttp://www.python.org/dev/peps/pep-0257/23:26
jmlcomments are good23:27
jmllittle bit disappointed that "Right Way" and "XML" are in the same sentence...23:27
kfogeljml: ironically, if you look at ~kfogel/+junk/lpcc/lpcc.py, that's how I originally had it.  Later I compactified it.23:27
kfogeljml: HAH, re XML23:27
kfogeljml: I'm not reading all of PEP 257 now, unless you think I should.  I'm just changing as you directed.23:28
jmlkfogel: you never ever need to end a line of Python with a semi-colon23:28
jmlkfogel: for 'RevisionError', consider replacing the 'pass;' line with a short docstring23:29
jmlkfogel: sure, don't read it all now, just pasting for reference23:29
kfogeljml: old C habit, thx23:29
jmlkfogel: we tend to use XXX, rather than TODO.23:30
kfogeljml: ok23:30
jmlkfogel: there's (ugh) a format for them too.23:30
kfogeljml: I'm falling behind, but I'll catch up if you slow down :-)23:30
jmlkfogel: heh heh.23:30
kfogeljml: is there something I can put in the file to tell it the python indent level?23:31
* kfogel researches emacs23:31
jmlkfogel: don't know. I have 4 set as my global default indent.23:31
* jml looks for the XXX policy23:32
jml(too many wikis)23:32
barrykfogel: in python-mode.el (the one true python editing mode) there's py-indent-offset, which defaults to 423:33
jml# XXX: SteveAlexander 2007-03-12 bug=12345: This code is going to23:34
jml#  fail after next year.23:34
barrykfogel: python docstrings are easy.  the rules essentially came from elisp, circa 1994 (defined at the first python conference at NIST -- i'm old, i was there :)23:34
barrys/conference/workshop/ but still23:35
kfogeljml, barry: dang it, what's the Easy Way to re-indent a bunch of python from level 2 to 4?23:35
kfogelbarry: that's why I instinctively followed it at first, only to undo it later (not realizing it was the rule in Python too)23:35
barrykfogel: C-c TAB -- py-indent-region, though it's often just as easy to indent-rigidly23:36
barry:)23:36
jmlkfogel: I used to know this...23:36
kfogelbarry: indent-rigidly wouldn't work because this code nests to more than one level23:36
jmlindent-region, I think23:37
jmlC-M-\23:37
kfogelbarry: py-indent-region also doesn't exist -- isn't that an old python mode?  python-modes got all confused at some time in the past; I'm using whatever is in the Emacs bleeding edge tree right now.23:37
kfogeljml: indent-region also doesn't work, because I have nesting23:38
jmlmeh.23:38
jmlsearch and replace '  ' with '    '?23:38
kfogeljml, barry: the only thing I can think of is a query-replace-regexp,...23:38
kfogelyeah23:38
barrykfogel: do yourself a favor and grab lp:python-mode :)23:38
jmlexcept it breaks other things you might like23:39
kfogelbarry: oh ho, is that it then?23:39
kfogelbarry: ok, doing now23:39
barrykfogel: you don't really want the whole history, but python.el is a total rewrite that rms ordered for no good reason.  python-mode.el's been around for much much longer (1995 or so), is well maintained by python core devs, and is full of awesomehood :)23:39
kfogelbarry: why on earth aren't we shipping it in GNU Emacs??23:39
jml... and missing some features from python.el23:39
kfogelbarry: the indent is working fine now, thx23:41
barryjml: works both ways, and there is some activity in python-mode world to port those over (though it appears a merge is politically impossible)23:41
barrykfogel: yeah, exactly. politics (imho)23:41
jmlkfogel: for strings like rev_url_base, prefer foo = (\n"blah blah blah "\n"blah blah.")23:42
barrykfogel, jml anyway, this is fun, but dinner awaits :)   if you're really interested in the gory details (from my admittedly biased position), give me a call sometime23:42
barryi'll be back online later.  gotta get karmic up on my new machine!23:43
kfogelbarry: have fun!23:43
kfogel...stormin' da castle23:43
jmlheh23:43
jmlbarry, g'night.23:43
kfogeljml: so for "# ### TODO", switch to "# XXX" with subsequent lines indented 2?23:44
jmlindented 2? uhh, no.23:44
jmlkfogel: I'll amend the policy doc.23:45
kfogeljml: sorry, indented 123:45
wgrantShould the anti-Karmic notes on /Getting and /Running be removed, or just altered to say it now works?23:45
kfogelwgrant: if it works, then yeah23:45
kfogelwgrant: oh sorry23:46
kfogelwgrant: I think it's worth mentioning that it now works on Karmic23:46
wgrantkfogel: That's what I thought.23:46
kfogelwe can remove that after a while23:46
jmlkfogel: no indentation. nobody does it, the policy is wrong.23:46
kfogeljml: ok23:46
jmlkfogel: you should also include your name and the date23:46
jml(now it's correct)23:46
* jml harnesses the lightning23:47
* mwhudson returns23:47
kfogeljml: what page are you editing?  is there an example there?23:47
jmlmwhudson, hi23:47
mwhudsonmaxb: "eventually"23:47
deryckHi, all.23:47
mwhudsonmaxb: or after the branch is unlocked23:47
jmlkfogel: https://dev.launchpad.net/XXXPolicy23:47
mwhudsonmaxb: i think i fixed all the branches now23:48
mwhudsonmwh@grond:libraryize-ec2test$ bzr log lp:~launchpad/meta-lp-deps/gutsy23:48
mwhudsonssh: Could not resolve hostname bazaar.launchpad.launchpad: Name or service not known23:48
mwhudsonwhat on earth?23:48
mwhudsonbazaar.launchpad.launchpad?23:48
jmlkfogel: at one point, you do a lot of 's += '23:49
jmlkfogel: that's fine, but mostly you shouldn't do string concatenation that way, because Python is terrible.23:49
wgrantmwhudson: That lp: URL resolves fine here....23:49
kfogeljml:         rev_url_base = (23:49
kfogel            "http://bazaar.launchpad.net/~launchpad-pqm/"23:49
kfogel            "launchpad/devel/revision/")23:49
kfogeljml: IRC-messed-indentation aside, that's the way to do it?23:49
jmlkfogel: that's right.23:50
kfogeljml: and it's not a tuple because there's no comma at the end?23:50
jmlkfogel: correct.23:50
jmlkfogel: Python treats adjacent string literals as one string23:50
kfogeljml: yeah, I just didn't know (or forgot) about the grouping parens, and could never find a way to get adjacent strings to indent nicely.23:50
* jml likes kfogel, but wishes kfogel_ would fall in a well.23:51
kfogeljml: so instead of "s += ...", should I do "s.append()" or something?23:51
kfogeljml: is there a kfogel_ here?23:51
kfogelkfogel_: ayt?23:51
kfogelwhoa23:51
kfogelhow'd he get in here?23:51
kfogelI don't even know how to make him go away.23:51
jmlx = ['ouaeo', 'hateouahseo', 'gq;jmkw']; 's = '.join(x)23:52
jmlumm.23:52
jmls = ''.join(x), rather.23:52
jmlkfogel: you know about abbrev-mode right?23:52
kfogeljml: yes23:52
kfogelwhy?23:52
jmlkfogel: you say, # "ExternalContributor" is too much to type, so I guess we'll just use this.23:53
kfogeljml: that's so I could get the great abbreviation, man!23:53
jmlkfogel: But I say, Ex M-/ is easy to type :)23:53
jmlkfogel: heh23:53
kfogeljml: (also, just because I use abbrev mode doesn't mean other people do)23:53
kfogeljml: I usually just use dynamic abbrevs anyway23:54
jmlkfogel: you can leave it as is, but normally Launchpad code favours longer names.23:54
jmland relies on people having decent editors or great patience.23:54
kfogeljml: ah, ok23:55
kfogeljml: in this case, I'd like to leave it, for obvious reasons, but noted for next time.23:55
jmlblank line after class docstrings23:55
jmlkfogel: ooh. time to python up :)23:56
* jml is looking at show_contributions23:56
kfogeljml: whew, ok.  slow down, still correcting all the s += stuff.23:57
jmlkfogel: ok. sorry.23:57
mwhudsonwgrant: repeatable for me23:57
kfogeljml: (don't really have to slow down, just explaining where I've got off to)23:58

Generated by irclog2html.py 2.7 by Marius Gedminas - find it at mg.pov.lt!