[00:42] <StevenK> I thought I could click on 'Private: Some' on a +sharing page to remove access. :-(
[00:48] <wgrant> StevenK: You can
[00:48] <StevenK> wgrant: Except it doesn't work on qas
[00:50] <wgrant> StevenK: Hm, but the FF is enabled...
[00:50] <wgrant> Oh
[00:50] <wgrant> StevenK: You're trying on launchpad?
[00:50] <wgrant> flacoste owns that on qas, rather than ~launchpad
[00:50] <wgrant> So you can't edit it
[00:50] <StevenK> Ah
[00:51] <wgrant> webops: could you please reassign https://launchpad.net/launchpad from ~flacoste to ~launchpad?
[00:51] <wgrant> Bah
[00:51] <wgrant> https://qastaging.launchpad.net/launchpad
[00:51] <StevenK> Hahahaha
[00:52] <hloeung> wgrant: "No items matched "~launchpad"
[00:52] <wgrant> hloeung: Drop the ~
[00:53] <hloeung> wgrant: done
[00:53] <wgrant> Indeed, thanks.
[00:53] <wgrant> StevenK: Try again?
[00:53] <StevenK> Right, now it has edit icons and such
[00:54] <StevenK> Before, the text were links, which gave the impression
[01:00] <StevenK> wallyworld: You haz QA
[01:01] <StevenK> Not that it matters
[01:01] <wallyworld> yes, will do it soon
[01:54] <StevenK> wallyworld, wgrant: Either of you want to review https://code.launchpad.net/~stevenk/launchpad/auditor-for-packageupload/+merge/116180 ?
[02:05] <wgrant> StevenK: ಠ_ಠ ಠ_ಠ
[02:06] <wgrant> AuditorClient.recieve is awful
[02:06] <wgrant> One doesn't compose query strings using string formatting operations.
[02:06] <wgrant> Also, consider using lazr.uri to compose the rest of the URL
[02:07] <wgrant> >>> u = lazr.uri.URI(scheme='http', host='foo', port=1234, path='/')
[02:07] <wgrant> >>> u.append('log/').replace(query='somequery')
[02:07] <wgrant> URI('http://foo:1234/log/?somequery')
[02:08] <wgrant> Also, datetime.now() is local time, which is wrong
[02:10] <StevenK> wgrant: I didn't know about lazr.uri, but it doesn't seem like it will help much, given the URLs for auditor are simple.
[02:10] <StevenK> wgrant: If not string formatting operations, then what?
[02:11] <wgrant> >>> urllib.urlencode([('correct=encoding', 'is&good?')])
[02:11] <wgrant> 'correct%3Dencoding=is%26good%3F'
[02:16] <StevenK> wgrant: http://pastebin.ubuntu.com/1105753/
[02:17] <wgrant> Improved.
[02:17] <StevenK> But still not good? :-P
[02:29] <StevenK> wgrant: Diff updated, makes use of urlencode rather than '&'.join() and datetime.utcnow()
[02:46] <wgrant> StevenK: Have you discussed all this with lifeless?
[02:57] <StevenK> wgrant: He just gave his 2 cents on the MP itself
[02:57] <StevenK> So I'll be refactoring after lunch
[03:01] <StevenK> wgrant: But thanks for the hints about making use of urlencode.
[03:02] <wgrant> StevenK: In general if you're using string formatting to produce a machine-readable string in a format that you didn't design yourself you probably have a terrible bug
[03:11] <lifeless> intel should quit the wifi chip business.
[03:16] <StevenK> Or perhaps you should switch to Ethernet
[03:19] <lifeless> yeah, no.
[03:19] <lifeless> I'd rather whinge than fix the problem :)
[03:20] <lifeless> Actually, cables around home are problematic when you have a 11month old.
[03:20] <lifeless> +2 cats with cable fethishes.
[03:20] <StevenK> Haha
[03:20] <StevenK> Yes, I can remember having a cat with a cable fetish
[03:20] <lifeless> Anyhow, I see my name in backscroll.
[03:21] <StevenK> Pretty much every cable that the TV/DVD player/PS2 used had bite marks/exposed wiring on it
[03:21] <StevenK> Except for power cables, she never bit those for some reason
[03:27] <lifeless> so ...
[03:27] <lifeless> whats 'this' under
[03:27] <lifeless> 14:29 < StevenK> wgrant: Diff updated, makes use of urlencode rather than '&'.join() and datetime.utcnow()
[03:27] <lifeless> 14:46 < wgrant> StevenK: Have you discussed all this with lifeless?
[03:38] <lifeless> StevenK: ?
[03:50] <StevenK> [12:57] < StevenK> wgrant: He just gave his 2 cents on the MP itself
[03:50] <StevenK> [12:57] < StevenK> So I'll be refactoring after lunch
[03:50] <StevenK> lifeless: ^
[03:53] <wgrant> wallyworld: What do you feel is the best way to customise vocab content? Sometimes we pass a context into the vocab constructor, but a couple of weeks ago I used a different method (constructing a SimpleVocabulary using a subset of the terms from the original vocab) in BranchEditView.setUpWidgets, since it's more a case of the view knowing which information types to show.
[03:54] <wgrant> I'm not sure it's great to push that knowledge down to the vocab itself
[03:54] <wgrant> Since InformationTypeVocabulary really shouldn't know about branches or bugs
[03:54] <wgrant> But I want others' opinions.
[03:54] <wallyworld> wgrant: hmmm. the way i've used it based purely on the context
[03:54] <wallyworld> but i've also seen a SImpleVocab constructed
[03:54] <wgrant> wallyworld: The context being the pillar?
[03:55] <wallyworld> yes
[03:55] <wgrant> That works sometimes
[03:55] <wgrant> But then you have artifact-specific restrictions
[03:55] <wgrant> eg. a branch can't change to Private Security if it's stacked on a Proprietary branch
[03:55] <wgrant> A bug can't be Proprietary if it affects 10 projects
[03:55] <wallyworld> so we need to do the construction at the point where we have the info to make a decision
[03:56] <wallyworld> so maybe a method on the moel
[03:56] <wallyworld> which the view can call to get the vocabl to use
[03:56] <wallyworld> or even a method on the service
[03:56] <wgrant> Yeah, that's sort of the design I went for with Branch.information_type
[03:56] <wgrant> There's Branch.getAllowedInformationTypes
[03:56] <wallyworld> yes, that sounds like something reasonable
[03:56] <wgrant> And BranchEditView.getInformationTypesToShow reduces that further
[03:57] <wgrant> And BranchEditView.setUpWidgets turns getInformationTypesToShow into a vocab
[03:57] <wgrant> It seems to work pretty well
[03:57] <wgrant> But I need to do something similar for bugs now
[03:57] <wallyworld> so the view is responsible for presentation logic, the model for model logic etc
[03:57] <wgrant> Yep
[03:58] <StevenK> wgrant: FTR, I've never liked the pattern of teaching the vocab stuff
[03:58] <wgrant> getAllowedInformationTypes is used by transitionToInformationType to verify that the type is legal
[03:58] <wallyworld> and the model/service apis can also be used to validate for when called over the ws api
[03:58] <wgrant> getInformationTypesToShow filters that list down to remove unlikely types from the UI
[03:58] <wgrant> I mostly just need to work out how to integrate this with the JS choicesources, but I think it should be easy enough
[03:59] <wallyworld> for the choicesources, just put stuff in the json cache
[03:59] <wgrant> Yeah
[03:59] <wallyworld> and then js can construct it
[03:59] <wgrant> I'm just hoping they don't rely on having a registered vocab
[03:59] <wgrant> But I don't think they do
[03:59] <wallyworld> the choice sources widget?
[03:59] <wallyworld> no
[03:59] <wgrant> Yeah
[04:00] <wallyworld> you just pass an array of items
[04:00] <wgrant> Ah, InformationTypeVocabulary isn't even registered in the first place, excellent.
[04:00] <StevenK> wgrant: If you want to rip out the context stuff out of that vocab you would be my hero
[04:01] <lifeless> StevenK: Ah. So I didn't see that - see under iwlwifi fail :)
[04:02] <lifeless> StevenK: As for the MP, I didn't review it, just glanced at it and saw the client was inlined which seemed strange to me.
[04:02] <StevenK> lifeless: Yeah, and I'm refactoring it out again
[04:02] <StevenK> Well, half of it out
[04:02] <StevenK> Some of it is LP specific
[04:03] <lifeless> the config bits?
[04:03] <lifeless> they are sure
[04:04] <StevenK> lifeless: And object_to_enterpriseid() and object_to_enterpriseid() calls
[04:04] <StevenK> Sigh, enterpriseid_to_object() even
[04:04] <lifeless> right, thats a layer thing though I suspect ;)
[04:06] <wgrant> I guess vocabs really want a filter() method that returns a subset.
[06:24] <StevenK> TypeError: must be type, not classobj you make me very sad
[06:26] <wgrant> You fail at new-style classes.
[06:28] <StevenK> Obviously
[06:30] <StevenK> wgrant: I thought it was just __metaclass__ = type and move on
[06:30] <wgrant> Yes.
[06:31] <StevenK> Hmmm, the egg didn't change.
[08:04] <adeuring> good mornig
[09:17] <czajkowski> StevenK: morning any reason why your branch has never landed? https://bugs.launchpad.net/launchpad/+bug/790535
[09:17] <_mup_> Bug #790535: Distribution:+ppas timeouts <timeout> <Launchpad itself:Triaged> < https://launchpad.net/bugs/790535 >
[09:55] <rick_h_> ccccccbgjgvchvctjfjjeluutgulchrvkjjhtftctfcc
[09:55] <rick_h_> ccccccbgjgvcugtgelehbubljkrlledibbfhgrjulcdd
[09:55] <rick_h_> ccccccbgjgvccbtrielunjgkdgvkhldctjkdvbkbfjhl
[09:56] <rick_h_> bah, sorry
[10:43] <StevenK> czajkowski: Because it's not the right fix.
[10:43] <czajkowski> rick_h_: I know the feeling
[10:44] <rick_h_> czajkowski: monday monday
[10:44] <StevenK> I think the fix is to delete Distribution:+ppas for being a crime against humanity.
[10:45] <czajkowski> StevenK: well possibly
[10:54] <rick_h_> adeuring: morning, did you get a chance to catch up on the branch from thurs/friday?
[10:55] <adeuring> rick_h_: ummm. somewhat.
[10:55] <rick_h_> it's listed as needing qa and deryck rolled it back in 15661
[10:56] <rick_h_> I really want to try to get the report a bug link landed, 15657, so wanted to bug you on that to see if we can clear it up to try to get a NDT
[10:57] <adeuring> rick_h_: in that case, I'd prefer a rollback. The problem with the buildbot failure: the test call apply_async() -- when celeryd is at least suipposed not to run -- and a subsequent check if there is a message for the task queued fails: No messages at all.
[10:58] <rick_h_> adeuring: right, the rollback is in the queue from deryck on friday
[10:58] <adeuring> i habe no clue how this can happen...
[10:58] <rick_h_> but is it ok then to just qa yours as qa bad for now?
[10:58] <rick_h_> and try to get through to the rollback for a NDT?
[10:58] <adeuring> rick_h_no, deryck just disabled the test
[10:58] <rick_h_> ah, doh ok then
[10:59] <rick_h_> sorry, didn't realize that.
[11:39] <wgrant> rick_h_, adeuring: Bug #1027103
[11:39] <_mup_> Bug #1027103: TestRunMissingJobs.test_run_missing_ready_does_not_return_results disabled due to spurious failure <spurious-test-failure> <test-system> <Launchpad itself:Triaged> < https://launchpad.net/bugs/1027103 >
[11:39] <wgrant> Please revert ASAP if it needs it
[11:39] <rick_h_> wgrant: just saw the MP email on that one
[11:39] <rick_h_> wgrant: so in process
[12:11] <benji> gary_poster: coming
[12:39] <wgrant> adeuring: Hm, did the rollback get bounced by PQM?
[12:39] <adeuring> wgrant: its running thourgh ec2 right now.
[12:39] <wgrant> adeuring: Oh, no point or time for that
[12:39] <wgrant> lp-land
[12:40] <wgrant> We can't deploy until it's landed, so even if there was a chance of failure we still lose nothing by landing it now.
[12:40] <adeuring> ok, i'll try it...
[13:01] <deryck> Morning, all.
[13:06] <czajkowski> deryck: ello
[13:33] <deryck> adeuring, https://plus.google.com/hangouts/_/ceb51247bd8993e84395ae3e71619d1a725b8063?authuser=0&hl=en
[13:49] <deryck> wgrant, hi there.  Was there something actually qa-bad about adeuring's branch or are you reverting as a matter of conscious?  or to get the deploy going, or something else?
[13:50] <wgrant> deryck: Ah, adeuring said here that it should be reverted.
[13:50] <deryck> wgrant, ah, ok.  Fair enough.  Thanks!
[13:52] <czajkowski> gary_poster: what make/model headset do you have btw ?
[13:52] <gary_poster> czajkowski, Sennheiser...um...looking...
[13:55] <gary_poster> czajkowski, not sure, but Sennheiser PC 151 looks like newer version (mine does not have noise canceling microphone but looks very similar and the price of about $50 USD seems to match my memory)
[13:56] <czajkowski> gary_poster: cheers
[13:56] <czajkowski> adding to my wishlist
[13:56] <gary_poster> :-) cool
[13:56] <czajkowski> gary_poster: you're very clear on calls
[13:57] <gary_poster> yay czajkowski :-)
[13:57] <mgz> he also enunciates well which helps no doubt
[13:58] <gary_poster> heh
[13:58] <czajkowski> this is rather true, I however speak way too fast and live over a flight path, not a good combination
[13:58] <gary_poster> it's all the many years of singing training
[13:58] <wgrant> Over a flight path? Impressive.
[13:58] <gary_poster> heh
[13:58]  * czajkowski peers at wgrant 
[13:59] <czajkowski> wgrant: lots of planes fly over the house reguarly, hows that mr. pedant :)
[13:59] <gary_poster> lol
[13:59] <wgrant> Aw
[14:00] <wgrant> And there I was thinking that it was cool that you lived in the stratosphere.
[14:01] <czajkowski> wgrant: one day we're going to meet and I'm going to be in throwing distance of you!
[14:01] <gary_poster> he moves quickly
[14:01] <gary_poster> probably can dodge well
[14:01] <gary_poster> no actual experience from throwing end though
[14:33] <Bert_2> Hi, I'm editing all the launchpad templatefiles to comply with the requirements of canonical I change all icons and the name Launchpad, now am I allowed to have launchpad in the css and new imagefilenames, or do I need to change that as well ?
[14:34] <Bert_2> en thandige is datk ook ni kan zien of een file edits nodig heeft of ni omda zo goed als elke file i18n:domain="launchpad" bevat
[14:34] <Bert_2> sorry, wrong channel for that last (dutch) message
[14:46] <deryck> Bert_2, I don't honestly know, but we could find out.  I'm sure the intent is to protect branding of the launchpad site.  So I don't think anyone will care if this is css class names and such internal to the site.
[14:47] <czajkowski> mrevell: do yo happen to know re Bert_2 request
[14:48] <mrevell> I expect deryck is correct.
[14:48] <mrevell> But IANAL. Bert_2 If you email help@launchpad.net we could forward it to our legal team.
[14:50] <Bert_2> perfect, I'll email to help@launchpad.net then
[14:50] <Bert_2> thx a lot, let's hope the new logo, icons, and name will be enough, cause manually editing each template file is already taking a lot of time :p
[15:00] <Bert_2> k, you've got mail ;)
[16:18] <sinzui> benji: do you have time to review https://code.launchpad.net/~sinzui/launchpad/adapt-subscription-to-pillar/+merge/116095
[16:19] <benji> sinzui: sure, if after lunch is fine
[16:19] <sinzui> It is, thank you
[17:51] <benji> sinzui: your branch looks good
[17:52] <sinzui> thanks benji
[17:52] <benji> my pleasure
[18:17] <rick_h_> benji: couple of reviews your way please. Pre-landing bugfix with JS gardening, no real changes, just cleaning up some LoC to get a credit for the bugfix coming later.
[18:17] <rick_h_> https://code.launchpad.net/~rharding/launchpad/tab_client/+merge/116329 and https://code.launchpad.net/~rharding/launchpad/garden_client/+merge/116330
[18:17] <benji> rick_h_: cool, I'll take a look
[18:18] <rick_h_> ty much!
[19:43] <allenap> benji: Thanks for the review :)
[19:43] <benji> my pleasure
[19:44] <lifeless> o/
[19:47] <allenap> o/ lifeless
[20:05] <abentley> deryck: even though I have bugs.dynamic_bug_listings.enabled, I still don't see the sorting losenges and config wheel.  Any idea what I need to do?
[20:06] <deryck> abentley, hmmm, weird.  thinking....
[20:07] <deryck> abentley, I wonder if some other flag is conflicting and needs turning off.  Something off in production by default but on in dev?
[20:07] <abentley> deryck: err, seeing "ReferenceError: YUI is not defined"
[20:07] <deryck> abentley, ah, js build issue then.
[20:11] <abentley> deryck, rick_h_: Did make clean; make run, still getting ReferenceError: YUI is not defined.
[20:12] <rick_h_> abentley: not sure. You have build/js/yui? combo load is on by default now so should be looking in there
[20:12] <deryck> abentley, I would think make run should call  make jsbuild, but might be worth trying a make clean_js && make jsbuild
[20:12] <rick_h_> abentley: check the network and see if it has a combo load call and if so what came back from that
[20:13] <abentley> rick_h_: I do have build/js/yui.  It has a yui-3.3.0 symlink that is broken.
[20:14] <rick_h_> abentley: ok, so make clean_buildout and make again
[20:14]  * rick_h_ dbl checks clean_buildout
[20:14] <rick_h_> abentley: yea, that should hopefully fix your symlink? Should be linked from the dep cache
[20:23] <abentley> rick_h_: The link is still broken.  It points at ../../../../build/js/yui-3.3.0, but that doesn't exist.  ../../../../build doesn't exist.
[20:24] <abentley> ../../../../ is the directory containing my launchpad branch.
[20:25] <rick_h_> abentley: so you don't have build in the root LP branch dir? along with bin, lib, etc?
[20:25] <abentley> rick_h_: I do.
[20:25] <abentley> rick_h_: It's looking one parent directory above that.
[20:27] <abentley> rick_h_: My working tree is at ~/launchpad/colo, but it's looking for build in ~/launchpad.
[20:27] <rick_h_> abentley: looking for what originally creates the build directory itself, sec
[20:29] <rick_h_> that's buildout that creates the dir and sets up the YUI 3.3 symlink that the combo-rootdir then links to build/js/yui
[20:29] <rick_h_> abentley: check out the [yui] block in buildout.cfg and see which command isn't working right that causes you to not have the right path
[20:29] <rick_h_> abentley: you still in dev mode? In production mode it setups up /srv/launchpad.net for the build dir
[20:30] <abentley> rick_h_: still in dev mode AFAIK.
[20:31] <rick_h_> abentley: yea, so check out the buildout install yui and see if it's erroring on something in your env and if that's correct then combo-rootdir comes in and symlinks to the build dir specified which is just 'build/dir' from the calling point
[20:32] <abentley> rick_h_: I don't really know what to look at.
[20:33] <rick_h_> abentley: so in the buildout [yui] block should be a series of commands that extract yui from the download-cache and setup the point for the symlink into build/js/yui-3.3.0
[20:35] <abentley> rick_h_: I have that, and a yui symlink that links to yui-3.3.0.
[20:35] <rick_h_> ok, and that's an ok symlink?
[20:36] <abentley> rick_h_: Yes.
[20:36] <rick_h_> abentley: then run ./bin/combo-rootdir build/js and it should get you a good symlink into the build/js/ directory
[20:36] <abentley> rick_h_: The broken symlink is Inside yui-3.3.0, and is named "yui-3.3.0".
[20:37] <rick_h_> hmmm, wtf
[20:37] <rick_h_> your buildout.cfg is still pulling download-cache/dist/yui-${:yui_version}.tar.gz right?
[20:40] <abentley> rick_h_: http://pastebin.ubuntu.com/1107124/
[20:45] <rick_h_> abentley: ok, I see something strange
[20:46] <rick_h_> so in build/js/yui-3.3.0 I see all of YUI and a symlink that's ../../../../build/js/yui-3.3.0 i'm not sure where it came from
[20:47] <abentley> rick_h_: So if you see it, it's not what's breaking me.
[20:47] <rick_h_> right
[20:48] <abentley> rick_h_: In the network view, I see a 404 for https://bugs.launchpad.dev/+combo/?yui/yui/yui-min.js&lp/meta.js&yui/loader/loader-min.js
[20:49] <rick_h_> do you have the build/js/lp dir?
[20:49] <abentley> rick_h_: yes.
[20:50] <rick_h_> is the meta.js in there?
[20:50] <abentley> rick_h_: yes.
[20:50] <rick_h_> if so can you get just https://bugs.launchpad.dev/+combo/?lp/meta.js
[20:50] <rick_h_> without a 404?
[20:50] <abentley> rick_h_: No.
[20:51] <rick_h_> ok, so you don't have convoy setup in apache then
[20:51] <abentley> rick_h_: http://pastebin.ubuntu.com/1107142/
[20:52] <rick_h_> right, the apache config should be updated to not proxy +combo urls and instead serve via convoy
[20:53] <rick_h_> abentley: look in configs/development/local-launchpad-apache and diff against your apache config
[20:54] <abentley> rick_h_: I just ran "make install", and that's giving me plausible results.
[20:54] <abentley> rick_h_: Yes, all looks good now.
[20:55] <rick_h_> abentley: ok awesome
[21:46] <Ergo^> evening
[21:47] <Ergo^> hello, ive seen launchpadblog entry about career opportunity pointing here so i can see what you guys do, so i've decided to pop in
[21:48] <Ergo^> hi czajkowski
[21:51] <czajkowski> Ergo^: hiya, which role?
[21:52] <Ergo^> czajkowski, http://blog.launchpad.net/were-hiring/were-hiring-software-engineers-to-work-on-cloud-projects-in-canonical
[21:52] <czajkowski> Ergo^: ah that one.
[21:52] <czajkowski> Ergo^: well if you have questions many of the team are on here, gary_poster might also be able to help
[21:52] <czajkowski> or you can apply via the link in the post
[21:54] <Ergo^> ah, ok, i was thinking i would fit the role well, when do you guys plan to hire someone ?
[21:55] <Ergo^> my firstborn is supposed to be born this week so im not sure its right time to apply ;-)
[21:56] <Ergo^> gary_poster, hello gary, what pythonic web frameworks do you guys mostly use?
[21:57] <czajkowski> Ergo^: soon, he may not be around as it's possibly coming to his EOD
[21:58] <czajkowski> Ergo^: where are you based?
[21:58] <Ergo^> czajkowski, Poland, so its midnight for me
[21:59] <czajkowski> ah most of hte EU folks are well past EOD
[21:59] <czajkowski> sorry
[21:59] <Ergo^> czajkowski, no problem
[21:59] <Ergo^> i might try tommorow
[22:00] <czajkowski> earlier in the day might be bette
[22:00] <czajkowski> r
[22:00] <czajkowski> good night
[22:00] <Ergo^> night!
[22:14] <rick_h_> doh, just missed him. I know Ergo^ from the pyramid/pylons irc world