/srv/irclogs.ubuntu.com/2010/01/12/#launchpad-dev.txt

al-maisanrockstar: http://pastebin.ubuntu.com/355257/ (the UPDATE query)00:00
lifelessbarry: off the phone?00:54
barrylifeless: yep.  had dinner too :)00:55
lifelessso00:55
lifeless09:48 < lifeless> barry: which one ends up in the rest field in pypi00:55
barrylifeless: what is "the rest field"?00:56
lifelessthere is a field called description which takes ReST00:57
lifelessand makes the pypi page pretty - e.g. if you look at http://pypi.python.org/pypi/testresources00:57
barrywouldn't that be long_description?00:58
lifelessI don't know... thus my asking ;)00:58
barrylifeless: i think so00:58
lifelessI'll try long_description on my next upload.00:58
barrylifeless: also, do you know about packages.python.org?00:58
lifelessno, never heard of it00:58
barrylifeless: http://packages.python.org/munepy/00:59
lifelesspretty00:59
barrylifeless: you upload a zip file with an index.html.  nice for uploading a full sphinx documentation tree00:59
lifelessoh cute00:59
lifelesscan setup.py do that too?01:00
lifelessor better yet, is there an API for doing all this without setup.py ?01:00
barrylifeless: if you go to a package you admin, and click on the pkg_edit link, you'll see an upload form.  not sure if it can be uploaded from setup.py01:00
barrylifeless: that i'm not sure about01:00
lifelesswhats the right place to find out (about setup.py for starters)01:01
barrylifeless: disutils-sig probably01:01
barrylifeless: oh also...01:01
barryhttp://docs.python.org/distutils/index.html01:02
lifelessheh01:02
lifelessI've been reading that01:03
lifelessbut it seems to leave a lot out01:03
barrylifeless: other than that, it's all magic :)01:03
barrydistutils-sig then probably01:03
lifelessthanks01:08
barrynp.  will probably be mostly offline for the rest of the evening.  have a good one!01:09
jmlmwhudson, have you added a makeRecipe to the factory?02:11
mwhudsonjml: no02:11
al-maisanrockstar: http://pastebin.ubuntu.com/355298/02:20
jmlmwhudson, ok if I move makeBuilderRecipe?02:20
mwhudsonjml: go for it02:20
jmlmwhudson, thanks.02:22
al-maisanrockstar: ./lib/lp/soyuz/tests/test_archive.py02:22
al-maisanjtv: here you go: http://pastebin.ubuntu.com/355304/02:40
jtval-maisan: thanks!02:40
jmlthumper, https://code.edge.launchpad.net/~thumper/launchpad/active-branch-counts/+merge/744003:13
jmlwgrant, we should get https://code.edge.launchpad.net/~wgrant/launchpad/bpr-ddeb_package-db/+merge/14008 sorted out this week03:14
mwhudsonstub: hello03:19
mwhudsonstub: can you review https://code.edge.launchpad.net/~mwhudson/launchpad/recipe-db-schema/+merge/16268 again please?03:19
stubyo03:19
mwhudsonideally after i've pushed the most recent revision...03:19
stubmwhudson: With comments in comments.sql so this makes more sense to a layperson?03:22
mwhudsonstub: oh right03:22
mwhudsonwow, comments.sql is SO FAR from alphabetical right now03:23
jameshrun it throught sort?03:24
mwhudsonsadly i don't think that would quite work03:27
stubmwhudson: SourcePackageRecipeDataInstruction.recipe_data should be NOT NULL?03:27
mwhudsonstub: certainly, yes03:27
stubOh... jono mentioned already.03:27
* stub waits for latest diff03:27
mwhudsonstub: diff is up to date now03:30
mwhudsonstub: jml was actually meaning something else :)03:31
jmlnoodles775, actually, I think the build behaviour classes should rightly live in lp.SOMETHING.adapters03:46
jmlwhere something is probably soyuz.03:46
bigjoolsbuildmaster?03:46
jmlyeah, maybe that too03:47
jmlor in the adapters module of their respective apps03:47
jmlbinarypackage in soyuz, recipe in code etc.03:47
noodles775sounds good.03:47
jmlanyway, that's later.03:47
jml(we should have a "where do things go" kind of document too)03:47
jml((and code to enforce it))03:47
jml(((and fix all the broken stuff too)))03:48
mwhudsonstub: is stuff like date_last_modified considered sufficiently obvious to not need an entry in comments.sql?03:51
stubmwhudson: Generally, yeah. If the comment just repeats the column name there isn't much point.03:51
mwhudsonok03:51
jmlnoodles775, you guys aren't working on an interface for the BuildSourcePackageFromRecipeJob table, are you?04:04
noodles775jml, Nope.04:04
jmlnoodles775, thanks.04:06
al-maisanrockstar, jtv : the XXX bug is #50625504:08
mupBug #506255: Refactor BuildQueue unit tests <buildfarm> <Soyuz:Triaged> <https://launchpad.net/bugs/506255>04:08
* thumper EODs04:58
bigjoolsSchwarzenegger fan?04:59
jtvjamesh: got a nice little pickle with Storm... care to do some puzzling?05:08
jameshsure05:08
jtvthanks.  I've got a class that is not orm-backed, but one of its base classes is.05:08
jtvor actually, one of its base classes _delegates_ to a class that is.05:09
jameshthat sounds a bit weird ...05:09
jtvbranchjob hierarchy.05:09
jtvnow, some generic code elsewhere goes "what class do you need?  Okay, I'll build a Storm query on that class."05:09
jtvAnd when it tries that for my class, things go "boom, there's no __storm_table__ here"05:10
jtvChanging that generic code could be a bit painful05:11
jameshmaybe you shouldn't use this class with the generic code then?05:11
jtvReplacing this class would also be painful.05:11
mwhudsoni am bored of waiting for make schema05:12
jtvIt'd be perfect if Storm were able somehow to deal with the delegation.05:12
jameshmwhudson: you should delete some sample data then05:12
jamesh iirc, that was one of the big time sinks05:12
mwhudsonsecurity.py seems to be the longest part05:12
jtvdelete some tables05:13
mwhudsoni think it's the usual "we have too many tables"05:13
jameshjtv: I'm not exactly certain what you're trying to do with this class, so it is difficult to say.05:13
jameshmwhudson: ah.  I seem to recall thinking that could be optimised somewhat05:13
jameshperform multiple grants in a single statement05:13
jameshjtv: can you point me at the code in question?05:14
jtvjamesh: it's still in ec2...  the weird construct with the delegation is imposed by existing interfaces though; see lib/lp/code/model/branchjob.py05:15
jtvThere's BranchJob (implementing IBranchJob), with its specialized child classes that are all based on BranchJobDerived.05:15
jtvBranchJobDerived delegates IBranchJob to BranchJob.05:16
=== stub1 is now known as stub
jameshjtv: and what code are you passing these instances to?05:18
jtvjamesh: in lib/lp/soyuz/model/buildqueue.py you'll find a property specific_job.05:18
jtvThat tries to query the class.05:18
jtvBut for my case of course, the wrong class.05:19
jtv(It ends up there by registration of a utility in zcml)05:19
jameshjtv: my suggestion would be to not do what you're doing then.05:22
jtvjamesh: yes, maybe the way out is to de-generalize the query and move it into the utility.05:22
* mwhudson fights with implicit flushes trying to write half constructed objects to the database05:22
jtvmwhudson: if that's a non-storm class: storm is a bit less eager to add objects to the store05:23
jameshjtv: or try to use adaption05:23
mwhudsonjtv: it's all storm05:23
mwhudsonit adds it to the store as soon as you link it to another database object05:24
mwhudsoni wonder if there's a way around that05:24
jtvjamesh: I don't think adaptation would help here.  :(05:24
jameshjtv: could you adapt (IJob, BuildFarmJobType) to IBuildFarmJob?05:24
mwhudsonjamesh: can you help with this ?05:25
jameshbasically make the work done by BuildQueue.specific_job the responsibility of an adater?05:25
jameshmwhudson: reorder how you set things in the constructor?05:25
mwhudsonjamesh: sadly building related objects requires queries05:26
mwhudsoni can probably fight my way to something05:26
jtvjamesh: where BuildFarmJobType is the enumeration?  Or my own BuildFarmJob derivative?05:28
jameshmwhudson: alternatively, do the queries before setting properties on the new object, so you don't implicitly add it to the store05:28
jameshthen it can't be implicitly flushed out05:28
mwhudsonjamesh: yes, that's what i have to do i think05:28
jameshjtv: I don't know this bit of the code well enough to answer that.05:28
mwhudsonit's all a bit circular though05:29
jtvjamesh: I think I'll work in the direction of an extra utility interface method tomorrow05:29
jameshjtv: alternatively, make the specific_job_classes code look up interfaces rather than utilities, then try to adapt the job to that interface05:33
jameshrather than doing multi-adaption05:33
jtvjamesh: that sounds nice... still means extra zcml for each class of course05:34
jtvparticularly annoying is that the specific_job_classes keeps track of the model classes, not the interfaces05:37
jameshanyway.  It is the soyuz code that looks crazier than the codehosting bits05:37
jameshso I guess things haven't changed too much in Launchpad05:37
jtv(and some of these model classes may not need their own interfaces)05:37
jameshif you do want to go with adaption, garry or flacoste would be good people to talk to05:39
jamesh(although they do live on the wrong side of the planet)05:40
jtvjamesh: I guess tomorrow morning we'll be able to talk to folks on the West Pole05:40
* jamesh curses the sticking keys on his keyboard05:40
wgrantOh, goody, buildStatus_OK is completely untested.08:01
mrevellmorning08:09
arnaud__hi all08:37
mwhudsonstub: can you look at https://code.edge.launchpad.net/~mwhudson/launchpad/recipe-db-schema/+merge/16268 one more time?10:58
* stub looks11:06
=== matsubara-afk is now known as matsubara
=== mrevell is now known as mrevell-lunch
kfogeladeuring: quick question14:08
adeuringkfogel: yes?14:08
kfogeladeuring: I had some good help from intellectronica last night; he suggested that putting this functionality (for bug #506018) into HasBugs is the right way to go.  I'm in lib/lp/bugs/browser/bugtarget.py -- should I add a "BugTargetPatchesView" or should this be called just "PatchesView"?14:09
mupBug #506018: Need a "+patches" view: report lists patches attached to bugs. <story-patch-report> <Launchpad Bugs:Triaged by kfogel> <https://launchpad.net/bugs/506018>14:09
kfogelI.e., not sure when to say "BugTarget" and when not, due to slightly fuzzy relationship between BugTarget and HasBugs in my mind.14:10
adeuringkfogel: without looking into HasBugs, I'd say that BugTargetPatchesView is, let's say, too "narrow". We'll need that view for teams too, and teams are not bug targets, but IIRC implement HasBugs14:11
adeuringkfogel: so, the simple "PatchesView" looks more reasonable14:12
kfogeladeuring: but implementing the view in browser/bugtarget.py is still the right place, or should it be bug.py or some other file?14:12
kfogeladeuring: (oh, btw, how about "BugsPatchesView"?  Seems wrong not to have "Bugs" in there, somehow.)14:13
adeuringkfogel: hmmm. Since most other "relevant" stuff is in BugTarget, I think we should keep the new class there.14:13
kfogeladeuring: thanks.14:13
adeuringkfogel: yeah! that's a good name, i think14:13
kfogeladeuring: using that then14:14
kfogeladeuring: should it subclass either BugTargetBugsView or BugTaskSearchListingView?  (Soon I'll just post a patch with lots of questions :-) ).14:19
adeuringkfogel: good question.... lets me look...14:20
adeuringI'd opt for BugTaskSearchListingView. I think we can simply call its search() method with "canned parameters" in the new class14:23
kfogeladeuring: hmm.  okay, thanks.  Remember that a single bug may have multiple patches attached -- i.e., our list lists by patches, not bugs, so conceivable the same bug may appear multiple times.  That'll be okay with BugTaskSearchListingView?  (you can see it on Bryce's example page, actually: http://www2.bryceharrington.org:8080/X/Reports/patches.html)14:26
adeuringkfogel: good point....14:27
adeuringkfogel: but even if we need to rebuild the query, we can make more use from helper mthods in BugTaskSearchListingView, I think14:29
kfogeladeuring: ok14:30
kfogeladeuring: I'm creating templates/bugtarget-patches.pt right now.  I'm basing it off bugtarget-bugs.pt, and removing things like, e.g., the sidebar.  Who is the "Bob Johnson" hardcoded intothat file?14:31
kfogeladeuring: (or if there's some better template file to start from, let me know)14:33
adeuringkfogel: never heard about that guy ;) Just a place holder that's replaced by real supervior's name14:33
kfogelhunh  okay :-)14:33
adeuringkfogel: no, i think it'f fine to use that template14:33
=== matsubara is now known as matsubara-lunch
=== salgado is now known as salgado-lunch
=== mrevell-lunch is now known as mrevell
=== salgado-lunch is now known as salgado
=== beuno is now known as beuno-lunch
=== matsubara-lunch is now known as matsubara
=== henninge_ is now known as henninge
leonardrbac, did you ever resolve the problem you were having with the lplib cache? i remember you saying that you'd made a change to your local launchpadlib17:31
leonardrand i can't duplicate your transcripts17:31
kfogelderyck: quick question: in the patch-in-progress at https://pastebin.canonical.com/26445/, search for "###".  See my question there -- what's the right type for this list (or for the objects in the list, or is this the wrong way to go about it?)17:39
kfogelgmb: you might be able to answer above question I directed at deryck17:41
deryckkfogel, I'm honestly not sure.  That's a zope thing for the field type for dealing with individual patches in the list...17:46
deryckkfogel, and I don't know what type patches might be.  Perhaps intellectronica can help, if gmb isn't available.17:46
kfogelderyck: np.  It's not crucial yet, just will be soon.  I'll ask others when I get to that point.17:46
kfogelderyck: they're attachments, but formally what to call that, I'm not sure.  I'll bet intellectronica knows, or knows how to find out.17:47
* intellectronica reads back17:47
deryckkfogel, perhaps looks at "attachments" in lib.lp.bugs.interfaces.bug17:48
intellectronicakfogel: it's an IBugAttachment17:48
kfogelintellectronica, deryck: thanks!17:48
deryckthere you go :-)  he's so quick17:48
kfogelIIntellectronicaWin17:48
deryckheh17:49
kfogelhah17:50
kfogelmake run:17:50
kfogel    ZopeXMLConfigurationError: File "/home/kfogel/private/work/canonical/lp/lp-branches/506018-patch-report/lib/lp/services/openid/configure.zcml", line 11.417:50
kfogel    SyntaxError: invalid syntax (bugtarget.py, line 68)17:50
kfogelmake: *** [run] Error 117:50
kfogelthanks, Zope.  now to find which of the three files I have open named "bugtarget.py" that is... :-)17:50
kfogelinterfaces17:50
=== beuno-lunch is now known as beuno
=== mrevell is now known as mrevell-dinner
kfogelintellectronica: a bit of debugging help: this is my current patch: https://pastebin.canonical.com/26448/.  When I do 'make run', launchpad.dev runs, but if I visit (say) https://launchpad.dev/~name12/+patches, I get the no-such-page "Lost something?" error page18:16
kfogelI think I'm still missing a piece :-).18:16
kfogelintellectronica: also, I can visit https://launchpad.dev/projects, but visting any actual project page gets an OOPS error.  Is this expected in a dev instance?  I thought there was sample data in the db.18:18
kfogelderyck: TZ implies you may be the only one around to answer the above questions I directed at intellectronica :-).18:21
intellectronicakfogel: because you're looking for it on a person and not a has-bugs18:22
kfogelintellectronica: I thought a person was a has-bugs too??18:22
kfogelthey're not?18:22
intellectronicakfogel: oh, maybe it is? what happens if you try this of a project?18:22
kfogelintellectronica: (see above about trying to do it via a particular project)18:22
intellectronicakfogel: so the oops must be something you introduced. what is the error?18:23
kfogelintellectronica: let me get it, hold on18:23
kfogelintellectronica: it certainly looks like something I introduced; see very end of this traceback https://pastebin.canonical.com/26450/18:24
deryckintellectronica, kfogel -- is browser/configure.zcml right for what karl wants?  Shouldn't this be for IHasBugs and not IBugTarget?18:25
kfogelintellectronica: wait, let me do that properly on ubuntu's pastebin18:25
intellectronicakfogel: right, that's because all_bugtasks is a property and not a method. remember we talked about properties and how they're methods but they masquerade as attributes?18:26
kfogelderyck, intellectronica: http://paste.ubuntu.com/355633/ (just to be conducting things properly -- it's the same paste)18:26
intellectronicakfogel: remove the () and you should be good18:26
kfogelintellectronica: yes!  thanks18:26
kfogelintellectronica: on attachments too (no "()" )18:28
intellectronicakfogel: yes18:28
kfogelderyck, intellectronica: oh, duh.  okay, a person is not a has-bugs because you don't file a bug *against* a person.  A person may be subscribed to, or be assigned to, or be the reporter of, a bug, but that's different from being an entity that can actually *have* a bug, as in have a bug reported against it.18:29
kfogelIs that a fair summary?18:29
intellectronicakfogel: sort of. do you need this to work for a person?18:32
intellectronicawe can maybe make a person implement IHasBugs fully if necessary. don't remember what's involved18:32
kfogelintellectronica: mmmm, at some point probably yes, that would be the user-friendly thing to do.  But it's not the most important thing right now, so let's not worry about it.18:32
intellectronicakfogel: cool. does it work for other IHasBugs implementations like IProduct?18:33
kfogelintellectronica, deryck: w00t!  thank you: http://www.red-bean.com/kfogel/hello-world.png18:33
kfogelintellectronica: see above18:34
intellectronica:)18:34
intellectronicakfogel: hint for the next step. try <table><tr tal:repeat="patch context/patches"><td tal:content="patch/title"></tr></table>18:35
bacleonardr: no, the problem is not resolved.  the transcript i sent you is based on the egg as used in launchpad.18:36
bacleonardr: are you using the launchpad version or another?18:36
leonardrbac: i'm doing exactly what you're doing18:36
bacleonardr: that's really weird.  if i get time i can try it on another machine18:37
leonardrbac: sounds like the best option18:38
bacleonardr: yep.  i'll let you know what i discover18:38
kfogelintellectronica: thx18:42
kfogelintellectronica: I just discovered I don't have to restart if I edit the .pt file.  I think I'm in heaven.19:44
bacleonardr: in a new VM i did the same experiment and got the same results as seen in http://pastebin.ubuntu.com/352999/19:46
leonardrbac: the best advice i can give is to put in some debug points and see how the bad cache dir gets built19:46
thumpermorning19:52
kfogelthumper: morning19:55
EdwinGrubbsbac: I found out why the merge page was raising an Unauthorized exception, when the other pages with the person picker were not. PersonAccountToMergeVocabulary uses getUtility(IPersonSet) instead of just using the Person db objects like the other vocabs.20:00
bacEdwinGrubbs: ah, interesting20:01
deryckLater on, everyone...20:02
kfogelderyck: l8r20:02
kfogelintellectronica: I'm trying to understand this (which I just wrote, based on something you said earlier) in bugtarget-patches.pt:20:03
kfogel<table><tr tal:repeat="patch context/patches"><td tal:content="patch/title">Hello, world!</td></tr></table>20:03
mwhudsonmorning20:03
kfogelintellectronica: what do these repeat and content attributes do, exactly?20:03
kfogelintellectronica: I'm guessing that the first says to make as many <tr>...</tr> elements as there are patches, somehow;20:04
kfogeland the second says what <td>...</td> elements to put in each tr.20:04
kfogelBut the values of those attributes are a bit mysterious to me.20:04
kfogelmwhudson: morning!20:09
* mwhudson finds Person.visibilityConsistencyWarning, is scared20:10
=== salgado is now known as salgado-afk
=== matsubara is now known as matsubara-afk
EdwinGrubbssinzui: ping20:26
marsbeuno, ping, do you have a list of key, most used Launchpad pages by type?  BugtaskIndex, CodeHome, etc. etc.?20:45
marsPPA would be in there somewhere...20:46
beunomars, I don't handy, but I did some grepping through logs with a script that I think flacoste built20:46
beunothat may of been a year ago  :)20:46
marsyeah, I remember you can derive the page type from the appserver log output, but I was hoping someone had already done so for me.20:47
beunomars, there is a script that does that20:47
beunoI fixed it when I picked it up20:47
* beuno looks for it20:48
beunomars, I *think* it was lp-access-log-analyzer.py20:49
beunoyes it is20:49
sinzuihi EdwinGrubbs20:49
wgrantabentley: lp:~wgrant/launchpad/lp-buildd-sourcepackagerecipe-support20:50
wgrantabentley: See the XXXs in lib/canonical/buildd/sourcepackagerecipe.py20:50
marsbeuno, I can't find it.  Is it in trunk/?20:51
abentleywgrant: Thanks.20:51
marsbeuno, ah! in lp-dev-utils/20:51
beunomars, it's in lp-dev-utils20:51
beunowhich I though had been merged into trunk?20:51
marslast revno on lp-dev-utils/trunk is Jan 6th, so it is still active I assume20:52
bacleonardr: i used the latest version of lplib (still set at 1.5.4 but newer than the released 1.5.4) and the problem goes away20:54
leonardrbac: so you have the problem with the version packaged with launchpad but not with the version in versio ncontrol?20:55
bacleonardr: yes, that is correct20:55
bacleonardr: so when 1.5.5 is released and lp uses it the issue will be resolved20:56
marsbeuno, just wondering, do you have the list of most-visited projects and/or pages from a year ago?  That list may still be valid.20:57
beunomars, I don't. awstats may give you some of that information20:57
leonardrok, let me try to find the difference bewtween those versions20:57
marsbeuno, ok, thanks20:57
leonardrbac: i think there may have been a bug having to do with the cache dir and the launchpadlib dir being switched in some method call21:03
leonardrbac: i'll do a new release of launchpadlib tomorrow21:04
beunoleonardr, you may have some insight on this:  https://pastebin.canonical.com/26435/21:05
leonardrbeuno: well, the file name's too long...21:07
leonardri designed launchpadlib before i knew ext4 was going to impose lengths on filenames21:07
leonardri don't know what to do about it (in this case or in general)21:08
wgranteCryptFS makes it much worse, too :(21:09
beunoI am of course, using both21:09
leonardri can change launchpadlib to hash the string and use that as the filename21:10
leonardrthat will fix the length problem but will make it extremely difficult to examine the cache21:10
marsbeuno, ok, maybe some good guesses are in order.  The Bzr project homepage is one.  What else?21:16
marsSome closed/fix-released Bug Index page would be good.21:16
beunomars, what is it you're trying to find out?21:17
marsThe launchpad.net homepage is good.21:17
marsbeuno, I've coded a library, pyslow, that automates YSlow stats collection.  I am looking for pages to start collecting with.21:18
marscode.launchpad.net/bzr might also be good.  code.launchpad.net/launchpad is a bit too large to be representative.21:19
beunomars, a bug page21:19
kfogelwgrant: got time for some debugging help?21:19
beunoa popular bug21:19
beunomars, something other than bug 1  :)21:19
marsbeuno, yep, but a closed bug.  Otherwise new comments may cause stats drift.21:20
mupBug #1: Microsoft has a majority market share <iso-testing> <ubuntu> <Clubdistro:Invalid> <Computer Science Ubuntu:Invalid by compscibuntu-bugs> <EasyPeasy Overview:In Progress by ramvi> <Ichthux:Invalid by raphink> <JAK LINUX:Invalid> <OpenOffice:Invalid by lh-maviya> <Tabuntu:Invalid by tinarussell> <Tivion:Confirmed for shakaran> <Ubuntu:In Progress by sabdfl> <ubuntu-express (Ubuntu):Invalid by jahyire2006> <Ubuntu Jaunty:In Progress> <ubun21:20
beunomars, right21:20
beunomars, another one is a translations overview page21:20
marsah!21:20
marsgood idea21:20
marsand PersonIndex, of course21:21
beunomars, a branch index, and a merge proposal page21:21
marsok, both good ideas21:22
marsbeuno, is the translations overview just translations.lp.net/someproject ?  Or is it underneath that?21:23
marsbeuno, the PPA index page would be good as well21:23
kfogelmars, beuno, or anyone: http://paste.ubuntu.com/355726/ is the result of visiting bugs.launchpad.dev/redfish (a test project) running the code in https://code.edge.launchpad.net/~kfogel/launchpad/506018-patch-report.  I'm sure the traceback has something to do with my changes, but can't see what.  Any ideas?21:23
bacleonardr: hey that's great21:24
beunomars, https://translations.edge.launchpad.net/ubuntu/karmic/+lang/es21:24
leonardri might as well try to do something about the file length while i'm at it21:25
beunodanilos, btw, that page looks very squished ^^21:25
marsleonardr, ^ any idea what kfogel is seeing?21:25
marsleonardr, something to do with the webservice going into his page's LP.client.cache21:26
kfogelmars: really?21:26
* kfogel looks21:26
kfogelmars, leonardr: note that if you visit the bugs page for a project that has no bugs (e.g., https://bugs.launchpad.dev/lies) everything works fine.21:27
wgrantkfogel: Bit busy sprinting at the moment, sorry.21:27
kfogelwgrant: np, thanks for letting me know21:27
leonardrmars, kfogel: launchpad is putting a json representation of your test project into LP.client.cache['context'], but it's failing--probably an error is happening when generating the json representation21:27
leonardrif you try to get that test project through the web service, you'll probably get a better error message.21:28
kfogelleonardr: thanks21:28
kfogelleonardr: I understand conceptually what you're suggesting, but have not actually done it in a long time.  Is it visiting a URL like api.launchpad.dev/something?21:29
marskfogel, https://api.launchpad.dev/beta/some-project21:31
marsshould work21:31
marsuse curl or wget21:31
marsor the browser21:31
kfogelmars: I tried it in my browser and got http://paste.ubuntu.com/355730/21:31
marskfogel, argh, my bad.  Try: https://launchpad.dev/api/beta/some-project21:32
kfogelmars: aaaah21:32
kfogelone sec21:33
kfogelmars, leonardr: TERRIFICALLY HELPFUL error from that, thank you!  That is one trick I'm going to remember.  http://paste.ubuntu.com/355734/21:37
kfogel(and yes, it was my code)21:37
marskfogel, maybe add it to http://dev.launchpad.net/Debugging ?21:37
marssince that is a nasty information-hiding error you uncovered there21:37
kfogelmars: I am :-)21:38
EdwinGrubbssinzui: should a new unit test for vocabularies go in lp.app or lp.coop or just in canonical.launchpad.tests?21:38
kfogelmars: even better would be to make the web ui error as informative as the web services error...21:38
sinzuiEdwinGrubbs: which vocab is it testing?21:43
EdwinGrubbssinzui: all of them21:43
sinzuilp.services maybe21:43
EdwinGrubbsok, cool21:43
sinzuiEdwinGrubbs: We do not want to add the canonical. and I think lp.app is specific to integration code.21:44
sinzuiEdwinGrubbs: If you have doubts, place it in lp.app21:44
EdwinGrubbssinzui: all it's doing is checking whether the vocabs are security wrapped, which is sorta integration but not between apps21:45
kfogelmars: https://dev.launchpad.net/Debugging#Getting%20Better%20Tracebacks21:45
sinzuiEdwinGrubbs: I think services is the best place21:46
marskfogel, maybe put it at the bottom, call it "Tracing obscure TAL template errors for mangled webservice objects", and link to your pastebins?21:48
marskfogel, my concern is that "Getting Better Tracebacks" is actually a bit vague, whereas you solved a very specific problem (and helpfully posted evidence to help us help you)21:49
kfogelmars: so I wasn't sure how long Ubuntu pastes live.  (the site doesn't say) are they forever?21:49
kfogelmars: and, does your advice only apply to TAL template errors of that sort, and not to nasty tracebacks in general?21:50
kfogelmars: (note that when I encountered it, I didn't know that it fell into that category, and I'm not sure any other newbie would.  so we want the widest category of traceback for which the advice still holds...)21:51
sinzuiflacoste: root-index.pt still has:21:52
sinzui    <li tal:condition="context/required:launchpad.Admin">21:52
marskfogel, I would say your case was pretty specific: writing a new template, looks OK, load it, BOOM21:52
sinzuiflacoste: sorry I meant to paste that into #launchpad-reviews21:53
flacostesinzui: that's fine21:53
flacostesinzui: i'll fix it21:53
marskfogel, leonardr and I knew it was a webservice problem right away, because of the specific template line that went bad.  The advice of checking the webservice was pretty specific.  However, I do not know if other TAL errors mask problems with model objects in a similar way.21:54
kfogelmars: help me figure out the right title here.  I fear that anyone who knows enough to know that their error is a "TAL template error for a mangled webservice object" is less likely to be in need of this debugging advice...21:54
marshmm, true21:55
marswell, it was specifically an error with a new TAL template, and the error was (and presumably will always be): LocationError: (<lazr.restful.tales.WebLayerAPI object at 0xd932ccc>, 'json')<br />21:57
kfogelmars: and the web services advice wouldn't necessarily hold under other circumstances?21:58
marskfogel, that I do not know.  I can't think of any other circumstances besides "my new code broke the model, my page spat out this weird webservices error"22:00
kfogelmars: *nod*22:00
kfogelflacoste: do you know how long pastes at paste.ubuntu.com live?  I.e., can we refer to them from permanent pages in the wiki?22:01
flacostekfogel: i don't22:02
kfogelflacoste: np22:02
kfogelmars: https://dev.launchpad.net/Debugging#Understanding%20TAL%20template%20tracebacks%20for%20mangled%20webservice%20objects22:06
kfogelmars: not happy with the title, but not sure what else to call it22:06
=== MTecknology is now known as MTeck-ricer
marskfogel, "Tracing past "LocationError: 'json'" in TAL templates" ?22:08
kfogelmars: I want to get the word "traceback" in there, since that's what someone will be looking at when they go looking for this advice.22:09
=== Ursinha is now known as Ursinha-afk
marskfogel, up to you.  I find tracebacks to be implicit with any meantion of a "TAL Error".  The two are entwined, forever seared into memory.22:11
kfogelmars: I don't think that will be the case for many people :-).22:12
kfogelmars: https://dev.launchpad.net/Debugging#Getting%20past%20%22LocationError:%20%27json%27%22%20in%20TAL%20template%20tracebacks22:13
kfogelmars: good enough for newbies now, more or less22:13
thumperbzr-hg imports working in dev branch, up for review \o/22:35
poolienice one22:38
bigjoolshi poolie, how's it going22:46
pooliegood thanks, how are you?22:47
bigjoolspoolie: enjoying the sprint!22:48
pooliei'm free to talk any time this week22:49
pooliethough right this moment is not quite so good22:49
bigjoolsditto22:49
bigjoolsmaybe this afternoon?22:50
barrysinzui: do you really want me to approve joining gdp-developers to haibunku?22:54
sinzuibarry: no. I forgot you get staging email22:55
sinzuibut...22:55
barrysinzui: no worries, i had a feeling that was it22:55
sinzuiI think you are the prefect person to verify a invitation to join a super secret team22:55
* barry loves secrets22:56
sinzuibac: ping22:56
barrysinzui: i'm about to catch some dinner, but will be back in a bit22:57
sinzuiokay, you'll see the invite in a few minutes22:57
sinzuibarry: you should receive an invite on behalf of haibunku for https://staging.launchpad.net/~private-ufos If you can see and accept the invitation, you will be the first person I know of to allow a public team to be a member of a private team.23:00
sinzuilosa ping23:08
barrysinzui: hasn't shown up yet23:29
sinzuihmm23:29
barryoh wait, staging23:29
sinzuiYes, and I see two?23:29
sinzuioh, flacoste is also an admin23:30
barryas do i23:30
barryright23:30
barryaccepted!23:30
sinzuiyou saw the page?23:30
sinzuiwow this is big. I wonder what the effort is to allow a private team be a member of a private team?23:31
sinzuithank you very much barry23:31
barrysinzui: np, and yep, it's way cool.  gotta run.23:32
jmljtv, https://code.edge.launchpad.net/~jml/launchpad/behavior-refactor23:52

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