/srv/irclogs.ubuntu.com/2012/02/29/#launchpad-dev.txt

StevenKcody-somerville: Are you able to QA r14876, which is on qas now?00:26
StevenKwgrant: The notfound template already says: "This page does not exist, or you may not have permission to see it."00:38
wgrantStevenK: IN about 10 tonnes of other text.00:38
StevenKIt's the first text after the heading00:39
cody-somervilleStevenK, How do I QA it?00:51
StevenKcody-somerville: You added an attribute to the webservice. Can you get it and set it in the way you expect?00:52
cody-somervilleStevenK, Cool. Okay. I can do that. Do I tag the bug or something if successful?00:53
StevenKcody-somerville: Yes. There is currently a 'qa-needstesting' tag on the bug. If it works fine, remove that tag and add 'qa-ok'00:54
* StevenK smacks wallyworld 01:15
wallyworld?01:15
StevenKwallyworld: 116+from lp.app.interfaces.services import IService right at the top of lib/lp/registry/browser/tests/test_product.py ?01:15
wallyworldauto import fail01:16
wallyworldwill fix in current branch01:16
StevenKwallyworld: I spent hours fixing imports yesterday and the next feature branch gets it wrong. :-(01:17
wallyworldit's only one of many i added, easily fixed :-)01:17
StevenKwgrant: Tempted to do distribution via SQL. There are less than 50.01:28
wgrantStevenK: Possibly.01:30
wgrantlifeless: staging should have my first patch in about 30 minutes.01:30
wgranthttp://people.canonical.com/~wgrant/launchpad/flatbugtask.sql is the second one which I described yesterday.01:30
wgrantIt's missing triggers on the access policy bits, and there's no handling of toggling of Product.active, but it should otherwise be reasonably consistent.01:31
lifelesswgrant: drop that in a file on devpad01:32
wgrantlifeless: carob:~wgrant/flatbugtask.sql01:33
lifelessis it dependent on the first patch ?01:35
wgrantIt'll apply and partly work without it, but none of the access stuff will be there.01:35
wgrantOnce the first patch is applied we need to build its data (SELECT bug_mirror_legacy_access(id) FROM bug), then build the second lot of data (SELECT bugtask_flatten(id) FROM bugtask).01:37
lifelessok, ping me01:38
wgrantYup, just prewarning you.01:38
wgrantlifeless: I also need a way to do mass async updates when Product.active changes. Jobrunner job? Dirty flag with garbo job? The latter is a bit evil but somewhat lighter than the current jobrunner situation.01:41
lifelessjobrunner01:42
wgrant:(]01:42
lifelessshould be light enough01:42
wgrant2KLOC later...01:42
lifelessI'm sure you'll make it lighter as you go01:42
wgrantHeh01:42
wgrantI guess we need a pattern for this sort of thing anyway.01:47
wgrantStevenK: Bah, I said I had created a card already :)01:52
wgrant2012-02-29 01:42:39 INFO    2209-11-3 applied just now in 0.4 seconds01:52
wgrantlifeless: https://pastebin.canonical.com/61200/ are the incantations.01:54
lifelesswgrant: do you want them run now ?02:18
wgrantlifeless: Please. \timing would be handy too.02:18
wgrantlifeless: Will be interested to see how long the two mass function calls take in a single batch.02:19
lifelessone transaction?02:20
wgrantMight as well run it in three, just in case one fails.02:20
lifelessheh, started it a begin02:21
lifelesswill do over if it fails02:21
wgrantlifeless: You applied flatbugtask.sql, right? :)02:21
wgrantIt defines the last function.02:21
lifelessno, not yet02:21
lifelesswgrant:02:27
lifelessINSERT INTO accesspolicy (product, type) SELECT id, 3 FROM product;02:27
lifelessINSERT 0 3472902:27
lifelessTime: 3833.312 ms02:27
lifelessINSERT INTO accesspolicy (product, type) SELECT id, 4 FROM product;02:27
lifelessINSERT 0 3472902:27
lifelessTime: 4182.285 ms02:27
lifelessINSERT INTO accesspolicy (distribution, type) SELECT id, 3 FROM distribution;02:27
lifelessINSERT 0 3602:28
lifelessTime: 9.049 ms02:28
lifelessINSERT INTO accesspolicy (distribution, type) SELECT id, 4 FROM distribution;02:28
lifelessINSERT 0 3602:28
lifelessTime: 9.061 ms02:28
wgrantlifeless: Looks reasonable.02:31
lifelessSELECT bug_mirror_legacy_access(id) FROM bug;02:32
lifelessTime: 228686.012 ms02:32
lifelessSELECT bugtask_flatten(id) FROM bugtask;02:33
wgrantNot too bad, considering a lot of it was probably cold.02:33
lifeless(1097473 rows)02:49
lifelessTime: 994126.901 ms02:49
lifelessbugtask_flatten(id) returns a pile of null :P02:49
wgrantHmmm, slower than it should have been.02:52
wgrantBut thanks.02:52
wgrantSo.02:52
wgrantYou should now have a marvellous bugtaskflat with 20 or so indices02:52
lifelessselect count(*) from bugtaskflat;02:54
lifeless  count02:54
lifeless---------02:54
lifeless 109747302:54
wgrantExcellent.02:54
wgrantTry https://pastebin.canonical.com/61202/02:55
lifeless102984, 1238ms02:57
wgrant:(02:57
lifelessexplain analyze 625ms02:58
wgrantSo 500ms planning?02:58
wgrantOr 1238 cold?02:58
lifeless9ms02:58
wgrantcoldish, that is02:58
lifeless1238 coldish02:58
wgrantAh02:58
wgrantSo it's now 600ms?02:58
wgrantish?02:58
lifeless420, 500, etc02:58
wgrantThat's more like it.02:59
wgrantCare to throw in a bit of FTI?02:59
wgrantLike BugTaskFlat.fti @@ ftq('kernel hang') or so?02:59
wgrant(yes, the privacy constraint is hideously structured, but it works it out -- I need to rework the Python to spell it better)03:02
wgrantThe SQL I provided uses gist for fti, but it might be interesting to compare it to gin on sourcherry.03:03
lifelesspastebin what you want :)03:03
wgrantlifeless: https://pastebin.canonical.com/61204/03:09
lifeless Aggregate  (cost=82175.45..82175.46 rows=1 width=0) (actual time=637.165..637.166 rows=1 loops=1)03:10
wgrantWell that sucks.03:10
wgrantCan I have the whole thing?03:11
lifeless Limit  (cost=82182.00..82182.19 rows=75 width=8) (actual time=527.338..527.366 rows=75 loops=1)03:11
lifelesshttps://pastebin.canonical.com/61205/03:12
wgrantThanks.03:12
wgrantA03:13
wgrantAh03:13
* wgrant blames gist.03:13
wgrantA bit of planner stupidity too, but mostly gist.03:13
wgrantlifeless: DROP INDEX bugtaskflat__fti__idx; CREATE INDEX bugtaskflat__fti__idx ON bugtaskflat USING gin (fti); and retry?03:15
wgrantWill probably take a while03:15
wgrantGIN generation is slooooow.03:15
StevenKwgrant, lifeless: O hai, can we have a mumble about ArchiveAudit?04:13
lifelesssure04:14
lifelessskype?04:14
lifelessor fanout ?04:14
StevenKYou can't do mumble?04:14
lifelessit hates me04:14
wgrantHangouts still don't work for me, and are even less tasteful than Skype.04:15
lifelessit needs http://www.rowetel.com/blog/?page_id=45404:15
StevenKIt worked last time :-P04:15
wgrantSo I suggest we Skype :)04:15
lifelessStevenK: it was traumatic04:15
lifelessStevenK: and I've got Cynthia beside me at this time of day04:15
StevenKI can make it more trauatic and turn on the webcam04:15
StevenK*traumatic04:16
lifelessI know what you look like already04:16
lifelessI can hear you04:18
lifelesslies04:19
lifelessprecise04:19
lifelessdiaf04:19
lifelesssound panel sees my input04:19
lifelesswhat command ?04:20
wgrantpavucontrol04:20
StevenKlifeless: https://code.launchpad.net/~stevenk/launchpad/db-add-archiveaudit/+merge/94726 is the WIP MP04:23
wgrantlifeless: Any chance you could recreate the FTI index as GIN as I described above?05:15
* StevenK peers at his garbo test05:18
lifelessCREATE INDEX05:20
lifelessTime: 159917.895 ms05:20
lifeless Limit  (cost=82270.96..82271.14 rows=75 width=8) (actual time=1031.584..1031.633 rows=75 loops=1)05:21
lifeless Limit  (cost=82270.96..82271.14 rows=75 width=8) (actual time=183.615..183.666 rows=75 loops=1)05:21
wgrantlifeless: blink05:21
wgrantSo it's 3x faster?05:21
lifelesslooks like it05:21
wgrantMight try with GIN straight away, then05:22
lifelesswhat about table scans05:22
wgrantGiven that we're going to be restrictedly testing this for a while anyway.05:22
lifelessok05:22
wgrantThey're unlikely to happen given the other indices.05:22
wgrantBut yes, it is a concern.05:22
stubWe can drop in GIN already if we don't care about occasional searches breaking, but in the past we have :-)05:23
wgrantstub: The new table has strategic indices.05:24
StevenKHaha05:24
wgrantRather than random ones that are mostly useless, like bug and bugtask.05:24
stubThe 'all stopwords' query is the usual one that breaks things.05:25
lifelesswe could take a calculated risk05:40
lifelesseasy enough to change index style05:41
lifelessand hell, 1 second is still >> 8 seconds05:41
lifelessStevenK: I had a quick look for a audit service, couldn't see one05:44
lifelesswgrant: let webops know if/when you want that stuff dropped from staging05:44
wgrantlifeless: Easy enough to change index style, and easy enough to turn the feature flag off :)05:45
=== almaisan-away is now known as al-maisan
stublifeless, wgrant: If we are rebuilding the search, I think we should a) use GIN indexes wherever possible and b) catch the exception we see when it attempts a full scan and return a 'too many results' type page.06:24
lifelesswfm06:24
wgrantProbably, yeah.06:25
stubMight as well stick a LIMIT in the query too, generating the 'too many results' thing even if the index hit did work. Nobody wants page 1 of 600.06:25
wgrantWell06:26
wgrantHopefully we'll be using StormRangeFactory soon06:26
wgrantWhich will remove the COUNT(*) entirely.06:26
stubbug_fti is off the 'most bloating indexes' list, yay!07:28
wgrantstub: yup :)07:50
=== al-maisan is now known as almaisan-away
wgrantbuildbot failure is mine, I'm on it.08:44
adeuringgood morning08:52
czajkowskialoha09:05
[reed]wgrant: throw in IE's X-XSS-Protection as well09:39
[reed]Chrome supports it, too09:39
[reed]wgrant: depending on how that gets presented, you may wish to add "; includeSubDomains" to the HSTS header, too09:40
wgrant[reed]: Can't use includeSubDomains, due to some questionable historical decisions.09:41
wgrantWill look into X-XSS-Protection, though -- didn't realise Chrome did it too. Thanks.09:41
nigelboh wow. totally did not expect [reed] in here ;)09:43
[reed]I'm everywhere.09:43
nigelbYes, TIL.09:44
[reed]also, I've been complaining about some of these things for a while, at least in LDS09:44
nigelbWait, you come to UDSes and LDSes?09:44
[reed]LDS == Landscape Dedicated Server09:44
nigelbAhhhhhh.09:44
[reed]I have come to two UDSes, though09:44
wgrantX-XSS-Protection looks like a bit of a misfeature.09:45
[reed]I'll probably stop by the Oakland one09:45
wgrantPotential for security issues, even.09:45
[reed]wgrant: I think most of those issues have been worked out... it's been around for a while now09:45
[reed]"Registration for the next UDS opens on 24th February 2012."09:46
[reed]it's a bit past that09:46
[reed]lol09:46
[reed]wgrant: if you want to be super-awesome, send an appropriate CSP header ;)09:55
wgrant[reed]: Isn't that thoroughly unstandard and still in flux?09:58
wgrantAhhh09:58
wgrantI see X-XSS-Protection has evolved a bit since I dismissed it as completely insane a couple of years ago09:59
wgrantNotably with the addition of mode=block09:59
[reed]indeed10:00
wgrantAnyway, yeah, was looking at doing CSP, but it's going to be a bit less trivial to ensure everything still works, and it seems like there's work on making it more sensible and standard.10:00
[reed]sure10:00
wgrantBut since you're suggesting it, I might have to look again :)10:00
[reed]hah10:00
[reed]I know a bunch of Mozilla sites implement it10:01
wgrantBecause you added it? :)10:01
[reed]but I also know it took them quite a while to do the right thing10:01
nigelbhaha10:01
[reed]hah, not for CSP, but I did add other headers ;)10:01
wgrantHeh10:01
[reed]pretty much every security "feature" Bugzilla has gained in the past several years was because I wrote a patch for it :p10:01
wgrantI've wanted to do this to LP for 18 months, but there were various bits of stupidity that needed to be fixed first.10:02
wgrantLike certain URLs which were forced to HTTP for no good reason.10:02
[reed]wanna fix Landscape as well? :P10:02
wgrantAnd crufty bits of Zope that needed upgrading.10:02
wgrantsigh10:02
wgrantHeh10:02
[reed]don't get me started on how terrible Landscape is from a security perspective ;)10:02
wgrantYeeeeeah10:06
wgrantIt's the one major Canonical webapp that I haven't tried to poke holes in.10:07
wgrantI'm not entirely sure I want to try :)10:07
[reed]I'd appreciate it if you would! ;)10:08
[reed]I've poked a bunch of holes in it already10:08
[reed]but I know there are plenty more10:08
[reed]it's never had a formal security review, as far as I can tell10:08
wgrantjuju is the next target of my wrath.10:09
czajkowskiwgrant: you still up ?10:49
wgrantczajkowski: Vaguely.10:50
czajkowskican you help me in launchpad with a question:/ re  merge proposals10:50
czajkowskiplease10:50
wgrantczajkowski: mgz is one of us :)10:55
wgrantWell, bzr.10:55
wgrantBut close enough.10:55
czajkowskiwgrant: aye thats what I thought too10:58
=== stub1 is now known as stub
rick_h_morning11:57
czajkowskirick_h_: morning11:58
=== stub1 is now known as stub
mabacrick_h_, good morning. :) since there's no ocr can I pester you with another review? or perhaps could you point me to someone I could bug? ;) https://code.launchpad.net/~linaro-infrastructure/launchpad/workitems-widget/+merge/9479012:18
rick_h_mabac: sure thing, will peek at it12:57
mabacrick_h_, cool, thank you very much!13:02
=== lcanas_ is now known as lcanas
salgado  File "/home/salgado/launchpad/lp-branches/workitems-migration-script/lib/lp/services/database/bulk.py", line 244, in create13:29
salgado    IStore(cls).execute(Insert(db_cols, expr=db_values))13:29
salgadoTypeError: __init__() got an unexpected keyword argument 'expr'13:29
salgadohas anybody seen this before?13:30
salgadohmm, looks like I'm using an old version of storm (storm-0.19.0.99_lpwithnodatetime_r404-py2.6-linux-i686.egg)13:33
salgadothat's the version I should be using, in fact, but my branch is using storm-0.19.0.99_lpwithnodatetime_r402-py2.6-linux-i686.egg13:33
salgadoI thought rocketfuel-get would update the generated scripts (bin/test, etc) to use the latest source but I guess that wouldn't make sense -- I should probably do that manually when I merge devel13:35
salgadois make clean; make the correct way to deal with that?13:35
rick_h_salgado: yea, think you'd need rocketfuel get, but then to merge with devel to lget the latest versions.cfg or what not. Not sure if storm is a packaged thing or a source dep13:37
salgadorick_h_, yeah it's in lp-sourcedeps, not deb-packaged.  I guess there's nothing faster than to "make clean" and rebuild from scratch?13:39
rick_h_salgado: might get away with a bin/buildout13:40
rick_h_but not tried it so not sure13:40
salgadooh, right, I'll try that next time13:40
rick_h_reading and working on makefiles a lot lately, but still some voodoo on what fits where to me :)13:41
rick_h_mabac: ok, notes posted, I ping'd jcsackett for a follow up14:12
mabacrick_h_, great thanks! will have a look asap!14:14
rick_h_mabac: most of my feedback just surrounds how I like to test things that parse like this: https://pastebin.canonical.com/61235/14:16
rick_h_mabac: so that as bugs/issues are found it's very trivial to add a new test case and see at once what works/doesn't kind of thing14:16
rick_h_if that makes sense14:16
rick_h_but it's a preference thing on my end14:16
mabacrick_h_, thanks. I don't have access to the canonical pastebin though14:17
rick_h_ah, sorry sec14:17
rick_h_http://paste.mitechie.com/show/552/ mabac14:17
rick_h_but anyway, for that to work our parsing/raising exceptions need to be a bit split/etc14:18
mabacI didn't really know if I should always raise LaunchpadValidationErrors or perhaps let parse errors pass through as well14:19
rick_h_yea, not sure on the standard since I've not done much with it14:19
mabacI'll see if I can use a regexp for the assignee as well. and move the work items header re to a module level constant14:23
rick_h_mabac: awesome14:25
rick_h_rvba: ping, just wanted to toss out a heads up that on the js builder stuff. Not sure if you guys can use that over in maas land.14:29
rvbarick_h_: pong14:29
rick_h_rvba: I've got to update the wiki with some notes, but give it a shot with what you guys are doing and let me nkow how I can make it more 'general' for other projecs14:29
rick_h_I want to find out what's too LP specific so I can hit up the other JS people out there and figure I can bug your team first :)14:30
=== olli_ is now known as olli
deryckadeuring, https://plus.google.com/hangouts/extras/talk.google.com/orange-standup14:33
salgadohow do I tell the test runner to drop into pdb on the first failure?14:36
benjisalgado: -D14:37
rvbarick_h_: I'm in the middle of something right now, can you please paste the link to the page you want me to have a look at and I'll get back to you shortly.14:37
salgadobenji, and that's an argument to bin/test I guess?14:38
benjisalgado: yep14:38
rick_h_rvba: https://lists.launchpad.net/launchpad-dev/msg09077.html no hurry, just more fyi14:38
salgadobenji, great, thanks!14:38
salgadobenji, it doesn't seem to work if I use it with testr (raises BdbQuit immediately), but I guess that's known/expected?14:39
adeuring1deryck, abentley, rick_h_sorry, again a crash...14:40
deryckadeuring, np, we'll wait on you.14:40
rvbarick_h_: I see.  The problem with maas is that it's a distributed package.  To add a dependency: either it's packaged in precise or we have to include the source code in our tree.14:40
rick_h_rvba: ok, gotcha14:40
benjisalgado: it's not known by me, and expectations lie at the root of suffering.14:41
rvbarick_h_: But I keep track on what you guys do on lp :).14:41
rvbarick_h_: We have the same dilemma about using/not using convoy.14:41
adeuringderyck: can you send me the link to the hangout again?14:42
rick_h_adeuring: https://plus.google.com/hangouts/extras/talk.google.com/orange-standup14:42
adeuring1deryck abentley rick_h_ seems that i should this machine for the hangout; haven't installed the plugin yet...14:45
rick_h_rvba: sorry, standup. Ok cool, I wasn't sure how you guys were doing the JS stuff but know you asked about the combo loader bits at the epic14:47
rick_h_rvba: so yea, the convoy stuff in the jsautobuild probably doesn't help you guys at all then if you're not going combo loader/convoy14:48
rvbarick_h_: I really would like to use the combo loader/convoy but I'm not sure it's going to happen for 12.04 for the reasons mentioned above.14:49
rick_h_rvba: right14:49
adeuring1abentley: let's use mumble...14:50
abentleyadeuring1: sure14:50
rvbarick_h_: I'll benchmark what it costs us (in terms of page load time) to not use it.14:50
rvbarick_h_: if this is really significant, I'll try to get someone to package it or we will include the code in our tree.14:51
rick_h_yea, you guys are on disk/local right so I doubt it's horrible.14:51
rvbaWe will see.14:51
rick_h_but the pyinotify stuff is cool if you guys do hav a make jsbuild type step that you don't want to have to run on ever save14:51
rick_h_but ok cool. thanks for thinking/taking a peek if it fits into your stuff at all.14:52
rvbaLooks very useful indeed.14:52
mptHi, I'd like to test a bug that occurs when reporting bugs, but staging.launchpad.net times out when doing something as simple as showing a package page14:52
mptIs it likely that staging will work again soon?14:53
rvbarick_h_: I'll keep you in the loop when I'll do the benchmark.14:53
czajkowskimpt: I'll ask and find out14:58
mptczajkowski, actually, I found a package that has hardly any bug reports (which I guess was causing the timeouts), so it's not urgent for me now. But staging seems rather underpowered for meaningful testing.14:59
czajkowskimpt: no harm in asking and finding out for sure14:59
mpt(The bug I was testing I have now reported as bug 943321)15:07
_mup_Bug #943321: Private bug report wrongly says "Subscribed by <reporter>" for automatic subscribers <Launchpad itself:New> < https://launchpad.net/bugs/943321 >15:07
cr3hi folks, launchpad uses a special syntax in brackets to identify the person approving in commit messages for example. where might this be documented?15:08
rick_h_cr3: somewhat here: https://dev.launchpad.net/PQMCommitMessages15:12
rick_h_cr3: basically it's [r={lpuser}]15:12
cr3rick_h_: thanks!15:14
=== abentley changed the topic of #launchpad-dev to: https://dev.launchpad.net/ | On call reviewer: abentley | Firefighting: - | Critical bugtasks: 4*10
abentleycr3: There are tools that will generate this for you: "bzr lp-land" from the bzr-pqm plugin, and ec2 land in the LP tree.15:57
cr3abentley: why use things like [bug=90791] when you can use bzr commit --fixes lp:90791 instead?15:59
abentleycr3: I don't believe that PQM respects that revision property.  It goes strictly on the basis of the message.16:00
cr3abentley: ok, so in practice, nobody really types any of those bracketed messages, right?16:01
abentleycr3: right.16:01
cr3abentley: that makes sense then, thanks!16:01
abentleycr3: And if you use commit --fixes, then ec2 land or lp-land will include [bug=] for you.16:02
cr3abentley: sweet, so the developers are encouraged to use bzr properly and get lots of benefits for free16:04
=== salgado is now known as salgado-lunch
=== Ursinha` is now known as Ursinha
danilosmrevell, flacoste: so, we're having some problems with answers.launchpad.net: 1. there are packages linked to some of our projects, so we get weird pages like https://answers.launchpad.net/linaro — I don't seem to have permissions to remove those Packaging records anymore; 2. there are requests to either make "external" setting for answers app do something useful, or get rid of the tab — I know that Launchpad is not designed as a p16:46
danilosroject hosting service directly, but we want to be able to clearly point people at support resources16:46
daniloshi, btw :)16:46
danilosmrevell, flacoste: fwiw, for 1, I'm asking czajkowski in #launchpad if she can help remove them, but I am mentioning that as a more general problem for things we don't have control of16:49
mrevellthanks danilos, I'm otp, so slow to respond16:52
danilosmrevell, sure thing, just raising this as it's becoming an issue for us and I'd like your general opinion on it when you find the time16:52
=== salgado-lunch is now known as salgado
=== matsubara is now known as matsubara-lunch
* deryck goes offline for lunch, back soon17:38
stokachuHi im messing around with Oauth and launchpad and was curious if we could add ability to return some user data when grabbing the access_token?17:43
stokachuRight now there is no way to dynamically pull an id/display_name from an initial access token request17:43
stokachuso people will need to know their display name ahead of time17:44
stokachuhmm i guess i could do a /people/+me17:47
lifeless_stokachu: so once you have an OAuth token you can request details from /~ exactly.17:52
stokachulifeless_: ok so when calling api.staging.launchpad.net/people/+me it'll response with json from /~username automatically?17:55
stokachui think thats how im reading it in docs17:55
=== lifeless_ is now known as lifeless
lifelessstokachu: yes, likewise /people/+me17:56
stokachuok sweet17:56
stokachulet me hack it some more -- ive almost got a drupal plugin going17:56
stokachuahhh i think im adding a json format by accident 'data' => 'Object: <lp.registry.model.person.PersonSet object at 0xa2310d0>, name: u\'+me.json\'',17:57
stokachuit already does json without me telling it17:57
sinzuistokachu, correct17:59
sinzuistokachu, out oauth/launchpad lib code is  think of most things as simple string and numbers. dates have to be written as strings I think18:00
stokachuah gotcha18:01
stokachuif i authorize against launchpad.net and attempt to call api.staging.launchpad.net that will fail b/c of auth correct?18:02
sinzuicorrect18:02
sinzuiLplib scripts will prompt you to authorise for the new host18:03
stokachuok18:03
stokachucrap still getting unauthorized18:04
stokachuso here is my header information http://pastebin.com/uB4axged18:05
sinzuistokachu, pastebin the script or the part that does the login/auth18:05
stokachuok18:05
stokachuhttp://pastebin.com/8RdQruEi - so this is my library18:07
stokachuline 137-149 is where im having the issue18:08
stokachuim wondering if im not providing enough header information18:08
sinzuiAh I see you are implementing a PHP lib that duplicates part of LaunchapdLib. You will need to manage the JSON serialisation yourself18:10
sinzuistokachu, I think you should look at http://bazaar.launchpad.net/~lazr-developers/launchpadlib/trunk/files/head:/src/launchpadlib/ which shows how credentials and serialisation is done18:11
stokachuok ill check that18:11
stokachui dont think im getting to the point of parsing the response yet18:15
stokachuwhen i do 'request' => 'GET /1.0/people/+me HTTP/1.0 it gives me unauthorized18:16
stokachueven though +request-token and +access-token succeeds18:16
sinzuistokachu, I think the request is missing the Lp cookie that contains who you are. +me looks for the user in the interaction of the request, and that will come from a cookie18:17
stokachuok, i may be using the wrong scheme here.. i see launchpad uses http authorization scheme18:19
stokachuand i may be pushing it through just post18:19
=== matsubara-lunch is now known as matsubara
lifelessour oauth module is homebrewed; its possible we only implemented the Authenticate header approach for OAuth18:21
stokachuok i see, lifeless, i think youre right i dont see anything related to the authorization in the headers18:32
stokachuhmmmmm18:32
sinzuilifeless, stokachu. I think partial implementation is the case here. I recall something came up a a few years ago where where made a change to stay compatible, but did not elect to do a full implementation18:33
sinzuiabentley, rick_h_, jcsackett, wallyworld (Ian) has three important in the review queue. I am mentally challenged at the moment. I can review the disclosure rules that are in the branches, but most of the implementation is better reviewed by a rocket scientists18:35
stokachu:P18:35
abentleysinzui: I'll have a look.18:35
* sinzui has taken a second dose of cough medicine and now has that disconcerting feeling of contentment.18:36
stokachuhaha18:36
* sinzui fears that when he yawns, a hole will open up behind him and will fall out of the universe18:36
abentleysinzui: rofl.18:36
stokachuwhat are the request bugs? i'd like to see all 3 consumer requests methods18:36
stokachuor at least the one where you send as HTTP POST18:37
=== almaisan-away is now known as al-maisan
sinzuiabentley, I am not kidding. me + cough syrup = mescaline induced hallucinations. I never want that to happen again18:38
abentleysinzui: I'm sorry.  "disconcerting feeling of contentment" was too much for me.18:38
* sinzui does want to re-enact the Odyssey again18:39
sinzuiabentley, it is okay to laugh. my wife does18:39
sinzuiI am serious that I am mentally challenged18:39
stokachuok im going write a helper routine to implode my parameters into an Authorization request18:41
stokachusee if i can get authed then18:41
=== danhg_ is now known as danhg
=== danhg_ is now known as danhg
=== al-maisan is now known as almaisan-away
=== almaisan-away is now known as al-maisan
=== al-maisan is now known as almaisan-away
=== Ursinha is now known as Ursinha-bbl
StevenKjames_w: O hai22:36
james_whi StevenK22:37
StevenKjames_w: lifeless said you guys have a standard way of bringing Django apps, is that right?22:38
james_wStevenK, ish22:41
james_wwe have what we currently think to be the best way22:41
james_wbut none of our apps probably comply fully with that :-)22:41
StevenKjames_w: Are you able to point me at some details?22:42
james_wStevenK, lp:pkgme-service is the newest one which you may want to use as an example22:43
james_whttps://wiki.canonical.com/JamesWestby/DjangoDeploymentBestPractices has some notes22:43
StevenKjames_w: Thanks, I'll look over both22:44

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