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

jml'make schema' is failing for me w/ CSS errors.00:07
jmlahh, but it's fixed by a 'make clean'00:11
spmmake ajax-clean? (har har)00:14
jmlspm, *snrk*00:26
rockstarthumper, around?04:16
thumperrockstar: no05:03
rockstarthumper, :(05:03
rockstarthumper, could you take a look at this really quick?  I made the changes you asked for, but I guess I should have pinged you after I did them.  https://code.edge.launchpad.net/~rockstar/launchpad/branch-scanner-prep/+merge/1626005:04
thumperrockstar: not tonight, going to see avatar, I'll look tomorrow morning when I start work05:05
rockstarthumper, okay.  I have a branch dependent on it that I was hoping to land.  I'll just blame you for not landing it in tomorrows stand up.  :)05:05
thumperok05:05
rockstarthumper, have fun at the movie.05:06
adeuringgood morning08:15
al-maisanGood morning adeuring, alles Gute im neuen Jahr :)08:20
adeuringal-maisan: hi al-maisan! auch Dir eine frohes neues Jahr!08:29
al-maisan:)08:33
henningeadeuring, al-maisan: Auch von mir ein Frohes Neues! ;)08:48
adeuringhenninge: danke, Dir auch!08:49
al-maisanhenninge: hallo, Frohes Neues Jahr :-)08:49
mrevellHello all09:12
deryckMorning, all.11:04
=== noodles775_ is now known as noodles775
adiroibanhi, in the latest launchpad/devel , if I run the full test suite, 1 test is with errors (lp.translations.tests.test_translationbranchapprover.TestTranslationBranchApprover.test_approveNewSharingTemplate) and there are 53 import errors12:02
adiroibanis this ok?12:03
wgrantadiroiban: Can you pastebin the full error output?12:04
wgrantI only know of one test (xx-sso-resetpassword.txt, or something of the sort) that should be failing for non-Canonical people.12:04
adiroibanhttp://paste.ubuntu.com/351210/12:05
wgrantadiroiban: You need to reset your DB permissions.12:06
wgrant'make schema' will do that for you.12:06
wgrant(and wipe out the rest of the data, but it's the easiest way)12:07
wgrantThe import warnings are probably just because jml unbroke the importfascist not long ago. Ignore them.12:08
jmlor fix them.12:08
=== mrevell is now known as mrevell-lunch
adiroibanthanks12:10
adiroibanjtv: hi. Can you please take a look at the last comment from bug 127171. If everthing is ok I will create a MP12:29
mupBug #127171: Rosetta experts not allowed to "Change translators" <Launchpad Translations:In Progress by adiroiban> <https://launchpad.net/bugs/127171>12:29
jtvadiroiban: hi, happy new year!  Looking...12:30
jtvadiroiban: I posted a comment12:41
adiroibanjtv: thanks. as far as I know, right now translation group owners don't have access to products/projects translations settings? Should I go and implement it, or we need to gather more answers for this new question?12:49
jtvadiroiban: my knowledge matches yours.  :)  The only _good_ reason I can think of not to allow this is if we decide to add a bunch of other translations settings to that same page.  Then it might potentially be a bad thing.12:51
jtvTechnically the translation grou12:51
jtvp owner probably shouldn't mess with the access model (open/structured/...)12:51
jtvbut this is the group owners we're talking about, not a wet-behind-the-ears translator who isn't aware of some special arrangement for the project.12:52
adiroibantrue12:52
adiroibanjtv: can you think of some new translations settings that in the near future can land on this pag12:55
jtvnot very near future, no... I've been suggesting breaking down _all_ the project/distro settings by app, but we never did get around to that12:55
jtv(so you'd have a Settings page with the usual overview/branches/bugs/... tabs, and conversely, each of those pages for the project would have a Settings link12:56
jtv)12:56
jtvAnything else?  Something related to upstream connections, I guess.  Maybe it's all in the name this page has.12:57
jtvYou've been playing with giving it a more generic name, but maybe we should consider the opposite.12:58
jtve.g. "+translation-access"12:58
jtvthat way we definitely wouldn't move anything unrelated onto the page that we don't want to give group owners access to.12:59
adiroibanwell right now we have +setting (for a product) and +translations-settings (for a product series)13:00
adiroibangroup owners should not care about +translations-settings13:00
adiroibanfor a productseries13:01
jtvadiroiban: in that case I mis-remembered; I'd better go refresh my recollection13:01
jtvI got that the other way around13:02
jtvadiroiban: hmm...  I see +changetranslators on the product, which actually sounds just right for what we want here13:02
kfogelderyck: morning!13:03
jtvhi kfogel!13:03
kfogeljtv: hey there, happy new year13:03
jtvsame to you—happy 255313:03
jtvBE13:03
kfogeljtv: "2553 BE" ?13:03
jtvBuddhist Era.13:04
adiroibanjtv: true. but last time we talked about this topic, we decided to rename +changetranslators to +settings13:04
deryckMorning kfogel!13:04
jtvkfogel: and no, I have _no_ idea whether there's a BB as well13:04
jtvadiroiban: absolutely right... but what I'm saying is you might have uncovered a reason for not doing that after all13:04
kfogeljtv: heh!  never heard that before.13:04
kfogelderyck: what time's standup?13:05
adiroiban:_13:05
adiroiban:)13:05
adiroibanjtv: ok. then I will leave +changetranslators13:05
adiroibanand allow translation group owners to edit that page for both product and distribution13:06
jtvadiroiban: also has the advantage of less work.  :)13:06
deryckkfogel, you know we already did it.  We didn't change it yet.  I thought you were unavailable today for some reason.13:07
kfogelderyck: whoa -- I forgot it currently started that early.  No problem.13:07
jtvadiroiban: I do think this'll spread some unexpected happiness, as group owners gain a bit more control over their relationship with projects13:07
adiroibanyep. but appart from Ubuntu and Launchpad Translations groups, I think all other product specific translations groups are owned by the product owner/developer13:09
jtvadiroiban: even so, imagine someone assigning an arbitrary, unrelated project-specific translation group to their project.  As things stand, the group owner just goes "wtf" but can't do much.  Now, they can just change the setting.  And they can keep each other happy for days toggling the switch until they decide to talk to each other.  :-)13:12
adiroiban:)13:13
adiroibanjtv1: i have one more question for bug 127171. Since this is a special edit/admin case, I can not reuse launchpad.Edit or launchpad.TranslationsAdmin permissions. It is ok if I'll create launchpad.ChangeTranslators permission ?14:02
=== jtv1 is now known as jtv
mupBug #127171: Rosetta experts not allowed to "Change translators" <Launchpad Translations:In Progress by adiroiban> <https://launchpad.net/bugs/127171>14:02
jtvadiroiban: thin ice for me, so it's worth getting e.g. sinzui (hi sinzui :) into the discussion14:03
sinzuiadiroiban: yes that is a difficult issue14:04
jtvI suppose the alternative would be to have a separate object with regular Edit or Admin rights granted to these groups14:04
adiroibanyep14:05
jtvbut as things stand now, I'd be hard-pressed to answer questions like "then should this be edit or admin," or "if this is Edit, what would Admin mean for that object"14:05
adiroibanwe already have IHasTranslations14:05
adiroibanso IHasTranslators14:05
adiroibancan add some confusion14:05
jtvconfusion adds spice to life14:06
jtvbut anyway :)14:06
sinzuiadiroiban: jtv: consider separating the classes, or using a marker interface. You can also create launchpad.Moderate because that is what rosetta-experts does in many cases14:06
adiroibanwell.. for a IProduct/IProject/IDistribution this is neither Edit or Admin for14:06
jtvsinzui: note that in this case, there are 2 additional classes of people that would have these rights14:07
jtv—the owners of the translation group (one side of a relationship) and the owners of the project (other side of the same relationship)14:07
jtvsinzui: prima facie this doesn't sound like a case for Moderate, but you do remind me that we can have a look for appropriate existing permissions before we consider adding new ones14:09
sinzuijtv: I added marker interfaces to distinguish better Ubuntu and other distros so that they could have different permissions in security.py. It is a pain to add14:11
jtvsinzui: interesting approach... not something I would have come up with given my background in static languages14:11
jtvsinzui: or wait... are you saying "to better distinguish distributions from e.g. projects," or "to better distinguish Ubuntu from other distributions"?14:12
jtvhenninge, do you have any suggestions for a launchpad.* permission we might use for setting a project or distro's translation group & access model?14:13
sinzuiyes: IBaseDistribution and IDerivativeDistribution are added on Distribution.__init__ so that is clear how the instance uses Launchpad.14:13
sinzui^ jtv14:13
jtvcool14:14
henningejtv: is launchpad.Moderate already used?14:14
henningejtv: launchpad.Special would be the other option.14:15
adiroibanhenninge, jtv launchpad.Moderate is not used in translations14:15
jtvThere was a mailing list thread about Special ages ago, which I probably didn't bother to read14:15
adiroibanwe have launchpad.TranslationsAdmin for edit/admin translations settings for objects14:16
jtvModerate seems to be used only in Answers14:16
henningejtv: it is now used in registry, too, once my branch is finally landed ...14:16
jtvoh?14:17
adiroibanwhare are the drowback of having launchpad.ChangeTranslators ?14:17
jtvadiroiban: just that we should stop and think before multiplying permission types.14:17
henningejtv, adiroiban: And we need special blessings from on high to be allowed to add it .14:18
jtvno biggie really, just a checkpoint14:18
jtvhenninge: oh my, it's been so long since I added one that I'd forgotten that :)14:18
henningethere is the man to ask for it ^ ;-)14:18
jtvyup :)14:18
jtvflacoste: you come at just the right time14:19
=== salgado_ is now known as salgado
flacostemorning launchpadders14:19
jtv(and hi, btw :)14:19
flacosteand happy new year!14:19
henningebut I don't think we need to, we can just re-use one of the existing once.14:19
flacostehi jtv14:19
flacostejtv: what can i do?14:19
henningeflacoste: and a good one to you, too.14:19
jtvflacoste: we're just discussing whether adding a new permission is the right thing to do for a particular case14:19
flacostejtv: it usually is not, but there are exceptions14:20
adiroibanflacoste: is related to bug 12717114:20
mupBug #127171: Rosetta experts not allowed to "Change translators" <Launchpad Translations:In Progress by adiroiban> <https://launchpad.net/bugs/127171>14:20
adiroibanwe have „translationgroup translationpermission” atrributes for IProduct, IProject and IDistribution14:21
adiroibanand we can not reuse launchpad.Edit, launchpad.Admin or launchpad.TranslationsAdmin permission14:21
adiroibanas this is a special edit/admin case14:22
flacosteadiroiban, jtv: what is it you want to protect?14:24
flacostethese two attributes on product, project?14:24
jtvflacoste: More generally: a project/distro/project-group can pick one translation group to manage its translations, but we'd like to give 4 classes of users the right to edit this relationship:14:24
flacosteand distribution14:24
adiroibanyes14:24
jtv * owners of the project/distro/project-group14:24
jtv * owners of the translation group14:24
jtv * rosetta admins14:24
adiroibanflacoste: well, in fact we want to protect all the others attributes14:24
jtv * full admins14:24
flacosteadiroiban: what other attributes?14:25
flacosteadiroiban: i assume those are allrday protected14:25
jtvright14:25
adiroibanother edit and admin attributes for project/distribution14:25
adiroibanflacoste: yes. they are protected14:25
jtvI think the confusion is because we're actually talking about un-protecting something :)14:25
flacosteadiroiban: instead of defining a new permission, why not refactor these aspects into a separate object? and use launchpad.Edit / launchpad.Admin there14:26
flacosteadiroiban, jtv: i don't think these attribuets are really part of the IProduct, IProject, IDistribution interface14:26
jtvwe were discussing that against the alternative of adding a permission14:26
flacostejtv: i'd rather refactor into separate object instead of adding to permission proliferation14:27
flacosteit brings other advantages has it reduce the interface14:27
adiroibanok. then I will use launchpad.Edit on TranslationPermission14:29
adiroibanfrom lp.translations.interfaces.translationgroup14:29
adiroibansorry. IHasTranslationGroup14:30
jtvflacoste: this is oddly reminiscent of something we discussed in Dallas... basically a "compound attribute" or "inline object"14:30
jtvone thing I'm far too rusty on: can you do this on the interface, as opposed to the object?14:33
jtvI mean, is just moving these two attributes into a new interface enough?14:34
flacosteadiroiban, jtv: you can declare security on an interface, but you have to have a separate object providing that interface14:36
flacosteadiroiban, jtv: if you simply use IHasTranslationGroup and IProduct defines it, the it's kind of undefined which checker will be used to get launchpad.Edit14:36
flacostes/defines it/provides it/14:36
flacostesince you'll have a checker for launchpad.Edit on IProduct14:36
flacosteand one launchpad.Edit for IHasTranslationGroup14:36
flacostebut Product will provide both14:36
flacostewhich checker should be used for launchpad.Edit on a product?14:36
jtvflacoste: so that would be "no" to my question.  Thank God you're here.  :-)14:36
jtvflacoste: launchpad.Edit for a Product should stay exactly as it is14:37
=== Guest17810 is now known as Joey
jtvso yes, we would need to take steps to avoid "polluting" the existing permissions for the existing objects14:39
jtva new class wouldn't really "do" anything though, apart from apply this permission—you'd basically have either launchpad.Edit on it or nothing14:42
adiroibanjtv, flacoste : what would be you suggestion for solving this problem?14:50
jtvI know I'm the one who said "consider a new class before adding a permission," but In this particular case, I don't think it'd pull its weight14:51
jtvfrancis..?14:51
flacostejtv: well, not creating a new permission pulls its weight for me14:51
flacostei'd call it TranslationPolicy14:52
flacosteisn't it what it is?14:52
flacosteit defines the translation policy for the IHasTranslationGroup?14:52
adiroibanis translationpolicy + translationgroup14:52
flacostemeaning it's the translationgroup itself?14:53
jtvnote that there is no IHasTranslationGroup yet; that's just something we're considering as part of an alternative to a new permission14:53
flacostedo you have a ITranslationGroup already?14:53
jtvyes14:53
adiroibanjtv: hm... what is IHasTranslationGroup from lp.translations.interfaces.translationgroup14:54
adiroiban?14:54
flacostei'd say create a ITranslationPolicy14:54
flacostewhich has permission and group has members14:54
jtvadiroiban: oh, we do have one?  oops!14:54
=== salgado is now known as salgado-afk
jtvthe new interface is definitely a nice idea...  I'm more worried about a new implementing class14:55
=== salgado-afk is now known as salgado-lunch
* jtv checks out IHasTranslationGroup14:56
flacosteyou can then define an adapter that will map the attributes to the underlying db object14:56
flacosteso to get to the translationgroup or permission for an object you'D use14:56
flacosteITranslationPolicy(product).translationgroup14:57
jtvah, ok, we do have the separate interface already14:57
flacostewhy do you need IHasTranslationGroup?14:57
jtvit turns out that's the interface that these attributes are already in14:57
flacosteright, so I'd say rename the interface and use an adapter14:58
flacostebecause a product wouldn't have a translation group anymore14:58
flacosteit could be adapted into one14:58
flacostethat'd be another way of doing it actually14:58
flacostemove the permission attribute to the translationgroup itself14:59
flacosteand adapt directly to ITranslationGroup14:59
flacostethat doesn't work if you can change the translation group though14:59
flacostewhich i think is what you want here14:59
flacostein that case, renaming it has a TranslationPolicy sounds better14:59
adiroibanthe permissions were moved to IHasTranslationGroup14:59
flacosteright15:00
jtvflacoste: adapting to ITranslationGroup wouldn't be appropriate here, but adapting to the separate interface does look good15:00
jtvAnd then there'd be a launchpad.Edit on the class that provides the adapter?15:01
beunoderyck, hi. I woke up today thinking about Launchpad bugs Q&A15:02
jtvflacoste: and I guess setters, to shunt changes back to the actual Product/Project/Distribution15:03
flacostejtv: yes, there'd be a launchpad.Edit checker for ITranslationPolicy15:05
flacostejtv, adiroiban: i'd check if lazr.delegates allow delegating setter also?15:05
deryckbeuno, ok, cool.  I'm all ears. :-)15:05
* jtv checks15:06
flacostejtv, adiroiban: declare the adapter as trusted, that way you'll always get an unproxied object has the adpater context (so the raw DB object)15:06
beunoderyck, it wasn't a bright idea as much as "that would be very cool"  :)15:07
beunodo we know when we're going to sink our teeth into the feature?15:07
jtvflacoste: raw model object I understand... but what db object?15:08
jtvoh, the context—sorry15:08
flacostejtv: well, the raw model object is a db object, no15:08
jtvflacoste: is there no risk of leaking when we do that?  I would've thought to use rSP() in the setters15:10
jtv(although of course that means we lose the convenience of delegating them, if that is possible)15:10
flacostejtv: no, the security framework will proxy it back15:10
jtvah ok15:10
jtvso we're really just allowing access for the purpose of delegating15:11
jtvI know there was a doctest for delegates _somewhere_...15:15
=== matsubara is now known as matsubara-lunch
jtvadiroiban: I'm checking whether delegating settings will work15:25
deryckbeuno, sorry, locked up system.  we'll continue work on q&a when checkwatches work is done.  I'd guess a couple months out.15:26
deryckbeuno, just a guess though :)15:26
adiroibanjtv: OK. Right now I'm lost and I'm looking at the LP code to understand the required changes15:29
jtvflacoste: bless your little toes, yes, setters get delegated!15:29
jtvadiroiban: instead of making IProduct/IProject/IDistribution inherit from IHasTranslationGroup, you'd give them adapters to IHasTranslationGroup15:31
jtv(I'm ignoring the matter of renaming the interface here, since it's entirely orthogonal to the rest of it)15:31
jtvadiroiban: the adapted object implements IHasTranslationGroup, but simply by delegating it to self.context using lazr.delegates.15:33
jtvso it contains nothing but self.context, which is a reference to the real Project, Product, or Distribution15:34
adiroibanjtv: ok. I'll ignore the renaming for now. So one adapter for each attribute15:34
=== mpt_ is now known as mpt
jtvadiroiban: no, the adapter produces an object that implements the entire IHasTranslationGroup (so both the TranslationGroup reference and the permissions setting)_15:35
adiroibanjtv: can you point me to a similar code that is already implemented in LP.15:36
jtvadiroiban: I tried to find back the documentation for delegates that I seem to recall reading, but little luck so far.  :/15:36
adiroibanI think an example will help me understand what are these lazr.delegates, why and how should I use them15:36
jtvyou're very right to ask for it though!15:37
jtv(I'm still searching :)15:38
jtvadiroiban: ah! it's been turned into a README.txt in lazr.delegates15:39
adiroibanjtv: is this an external project? i could not find the README.txt for lazr.delegates15:44
jtvadiroiban: right, it's outside of the lp tree; look in lp-sourcedeps/eggs/lazr.delegates*15:44
adiroibanthanks15:44
jtvmeanwhile I'm cooking up a very schematic example15:45
jtvof the delegation part15:45
adiroibanjtv: yep. reading the documentation...15:53
adiroibanjtv: getting back to IHasTranslationGroup15:53
adiroibanit should be renamed to ITranslationsPolicy, right?15:53
jelmerDoes this error look familiar to anyone?15:53
jelmer  Getting distribution for 'distribute'.15:53
jelmerError: Couldn't find a distribution for 'distribute'.15:53
jelmerThat's while running bootstrap.py15:53
jtvadiroiban: http://paste.ubuntu.com/351305/16:00
beunoflacoste, UI call?16:00
flacostebeuno: yep16:01
beunoEdwinGrubbs?16:01
beunonoodles775?16:01
beunojtv?16:01
EdwinGrubbsbeuno: I'm dialing in now16:01
jtvbeuno: same here16:02
=== matsubara-lunch is now known as matsubara
=== beuno is now known as beuno-lunch
=== salgado-lunch is now known as salgado
kfogeladeuring: hey, I think you dropped out on the canonical irc network16:32
adeuringkfogel: i should be back.16:32
adeuring(that was the daily connection reset from my ISP... Need to disconnect the DSL modem explicitly later this evening)16:33
kfogeladeuring: not back yet (at least according my nick completion).  But anyway, no big deal.  I was going to say "call now?", but need to have a quick conversation with my girlfriend Winnie about coordinating travel later today, so let me do that first then ping you.16:34
adeuringkfogel: sure, np16:34
jtvadiroiban: I'm leaving for the night... what's your impression of Francis' suggestion so far?16:37
adiroibanjtv: still reading about delegates16:37
adiroibanI don't know if this should be part of the model or the view16:37
kfogeladeuring: okay, ready16:38
kfogeladeuring: I'm "karl.fogel" on skype16:38
adeuringkfogel: ok,. I'll call you16:39
jtvadiroiban: did my example help?  One thing beyond the delegates part is that the TranslationPolicy class can serve as an adapter factory (look for "adapter" in lib/lp/translations/configure.zcml) to produce TranslationPolicy objects.16:39
adiroibanjtv: right now I don't know how to plug the TranslationPolicy into the current views16:41
kfogeladeuring: https://dev.launchpad.net/Bugs/PatchTracking16:42
adiroibanjtv: but with more reading I should get my way. Thanks! Have a good evening16:42
jtvadiroiban: from a brief look at ProjectChangeTranslatorsView, I'd guess you could use the generic form for TranslationPolicy.16:43
jtvwhoops... evening?  almost midnight.  See you tomorrow!  :-)16:43
adiroibanjtv: :)16:43
adiroibansee you tomorrow! ... or in the morning :)16:44
jtvgah :)16:45
bigjoolssinzui: thanks for your bug retargeting work16:45
sinzuibigjools: your welcome.16:46
kfogeladeuring: https://wiki.ubuntu.com/Specs/LaunchpadUpstreamImprovements16:52
=== abentley1 is now known as abentley
=== abentley1 is now known as abentley
=== abentley1 is now known as abentley
=== abentley1 is now known as abentley
=== abentley1 is now known as abentley
=== abentley1 is now known as abentley
kfogeladeuring: https://bugs.edge.launchpad.net/malone/+bug/23102317:06
mupBug #231023: on status change, show new status in Subject: <email> <Launchpad Bugs:Confirmed> <https://launchpad.net/bugs/231023>17:06
kfogeladeuring: did you read https://bugs.edge.launchpad.net/malone/+bug/172501/comments/6 and Emmet's followup comment to it?17:13
mupBug #172501: reject non-code patch attachements <patch-tracking> <story-patch-report> <Launchpad Bugs:Triaged> <https://launchpad.net/bugs/172501>17:13
kfogeladeuring: it seems Matt Z is suggesting that this whole automatic detection of patches plan is bogus, and instead bugsquad should just add "patch" flag manually when they see there's a patch there.17:13
kfogeladeuring: to me, that sounds like unnecessary work for bugsquad, and we *should* be able to do better with automatic detection.  But I'm not sure if there's perhaps some history here that I'm not aware of.17:14
adeuringkfogel: right. but that perhaps also a hint that we should focus more  on bzr branches than on attachments17:16
kfogeladeuring: hmrm.  Okay, adjusting comment accordingly.17:16
=== beuno-lunch is now known as beuno
kfogeladeuring: added comments to bug #298099 and bug #172501 as discussed.  I wish I knew a way to add a shorthand link to a particular comment (e.g., the way "bug #NNN" links to that bug, I want to link to "bug #NNN comment #8", but the only way I can see to do that is to just write out the full URL to that comment).17:25
mupBug #298099: patch flag for attachments not indicated as optional <patch-tracking> <story-patch-report> <ubuntu-qa> <ui> <Launchpad Bugs:Triaged> <https://launchpad.net/bugs/298099>17:25
mupBug #172501: reject non-code patch attachements <patch-tracking> <story-patch-report> <Launchpad Bugs:Triaged> <https://launchpad.net/bugs/172501>17:25
adeuringkfogel: thanks!17:25
kfogeladeuring: ah, that's bug #24242017:27
mupBug #242420: should be possible to link to bug comments like 'bug 123' becomes a link <infrastructure> <ui> <Launchpad Bugs:Confirmed> <https://launchpad.net/bugs/242420>17:27
=== kfogel is now known as kfogel-lunch
mrevell-lunchcurses, I've not been on lunch all this time...17:48
=== mrevell-lunch is now known as mrevell
* mrevell --> reboot17:49
leonardrbary, i have a python voodoo question17:52
leonardrthe code is here: http://pastebin.ubuntu.com/351352/17:53
leonardrentry_schema has a non-None value in class_dict, but when I create a type for it, the class's entry_schema is None. the attribute is present but its value is None17:54
leonardrhow can this be happening?17:54
leonardrbarry -^17:54
leonardrthe superclass (BaseCollectionAdapter) does not define that attribute, so it's not that the superclass value is taking precedence17:56
leonardrbarry: i set class_dict['entry_schema'] to the string 'foobar', and that worked17:59
leonardrok, i think i see the problem...18:01
mrevellg'night all :)18:11
=== deryck is now known as deryck[lunch]
=== gary_poster is now known as gary-afk
=== deryck[lunch] is now known as deryck
leonardrbarry: another voodoo question if you're around19:24
james_w`hi leonardr19:28
leonardrjames_w: hi19:28
leonardrbarry: http://pastebin.ubuntu.com/351399/19:28
leonardris it possible and zope's BrowserRequest interface does not have a metaclass of 'type'?19:29
james_w`leonardr: lazr.restfulclient requires Resource A to be bound to know the Resource type for Resource B where B is a parameter of A. Is that a limitation of WADL, or just the way lazr.restfulclient is coded?19:31
leonardrthat sounds like a quirk of lazr.restfulclient or wadllib, probably restfulclient19:32
james_w`it seems like more use could be made of resource_type references, but is there something that means you don't know exactly which resource type you will get?19:32
james_w`e.g. team vs. person?19:32
james_w`they would both be Entry, and I think it would be mad to have something which could be either a Collection/Entry, but Collection/CollectionWithKeyBasedLookup would be possible19:33
mwhudsongood morning19:33
leonardrjames_w: there are cases where the wadl says you get a generic interface (eg. a pillar or a person) when you'll actually get a more specific type. in those cases you'll have to fetch the real object to see the type19:33
leonardrbut they would both be entry19:34
leonardrthey would be different subclasses (sub-interfaces) o f the same generic interface19:34
james_w`I'm asking as I'm writing a lazier version which just instantiates dummy objects, it would be good if those dummy objects could at least know whether they should offer e.g. __getitem__ so that you could error earlier19:34
james_w`ok, so it sounds like you could at least do the dance around RESOURCE_TYPE_CLASSES and the like, even if you aren't sure exactly which attributes the new Resource will present19:35
james_w`morning mwhudson19:36
james_w`thanks leonardr, I'll keep looking at this19:36
leonardrjames_w: yes, unless there are specific client-side classes for Team and Person, which shouldn't happen, you should be able to defer fetch to the moment at which the object's type is actually needed19:36
leonardrbut for all i know that will end up happening immediately19:36
barryleonardr: hi, been on another machine.  still need help?19:37
barryleonardr: >>> from zope.publisher.browser import BrowserRequest19:41
barry>>> type(BrowserRequest)19:41
barry<type 'type'>19:41
barry 19:41
barryleonardr: >>> from lazr.restful.interfaces import IWebServiceConfiguration19:42
barry>>> type(IWebServiceConfiguration)19:42
barry<class 'zope.interface.interface.InterfaceClass'>19:42
barry 19:42
mwhudsoncrap19:46
mwhudsoni have 1.5 times as much unread mail as i had this time yesterday19:46
rockstarmwhudson, yeah, it's coming in faster than I can read it.19:47
leonardrbarry: so should i use InterfaceClass instead of type? this is not something i understand well19:47
thumpermorning19:48
rockstarthumper, not-so-subtle-harassment for reviewing https://code.edge.launchpad.net/~rockstar/launchpad/branch-scanner-prep/+merge/1626019:51
thumpermorning rockstar19:51
rockstarthumper, morning.19:51
rockstar:)19:51
barryleonardr: i think so.  the problem you're having is (iirc) zope's interface metaclass predates inheriting from type.  it's a metaclass defined in C.19:51
=== matsubara is now known as matsubara-afk
=== salgado is now known as salgado-afk
=== james_w` is now known as james_w
=== EdwinGrubbs is now known as Edwin-afk
* thumper running for real coffee, bbs21:49
wgrantjelmer: I worked around that distribute issue by downgrading python-pkg-resources and python-setuptools to their Karmic versions.22:17
* mwhudson afk for a bit22:39
james_whttps://edge.launchpad.net/lazr.restfulclient.tx <- contributions welcome23:20
jmloooh.23:33
jmljames_w, shiny23:34
jmljames_w, you going to mention it in #twisted?23:34
james_wjml: you think I should?23:42
jmljames_w, maybe. someone might be interested.23:43
thumperjml: junk branches biting us in the arse again with branch.product is None23:57
jmlthumper, I thought I fixed or XXXd all of those23:58
thumperjml: when someone fixed the getBranch for revision, it broke the revision karma allocator23:58
jmlthumper, what was the allocator doing?23:59
jml(I bet it wasn't asking for what it actually wanted, but figuring out what it wanted from a bunch of implementation details)23:59
thumperjml: the query is broken asking for which revisions23:59
thumperjml: and the checker is broken in at least one place23:59

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