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

lifelesshmm, running out of yak shaving time02:31
lifelessAnyone care to land an approved branch for me ?02:31
lifelessStevenK: ping02:38
pooliei got a tcp timeout connecting to bugs.edge...02:41
lifeless!02:42
pooliejust once02:43
poolieno other pages failed02:43
pooliebug 60000002:43
_mup_Bug #600000: missing dependency on Bazaar <hitchhiker (Ubuntu):Fix Released> <hitchhiker (Debian):New> <https://launchpad.net/bugs/600000>02:43
pooliebig round numbers yay :)02:43
lifelessthats really weird as the front end is all load balanced etc02:43
poolieexactly02:43
poolielifeless: i realize we can redirect but i wonder if we want to02:53
poolieprobably02:53
lifelesshttp://www.paulhammond.org/2010/06/trunk/ <- relevant to lp03:07
lifeless(mailing the list now)03:07
lifelessStevenK: ping04:44
StevenKlifeless: pong06:07
lifelessStevenK: hi06:22
lifelessStevenK: I have two patches I would like to land06:22
lifelessbut I'm not setup for ec206:22
lifelessStevenK: I'm hioping you can help me06:23
StevenKlifeless: Okay, we can either setup ec2, or I can throw them at ec206:25
lifelessplease toss em :)06:26
lifelesshttps://code.edge.launchpad.net/~lifeless/launchpad/lsprof/+merge/28583 is one06:26
lifelessand https://code.edge.launchpad.net/~lifeless/launchpad/lognamer06:26
lifelesssorry06:26
lifelesshttps://code.edge.launchpad.net/~lifeless/launchpad/lognamer/+merge/2857406:27
lifelessthe lognamer one should go first06:27
StevenKlifeless: You should also fix your e-mail address for bzr, it's 'robertc@lpdev'06:31
lifelessugh06:36
lifelessdanke06:36
lifelessI'll add that to the VM set info06:37
lifelessfixed for future work06:38
lifelessand fixed on the wiki06:39
adeuringgood morning07:23
StevenKlifeless: I finally have your lognamer branch, can you set a commit message in the MP?07:26
lifelessdone07:29
lifelessStevenK: thanks08:01
lifelessStevenK: I'll be online later.08:01
=== almaisan-away is now known as al-maisan
deryckMorning, all.11:02
=== al-maisan is now known as almaisan-away
=== almaisan-away is now known as al-maisan
=== matsubara-afk is now known as matsubara
jmlwriting about code makes me want to write code instead :(12:44
lifeless:)12:45
lifelessjml: I've had that intensely this week12:45
lifelessjml: though I've also closed off a bunch of bzrloom things, so not as badly as I expect you're going through12:46
jmlheh.12:46
jmlmy top priority out-of-work hacking task is releasing Twisted12:46
lifeless\o/12:46
jmlwhich doesn't involve coding12:46
lifelessdoes it have the fixed issue with subunit and fake errors ?12:47
lifelessyou could release testtools if you want12:47
lifelessoh right, coding12:47
jml10.1 has the subunit fix, yes.12:48
lifelesswhat would you like to write code on12:49
jmllots of LP stuff; twisted release automation; a couple of testtools fixes I have in mind; some tweaks for my graphing thing12:52
lifelesscool13:00
lifelessngight all13:09
=== rinze is now known as jelmer-lunch
bigjoolsjml: don't know if you saw my message yesterday, at least I don't remember seeing a reply.  Are you going to be able to look at those buildd-manager changes?13:19
jmlnot soon, no.13:19
mwhudsonbigjools: is this twisted-y stuff?13:40
bigjoolsmwhudson: very much so13:40
mwhudsonbigjools: i might be able to have a look, although my brain is made of cotton wool today13:41
bigjoolsmwhudson: it's best if I take you through it, the buildd-manager is a, err, special piece of code13:42
bigjoolsbut it'll have to wait until next week if that's ok?13:43
mwhudsonbigjools: next week should be fine13:43
mwhudsonand yes, i've looked at buildd-manager before13:43
* mwhudson rubs the mental scar tissue13:43
bigjoolsI still have bits of fingernail in my eyes13:44
bigjoolsit was only after I started re-writing bits of code that I realised a lot of the crap in there is explicitly for tests13:45
mwhudsonbigjools: what are you working on?  just generally improving the sanity level?13:48
bigjoolsmwhudson: when it was developed its design was influenced too much by the old scanner than did one massive scan over the whole farm.  I changed the behaviour so that I've got separate Deferred threads for each builder in the farm, so that when the scan fails it doesn't blow out the scan of the whole farm.13:49
bigjoolsand it's a lot faster generally with that approach as it can do more stuff in parallel13:50
mwhudsonbigjools: sounds good13:50
bigjoolshowever, this has completely broken the existing tests of course :)  I need advice on how to write some sane tests.13:50
mwhudsonalthough 'developed' is perhaps an insufficiently perjorative term? :)13:50
bigjoolsyou are indeed the master of understatement13:51
bigjoolsmwhudson: if you want to take an advanced look, the branch is here:   https://code.edge.launchpad.net/~julian-edwards/launchpad/buildd-manager-parallel-scan13:52
bigjoolsnow, I need fud13:52
=== jelmer-lunch is now known as jelmer_
=== jelmer_ is now known as Guest58376
=== Guest58376 is now known as rinze
jtvdanilos: you may still be too busy for this, but I made a few tweaks to the decision matrix we worked out for setCurrentTranslation.15:27
danilosjtv, it's wrong, totally wroooong!15:29
jtvuh-oh15:29
danilosjtv, I'll take a look15:29
jtvand _then_ tell me it's all wroooong.  :-)15:30
danilosjtv, btw, I should look at the wiki page or code?15:47
jtvdanilos: wiki page would be easier I think, though the code should match it pretty closely15:47
=== deryck is now known as deryck[lunch]
=== henninge_ is now known as henninge
=== salgado is now known as salgado-lunch
=== deryck[lunch] is now known as deryck
leonardrsalgado-lunch or flacoste_afk, i have a launchpad/web service problem that you might be able to help with when you return17:33
=== salgado-lunch is now known as salgado
salgadohi leonardr18:17
james_whmm, got an ec2 run that is failing every test18:17
james_w"Warning: 'with' will become a reserved keyword in Python 2.6"18:17
james_wand then failing with syntax error when it tries to use "with"18:17
leonardrsalgado: this problem has to do with navigation18:17
james_wrunning with 2.4 python?18:17
jmljames_w, is the test failing locally?18:18
leonardri am publishing ~{user}/oauth_access_tokens as a collection of IOauthAccessToken objects18:18
james_wjml: no18:18
james_wjml: *every* test is failing in ec218:18
leonardrthe problem is that IOAuthAccessToken objects are not currently published on the website. so they have no canonical_url and there is no way to navigate to them18:18
jmljames_w, oh.18:18
leonardri hacked in a canonical_url but i can't figure out how to make navigation work18:18
leonardris this something you can help with?18:19
jmljames_w, I saw a patch for something similar sounding fly by today18:19
james_wjml: ah yeah, thanks, I'll try merging that18:19
leonardrsalgado: once i get the navigation working there is another problem with permissions and oauth access levels but we'll deal with that later18:21
salgadoleonardr, IIUC, what you want is a traversal so that you can get to the OAuth token?18:22
leonardrsalgado: right18:22
leonardri was trying to make /~leonardr/oauth_access_tokens/{key} work, but that wasn't working18:22
leonardri looked at other deeply-nested objects like bug messages, and i didn't see any way of recreating their complex navigation code for something that was 1. part of the main application rather than malone, and 2. published only in the web service18:23
salgadoleonardr, so, something similar to what we do for email addresses?18:23
salgado    @stepthrough('+email')18:24
salgado    def traverse_email(self, email):18:24
salgado        """Traverse to this person's emails on the webservice layer."""18:24
salgado        email = getUtility(IEmailAddressSet).getByEmail(email)18:24
salgado        if email is None or email.personID != self.context.id:18:24
salgado            return None18:24
salgado        return email18:24
leonardrthat is promising! where's that code?18:24
salgadolib/lp/registry/browser/person.py18:24
jmlleonardr, salgado: not necessary, but it would be nice to have a short howto / checklist put up somewhere as a result of this conversation.18:24
leonardrjml: yeah, i know it's come up before18:24
salgadoindeed18:25
jmlglad you agree :)18:26
salgadoleonardr, note you'll have to use a different path segment than the one you use for the collection (e.g. +oauth-access-tokens)18:27
leonardrright18:27
leonardrshould it be singular or plural? i see singulars here18:27
salgadosingular18:27
james_whttps://dev.launchpad.net/Web/URLTraversal18:28
=== matsubara is now known as matsubara-lunch
jmloh look there's a thing :)18:29
jmljames_w, thanks.18:29
james_wnp18:29
salgadoleonardr, you might want to give that wiki page a try and update it in case you find anything else18:31
leonardrsalgado: "Traverse to this person's emails on the webservice layer." is that "webservice layer" part enforced at all?18:36
salgadoleonardr, I don't think so18:36
leonardrok18:37
salgadoit's not indeed -- one can traverse to an email address on the web app18:37
sinzuioh sweet18:38
sinzuiI can do the same searching /people/ by email address, but that is kind of secret and definitely slower than API18:39
=== Ursinha is now known as Ursinha-lunch
james_wjml: may I move FileIsADirectory from lp.codehosting.sftp to lp.services.sshserver?19:05
james_wjml: or a better place?19:05
=== al-maisan is now known as almaisan-away
leonardrsalgado: now that we've resolved that, i'd like your advice on implementing a new OAuth access level and the permissions that go with it19:24
leonardrhttp://pastebin.ubuntu.com/457940/19:24
leonardri can create the access level itself easily enough (#1) but i'm not sure how the very specific permission control we need for it can work given our existing permission system19:25
=== matsubara-lunch is now known as matsubara
salgadoleonardr, I think you'll need to special case IOAuth* objects in LaunchpadSecurityPolicy.checkPermission() because the security adapters don't have access to the oauth token used to authenticate, so they can't see if the access level is GRANT_PERMISSIONS or not19:36
salgadoleonardr, but you should talk to gary/flacoste before going forward with that, because it's a bit of a hack19:36
leonardrsalgado: agreed. this design is one i came up with with gary, but i don't know if he knows about that implication19:37
salgadoleonardr, another (even more hacky, although less intrusive) option would be to use get_current_browser_request() in your security adapter to have access to the oauth token19:37
leonardrsalgado: security adapter for IOAuthAccessToken? can you point me to a similar example?19:38
salgadoleonardr, lib/canonical/launchpad/security.py19:38
salgadoleonardr, these are called by LaunchpadSecurityPolicy.checkPermission(), but they're only given the logged in user and the object to check permission on19:39
leonardri think that might be a better solution19:40
salgadoleonardr, btw, do you have a few minutes to help me with lazr.restful?19:54
leonardrsalgado, sure19:54
salgadoleonardr, AIUI, the way lazr.restful exports things is by annotating the interfaces and their methods/attributes and later scanning them to generate the wadl to describe the service. is that correct?19:56
leonardrsalgado: yes19:56
salgadoleonardr, and how does the web app maps the requests back to say, method calls, later?19:58
leonardrsalgado: the scanning process actually generates a set of adapter classes (adapting the various data model classes to IEntry)19:59
leonardrthose adapter classes are used to generate the wadl and also to turn http requests into operations on the data model objects19:59
salgadooh, right, I'd forgotten about the adapters19:59
salgadoleonardr, cool, I think I know enough to move forward now.  I'm doing a proof of concept for exporting things that are not directly provided by a given class but can be provided through an adapter (like what james_w described in that Adapters & API thread20:02
thumpermorning21:58
lifelesshiya22:02
=== matsubara is now known as matsubara-afk
=== salgado is now known as salgado-afk
=== lifeless_ is now known as lifeless

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