[01:19] <spm> bac: sinzui: heyo (sorry was driving up to sydney) did you still need me to apply something?
[01:25] <jml> wuu Sydney
[01:29] <thumper> \o/ bzr-svn success https://code.staging.launchpad.net/~thumper/pydoctor/bzr-svn
[01:36] <jml> thumper, excellent :)
[01:39] <thumper> spm: hey, can losas turn a project into a project group?
[03:40] <spm> thumper: I believe so. not sure the rules around that atm...
[03:41] <spm> thumper: huh, chr can do them now as well.
[03:46]  * jml is back
[04:03] <bac> thumper, spm: you cannot convert a project into a project group.  CHR can now create project groups but the name must be free already, i.e. project of same name cannot exist
[04:04] <spm> ahh. ta, thanks bac
[04:04] <thumper> bac: it would be pretty cool to have a script that renames the project, makes the project group and copies across descriptions and things like that
[05:35]  * thumper EODs
[05:36] <jml> thumper, g'night.
[05:50] <jml> g'night all
[08:20] <adeuring> good morning
[09:10] <mrevell> Mornin' all
[10:14] <adiroiban> henninge: hi, is there a page listing all templates in Launchpad with the same name? I'm working at bug 435165 and beside a link to other templates from the source package, I would like to add a link to all templates with the same (if there is such page)
[10:14] <mup> Bug #435165: Make it easier to navigate to the full list of templates in source packages <trivial> <ui> <Launchpad Translations:In Progress by adiroiban> <https://launchpad.net/bugs/435165>
[10:15] <henninge> adiroiban: no, there is no such page.
[10:16] <henninge> adiroiban: but I know that on a templates page there is a list with links to templates with the same name.
[10:16] <henninge> * a template's page *
[10:16] <adiroiban> henninge: yes... but i think only first 4 tempaltes are listed
[10:17] <henninge> adiroiban: sure but it means that there is already such a query in the code. You could make the limit optional.
[10:21] <adiroiban> henninge: :) I don't like options :) ... there is still the UI problem how to display 30 templates
[10:22] <adiroiban> henninge: I think i will just go with solving that bug :)
[10:22] <adiroiban> without other changes
[10:29] <bigjools> wgrant: did you see a  build go through on DF of a 3.0 package?
[10:34] <wgrant> bigjools: I didn't. Is the builder fixed?
[10:34] <bigjools> should be
[10:35] <wgrant> bigjools: lamont suggested it wouldn't be done until today or Monday.
[10:35] <wgrant> bigjools: (lp-buildd needs patching for Karmic's dpkg)
[10:35] <bigjools> mmm oh, I thought he said he'd done it
[10:36]  * wgrant retries.
[10:37] <henninge> I think I have seen "AttributeError: 'thread._local' object has no attribute 'interaction'" before but cannot remember what is missing here: http://paste.ubuntu.com/339130/
[10:37] <wgrant> henninge: You're not logged in.
[10:37] <henninge> Anybody got an idea?
[10:37] <henninge> argh!
[10:38] <henninge> thanks wgrant, now I remember
[10:38] <henninge> ;)
[10:41] <bigjools> wgrant: "Couldn't find directory of bar_1.0-1.dsc in dpkg-source output"
[10:44] <wgrant> bigjools: Yep, that's the bug.
[10:44] <wgrant> (and as you can probably see, I forgot to flip it back to manual in time. oops)
[10:44] <bigjools> wgrant: that's what happens without the right dpkg?
[10:44] <wgrant> bigjools: dpkg-source's output changed in Karmic.
[10:44]  * wgrant finds the bug.
[10:45] <bigjools> ah
[10:45] <wgrant> https://bugs.edge.launchpad.net/launchpad-buildd/+bug/476036
[11:00] <deryck> Morning, all.
[11:08] <bigjools> wgrant: I am going to bash a load of builds through DF to stress test some stuff, I'll need to make the builder auto again
[11:08] <bigjools> morning deryck
[11:08] <wgrant> bigjools: But the builder does not work (even for 1.0 sources)
[11:08] <bigjools> wgrant: oh, fuck sake
[11:08] <bigjools> this is not good
[11:09] <bigjools> pqm closes today and I need to QA stuff
[11:09] <wgrant> bigjools: The fixes are trivial, if you can get a sysadmin to either alter the regexps as lamont says, or downgrade dpkg
[11:09] <noodles775> bigjools: closes on Sunday I think, but not much different.
[11:10] <bigjools> noodles775: I worked every waking hour this week already, I don't want to work the weekend too :)
[11:10] <noodles775> totally. I was just clarifying when pqm closes :)
[12:02] <lamont> wgrant: applied, fwiw
[12:05]  * bigjools will test it when dogfood decides to wake up
[12:06] <bigjools> why does FF have to reload a page when going back one in the history.... ridiculous
[12:07] <lamont> "work offline", "back", "work online" maybe?
[12:10] <bigjools> apt-get install chromium maybe ;)
[12:11] <bigjools> well, not the game
[13:19] <henninge> sinzui: Hi!
[13:55] <sinzui> hi henninge
[14:13] <henninge> sinzui: ping, again
[14:13] <sinzui> hello
[14:13] <henninge> Hi
[14:14] <henninge> sinzui: I am not sure if I missunderstood something or if I just haven't grasped the workings of the zope/LP security system yet.
[14:14] <henninge> sinzui: but I am stuck and I wondered if you could help me.
[14:14] <sinzui> I hope I can
[14:15] <sinzui> you want to give ~registry launchpad.Edit on IAccount so that the status can be set to SUSPENDED?
[14:16] <henninge> I guess. Here is what I have done so far: http://paste.ubuntu.com/339233/
[14:16] <henninge> sinzui: what did we plan to use launchpad.Moderate for, then?
[14:17] <henninge> sinzui: so far I am only dealing with views
[14:17] <henninge> the page test is failing
[14:18] <henninge> like this: http://paste.ubuntu.com/339192/
[14:18] <sinzui> henninge: That was flacoste's suggestion. To introduce a new permission, you need to modify the IAccount interface, separate the items you want ~regisrty to manage to a new interface. Add the new permissing and interface to the ZCML
[14:19] <sinzui> henninge: the paste looks like the ZCML rules are missing
[14:20] <henninge> sinzui: I only changed ther permission for +reviewaccount
[14:20] <sinzui> but not the underlying object
[14:21] <henninge> yes, the zcml requires lp.Edit for IAccount.
[14:21] <sinzui> you can load that view so long as the code/template does not access the attributes
[14:21] <henninge> I am trying to understand the error message
[14:22] <henninge> It says "launchpad.Moderate" is required to access this view but you don't have that.
[14:22] <henninge> right?
[14:22] <sinzui> The last text of the last line indeed says that
[14:23] <sinzui> Henning add this to account.zcml
[14:23] <sinzui>         <require
[14:23] <sinzui>             permission="launchpad.moderate"
[14:23] <sinzui>             interface="canonical.launchpad.interfaces.IAccountPublic" />
[14:23] <sinzui> oop
[14:23] <sinzui> do not do that
[14:25] <sinzui> Separate the attributes that you want ~registry to manage to an new interface named IAccountModerate, and add this to ZCML.
[14:25] <sinzui>         <require
[14:25] <sinzui>             permission="launchpad.Moderate"
[14:25] <sinzui>             interface="canonical.launchpad.interfaces.IAccountModerate" />
[14:25] <henninge> sinzui: don't I need a new interf...
[14:25] <henninge> ah, yes
[14:26] <henninge> sinzui: ok, I will do that.
[14:26] <henninge> but what about the error message?
[14:26] <henninge> If that was the problem here, I'd expect a message about IAcount, not about the view.
[14:26] <sinzui> henninge: the message says there is no launchapd.Moderation
[14:27] <henninge> so, the view is for IPerson, requiring launchpad.Moderate
[14:28] <henninge> doesn't ModeratePerson in security.py apply to that?
[14:28] <sinzui> henninge: It might be. Accounts are not exposed in the UI, and we do not want to.
[14:29] <sinzui> henninge: the first thing  you should be doing is testing the redefinition of the intreface in doc and unit tests. You got ahead of yourself
[14:29] <henninge> sinzui: I see.
[14:29] <henninge> ok, let me do that and then we take it from there
[14:30] <flacoste> morning launchpadders
[14:33] <abentley> deryck: lib/lp/bugs/tests/../doc/bug.txt is failing for me on an unmodified copy of stable.  Any ideas? http://pastebin.ubuntu.com/339243/
[14:34]  * deryck looks
[14:37] <abentley> deryck: test_bugs_webservice is also failing: http://pastebin.ubuntu.com/339246/
[14:37] <deryck> abentley, no idea what that's about.  pulling a copy of stable, too.
[14:38] <deryck> looks like sample data is out of sync with the test maybe.  those look like sample data-based tests to me.
[14:41] <abentley> deryck: I ran make schema earlier, but I'll run it again.
[14:43] <abentley> deryck: Yeah, make schema didn't help.
[14:56] <deryck> abentley, yeah, they fail for me too in stable.  I can look into it, but it will have to wait a bit.  Have a call coming up.
[14:56] <BjornT_> gary_poster: maybe you could review a small patch? https://code.edge.launchpad.net/~bjornt/launchpad/bug-495397/+merge/16007
[14:56] <abentley> deryck: Thanks for looking into it.
[14:56] <deryck> abentley, np
[14:56] <gary_poster> BjornT_: looking
[15:07] <adiroiban> is there a way to see exceptions from a view method?
[15:08] <adiroiban> I can see LocationError but I don't know why
[15:09] <henninge> sinzui: I had to move things around in IAccount* to accomodate for the fact that status is part of two interfaces. http://paste.ubuntu.com/339260/
[15:10] <sinzui> Correct. You do need to do that
[15:11] <matsubara> sinzui, let me know when finish editing LaunchpadTestPlan/3.1.12
[15:11] <matsubara> please
[15:11] <sinzui> matsubara: done
[15:15] <sinzui> henninge: I am surprised this works. I recall that the ZCML validator will scream if there are two permission for an attribute.
[15:15] <matsubara> thanks sinzui
[15:17] <henninge> sinzui: it still does :(
[15:17] <sinzui> henninge: I recall needing to ensure an attribute was listed just once, then updating the permission checkers in security.py to to ensure that each level of responsibility was included eg, launchpad.Moderate must  allow the owner and admin to change them too
[16:12] <henninge> sinzui: verifyObject is failing for IAccount. I don't kno why it does not see the Attributes from IAccountModerated.
[16:13] <sinzui> interesting
[16:13] <henninge> http://paste.ubuntu.com/339309/
[16:14] <sinzui> status_comment is defined in IAccountModerated?
[16:14] <henninge> sinzui: I think the checkers are ok : http://paste.ubuntu.com/339313/
[16:14] <henninge> sinzui: yes
[16:14] <sinzui> hmm that is bad
[16:15] <sinzui> ModerateAccount must check for registry_expert(user) , edit must check be admin. I think you need to revert EditAccount
[16:16] <sinzui> henninge: my recommendation to change EditAccount was based on giving ~registry Edit. Since you create Moderate, we need separate checking rules
[16:17] <sinzui> henninge: I think the error you are seeing relates to the interface and zcml. Can I see those
[16:17] <henninge> sinzui: but isn't the current situation more permissive to when I change it
[16:17] <henninge> ?
[16:17] <sinzui> henninge: whay are you creating Moderate when Launchpad.Edit uses is_admin_or_registry_expert(user)
[16:18] <henninge> sinzui: lp:~henninge/launchpad/bug-495126-deactivate-users
[16:18] <henninge> codebrowse is down ...
[16:18] <henninge> let me paste it
[16:20] <henninge> sinzui: account.zcml http://paste.ubuntu.com/339317/
[16:21] <henninge> sinzui: interfaces http://paste.ubuntu.com/339320/
[16:23] <sinzui> henninge: revert EditAccount. Those rules are not changing because you are creating launchpad.Moderate. ModerateAccount checks uses is_admin_or_registry_expert(user) . In fact, I think ModerateAccount() may look exactly like how you wrote EditAccount
[16:25] <sinzui> henninge: As I said earlier, I do not think you can have IAccountStatus because you are defining it twice. That look wrong and I recall ZCML will hate you for it
[16:25] <henninge> sinzui: no, the current setup doesn't.
[16:26] <henninge> sinzui: IAccountEdit and IAccountModerate don't share any attributes.
[16:26] <henninge> sinzui: that is what zcml was complaining about in the first version I did.
[16:27] <sinzui> henninge: IAccountPublic and IAccountModerate both have status, then you give it to IAccount
[16:27] <sinzui> so Iaccount has status, but two permission rules for it
[16:28] <henninge> IAccount does not inherit from IAccountPublic but from IAccountBase
[16:28] <henninge> there is one rule for reading and one for setting
[16:29] <henninge> sinzui: found it!
[16:30] <henninge> sinzui: there is no read rule for the two attributes in IAccountModerate, only a set rule.
[16:30] <sinzui> henninge: yes I see that.
[16:43] <henninge> sinzui: test is passing now again, all is well. But interfaces/account.py has gained some weight.
[17:10] <sinzui> henninge: There are several unreviewed projects that were setup by spammers
[17:11] <henninge> sinzui: I did not get to reviewing projects this week, I am sorry
[17:11] <sinzui> No one has reviewed projects for several weeks. there are about 450 projects
[17:12]  * sinzui approves the obvious ones so that only the challenging ones need review.
[17:23] <Daviey> Hey, i'm interested in adding a boolean people[].mugshot.isValid to the API - to return if there is a mugshot for that person/team?  Does anyone have any guidance
[17:24] <Daviey> afaics it's currently only possible by using .open()
[17:24] <Daviey> which is less than ideal, because it looks like it downloads the image
[17:25] <beuno> Daviey, sinzui can probably give you a nod
[17:26] <Daviey> sinzui: ping ^^
[17:28] <sinzui> Daviey: we do not *add* to the API, We expose what is there. So the questions we ask it does the application need to know this, and if so add it. Otherwise we make changes to the application so that users get that information some other way, Do you want to do this because mugshot blows up when you try to get it?
[17:28] <Daviey> sinzui: I just want a sane way to find out if a person/team has a mugshot or not :(
[17:29] <Daviey> programtically
[17:29] <beuno> isn't there such logic in Launchpad today?
[17:30] <Daviey> beuno: i've spent quite alot of time trying to find out.. i'll be really pleased if you know of one :)
[17:31] <beuno> Daviey, I don't, but Launchpad finds out somehow, so either that needs to be exposed, or something needs to be created
[17:31] <sinzui> Daviey: In python we would test for this by
[17:31] <sinzui>     if person.mugshot:
[17:31] <sinzui> or to be pedantic
[17:31] <sinzui>     if person.mugshot is None:
[17:34] <sinzui> Daviey: I think the problem is not that you cannot know that the user has a mugshot, but that there is a problem in how it was exposed: bug 336943
[17:34] <mup> Bug #336943: requesting user's mugshot via api OOPS when user is using the default one <api> <registry-people> <Launchpad Registry:Triaged> <https://launchpad.net/bugs/336943>
[17:34] <Daviey> sinzui: I was just testing the above code, for a moment i was feeling rather silly.
[17:34] <sinzui> Daviey: The logic should return None instead of dying
[17:35] <sinzui> I do not think Launchpad should return the default url when there is none.
[17:35] <Daviey> sinzui: what i'm currently doing is try mugshot.open(), catch HTTPError
[17:35] <Daviey> which makes me feel very dirty.
[17:37] <sinzui> Daviey: I agree. I do not know what is going. The API uses this:
[17:37] <sinzui> http://pastebin.ubuntu.com/339365/
[17:40] <Daviey> hmm
[17:42] <sinzui> Daviey: I think the problem is in lib/canonical/launchpad/fields/__init__py I see BaseImageUpload requires default_image_resource to be set...but never uses it!
[17:44] <Daviey> sinzui: You obviously know this better than i do, but would that cause a BOOM?  Having data that isn't used?
[17:45] <Daviey> launchpad web app looks like it uses default_image_resource
[17:46] <sinzui> Well if the default is not being used, the field is processing None, which will cause an error. I think the field should check that there is an image to work. If there is not one, return the default
[17:49] <Daviey> sinzui: Is this something you'll have time to work on, or should i look at trying to submit it myself?
[17:49] <sinzui> Daviey: I do not see a test that shows that the mugshot attribute works when access via the API. A test of any test user will work since non have mugshots set
[17:49] <sinzui> I do not have time to work on it. That is why the bug is low
[17:49] <Daviey> >>> people['davewalker'].mugshot
[17:49] <Daviey> <lazr.restfulclient.resource.HostedFile object at 0xa8d130c>
[17:50] <Daviey> I have no mugshot
[17:53] <Daviey> sinzui: thanks for your time
[17:57] <sinzui> Daviey: I updated bug 336943 with my thoughts
[17:57] <mup> Bug #336943: requesting user's mugshot via api OOPS when user is using the default one <api> <registry-people> <Launchpad Registry:Triaged> <https://launchpad.net/bugs/336943>
[17:58] <Daviey> \o/
[18:26] <sinzui> Chex: ping
[18:31] <Chex> sinzui: hello there
[19:13] <mars> oops.  launchpadlib threw up when I ran the simple example on the wiki :(
[19:13] <adiroiban> when doing pagetest, and using find_tag_by_id, is there a function for getting links withing that tag?
[19:14] <adiroiban> like browser.getLink?
[19:14] <mars> adiroiban, it uses beautiful soup under the hood, and soup can do that, so maybe check the find_tag_by_id() function definition.
[19:45] <maxb> mars: Here's my personal gathering of things I've played around with launchpadlib: http://paste.ubuntu.com/339440/ - hope it's useful
[19:45] <mars> maxb, thanks
[19:46] <mars> turns out it was my user pythonpath being loaded over the system libraries
[19:46] <mars> nice
[19:56] <mars> excellent!  you can pull raw API JSON using a call launchpad._browser.get()