gary_poster | Hello ubuntulog2! Glad to see ya. Will be even more glad to see your results in http://irclogs.ubuntu.com/2011/02/04/ | 01:30 |
---|---|---|
=== Ursinha is now known as Ursinha-gone | ||
=== gary_poster changed the topic of #launchpad-yellow to: https://dev.launchpad.net/yellow — http://launchpad.leankitkanban.com/Boards/Show/14028610 — http://irclogs.ubuntu.com/ | ||
=== Ursinha-gone is now known as Ursinha | ||
bac | hi gmb | 12:56 |
bac | gmb: my babysteps branch is at lp:~bac/launchpad/accordionoverlay if you have time to just see what i've started before we talk later. | 12:57 |
gmb | bac: Sure thing, I'll take a look in a couple of minutes. | 12:58 |
bac | won't take long...not much there yet | 12:58 |
gmb | bac: You call 3580 lines "not much"? 0.o | 13:04 |
bac | oh, yeah | 13:04 |
bac | i forgot i added in the gallery widget | 13:04 |
gmb | bac: Which bits can I ignore (on the basis that they're third party, I suppose)? | 13:04 |
bac | i can push up the pre-req branch | 13:04 |
gmb | bac: That'd be a help, thanks. | 13:06 |
bac | gmb: will do. just sucked into a CHR conversation now, though | 13:06 |
gmb | Ok, no worries | 13:06 |
bac | gmb: is "list related bugs" a superset of all of the other bug lists, such as subscribed, commented, etc? | 13:14 |
gmb | bac: I'm drawing a blank here. Which page is this on? | 13:15 |
bac | bug.lp.net/~gmb | 13:15 |
gmb | (My guess, incidentally, is "yes") | 13:15 |
gmb | bac: Yes, that's right. It's a superset. | 13:16 |
=== Ursinha is now known as Ursinha-afk | ||
=== Ursinha-afk is now known as Ursinha | ||
gary_poster | bac, danilos, gmb, hi. kanban/mumble in 2. we are now logged here, btw, per bac's suggestion and thanks to is team | 13:28 |
danilos | gary_poster, thanks for the notice, I'll keep quiet in here then :) | 13:29 |
gary_poster | lol | 13:29 |
gmb | bac: http://pastebin.ubuntu.com/562529 | 13:49 |
danilos | gary_poster, fwiw, my branch depends (so far) on your lp:~gary/launchpad/bug548-db-2 — is that the right one to use? | 13:51 |
danilos | gary_poster, (I see -tests as well, so I figured I'd better ask :) | 13:51 |
gary_poster | danilos: yeah. There are more changes since then to get tests passing--and even more than -tests--but they build on -db-2 . Once I get test passing and get this landed on db-devel and your branch gets the code merged, we should be good | 13:52 |
danilos | gary_poster, excellent, thanks :) | 13:53 |
gary_poster | danilos: please make sure you hand off that branch to me/the team so we can run with it while you are gone | 13:53 |
danilos | gary_poster, I will! | 13:53 |
gary_poster | thank you :-) | 13:53 |
gary_poster | bac, gmb, danilos, I have a "deliver our weekly goals and problem solve" meeting scheduled in about 22 minutes on the canonical calendar. I scheduled it later than our daily meeting because I thought it deserved separate attention, but now I find myself annoyed by the interruption. :-/ I also forgot to tell you all about it, and get your feedback. | 15:08 |
gary_poster | Despite my annoyance at my own scheduling, I am still leaning towards suggesting that we go through with the meeting, because I think we have things to deliver, and because I think having a team problem solving time has seemed promising so far. | 15:08 |
gary_poster | So, questions: | 15:08 |
gary_poster | 1) I can show something on staging. can anyone else show anything today? | 15:08 |
gary_poster | 2) Would you all like to push this till later today, say 17:00 UTC (noon for me and Brad) or 16:30, so it is nearer the EoD of Danilo and Graham? | 15:08 |
gary_poster | And comment: I'll try to be as quick as possible; 15 minutes is a goal, 30 minutes is a limit. | 15:08 |
danilos | gary_poster, wfm (either of the times) | 15:09 |
gary_poster | cool | 15:09 |
bac | either time is ok | 15:09 |
gary_poster | ok | 15:09 |
gmb | gary_poster: Ditto; I'm fine with either (though I've nothing to show thanks to Windmill) | 15:09 |
gary_poster | :-/ | 15:09 |
danilos | gary_poster, and on 1), I'm QAing LIFECYCLE change since it should be on qastaging, but it keeps timing out on me so I am struggling a bit | 15:10 |
gary_poster | :-/ understood | 15:10 |
gary_poster | gmb, bac, danilo, ok, let's aim for 16:30 UTC, 11:30 for me and bac | 15:10 |
gmb | Ok | 15:10 |
gary_poster | I'll update the calendar | 15:10 |
gary_poster | and we can talk then about good times for the mtg | 15:11 |
gary_poster | in later weeks | 15:11 |
gary_poster | thank you | 15:11 |
danilos | gary_poster, btw, my email listed in google calendar is danilo.segan@canonical.com, and I generally don't know how to set it up so it recognizes danilo@canonical.com as well; I've noticed that my items sent to danilo@canonical.com don't end up in my calendar in there, so if you have a suggestion on how to fix that, I'd be very happy — if not, can you please send future invitations to danilo.segan@ :) | 15:18 |
gary_poster | danilos: :-) ack, I'll go fix those | 15:18 |
danilos | gary_poster, also, note that current "show off time" works fine today, but would really be my EOD on Fridays otherwise as it is 17:30 | 15:23 |
gary_poster | danilos: gotcha. yeah, we'll try to agree on a good time | 15:24 |
gary_poster | on the call I mean | 15:24 |
=== Ursinha is now known as Ursinha-afk | ||
=== Ursinha-afk is now known as Ursinha | ||
gary_poster | bac, danilos, gmb, 2 min delivery mtg warning | 16:28 |
gmb | yup | 16:28 |
bac | rt | 16:28 |
* bac fetches tea and morsels | 16:29 | |
gary_poster | danilos and bac, unmute when you are ready :-) | 16:30 |
gary_poster | https://bugs.staging.launchpad.net/~gary/+structural-subscriptions | 16:34 |
danilos | gary_poster, "cronscripts/send-bug-notifications.py -vv" | 16:42 |
danilos | gary_poster, oh, btw, on the DB permissions problem I am having in my branch, I had to add SELECT, INSERT to another two users: checkwatches and updateremoteproduct (for scripts dealing with remote bug syncing, afaict) | 17:04 |
danilos | gary_poster, all for personsettings table, that is :) | 17:04 |
danilos | gary_poster, the tests that failed for me were "-t bugtracker-person.txt -t externalbugtracker-bug-imports.txt -t externalbugtracker-comment-imports.txt -t externalbugtracker-comment-pushing.txt -t externalbugtracker-debbugs.txt -t product-update-remote-product.txt" | 17:04 |
gary_poster | danilos, yeah, gimme one sec, I'll make a commit, push, and suggest you merge | 17:05 |
danilos | gary_poster, cool, thanks | 17:05 |
gary_poster | danilo, lp:~gary/launchpad/bug548-db-3 . You'll need to rerun make schema, of course. actually danilo can I convert that into a mid-implementation call, hopefully leading into a review if am I fast enough? :-) | 17:10 |
gary_poster | I made some changes that I question | 17:10 |
danilos | gary_poster, sure thing | 17:10 |
gary_poster | thank you | 17:10 |
gary_poster | so, I'll start blathering here while you get the branch :-) | 17:11 |
gary_poster | som, the change you need is just in security.cfg | 17:11 |
gary_poster | that is already approved by lifeless | 17:11 |
gary_poster | the changes I made recently are in the last two revisions. The ones I'm partcularly interested in are in lp:~gary/launchpad/bug548-db-3 | 17:12 |
gary_poster | eh I mean | 17:12 |
gary_poster | bzr diff -r-2 | 17:12 |
gary_poster | In particular, in particular, lib/lp/registry/model/person.py | 17:13 |
gary_poster | Where I added that UnwrittableStub | 17:13 |
gary_poster | meh Unwritable | 17:13 |
gary_poster | So the reason it has to be there is that various things read attributes off of person automatically | 17:13 |
gary_poster | one particular example is the webservice snapshotter | 17:14 |
gary_poster | a NotImplementedError on a read for a team-specific attr did not go over well with that code | 17:14 |
gary_poster | I *can* make a read-only attr for teams though | 17:14 |
gary_poster | that works fine | 17:14 |
danilos | gary_poster, I am looking at it | 17:14 |
gary_poster | cool thanks | 17:14 |
danilos | gary_poster, please do go on explaining it :) | 17:15 |
gary_poster | yeah :-) you wanna switch to mumble? I can go faster | 17:15 |
gary_poster | I'll keep on here for now | 17:15 |
gary_poster | So, I don't love that stub for two or three reasons | 17:16 |
gary_poster | 1) it's generic and it doesn't need to be yet. However, it was easy to do, and Stuart wants to make a similar thing in reverse (team-only settings) | 17:16 |
gary_poster | so it would be useful there | 17:16 |
danilos | well, it kinda is ugly :) | 17:17 |
gary_poster | yeah | 17:17 |
danilos | gary_poster, was it not possible to do something like doNotSnapshot for this particular field for teams? | 17:17 |
* gary_poster doesn't know of doNotSnapshot | 17:17 | |
danilos | (I don't know what doNotSnapshot does on a lower level, it might be something like this :) | 17:17 |
gary_poster | heh, no idea | 17:17 |
gary_poster | but it is an existing pattern, which is good | 17:17 |
gary_poster | new pattersn are bad :-) | 17:18 |
danilos | gary_poster, it's to stop stuff from being traversed for API implementation, I have no idea if it's anything like this and whether it'll solve a problem for you at all :) | 17:18 |
danilos | gary_poster, the only thing I know is that it exists and that when you see web service call requesting another million objects, you need to put a doNotSnapshot around the exported field :) | 17:19 |
danilos | i.e. usually for collections, but maybe it can work here as well | 17:19 |
gary_poster | it is not conditional | 17:19 |
gary_poster | (I just looked it up) | 17:19 |
gary_poster | so I can't say "only snapshot this if this is not a team" | 17:20 |
gary_poster | it's just a marker interface assertion | 17:20 |
gary_poster | on an interface field | 17:20 |
gary_poster | and I think that this might very well want to be exported in the webservice | 17:20 |
gary_poster | I suppose that would be a simple fix, which I should not ignore... | 17:20 |
danilos | gary_poster, right | 17:21 |
gary_poster | I'm loooking throught the failed tests to see if that was the only problem with this implementation | 17:22 |
danilos | gary_poster, so, I can't come up with any better suggestion on how to do what you are doing with the UnwritableStub | 17:22 |
gary_poster | I could build a type | 17:23 |
gary_poster | which would be faster | 17:23 |
gary_poster | on the run-time side | 17:23 |
gary_poster | I'd be switching __getattr__/__set_attr__ magic for "make me a class" magic | 17:23 |
gary_poster | the only advantage of type really is that it would be faster in the Python, and I would not have to do that yucko __dict__ thing, if it doesn't start with '_', which I hate :-P | 17:24 |
gary_poster | Ah | 17:25 |
gary_poster | No, doNotSnapshot doesn't slove all the problems | 17:25 |
gary_poster | we have other things that are doing verifyObject, for instance | 17:25 |
danilos | gary_poster, heh, well, you could also make a non-generic PersonSettings implementation for teams-only, but considering you are going quite some length to avoid non-generic solution, I should better shut up :) | 17:25 |
gary_poster | and they fall over | 17:25 |
gary_poster | heh | 17:26 |
gary_poster | I also don't like re-listing attributes | 17:26 |
gary_poster | it feels error prone | 17:26 |
gary_poster | I could certainly do | 17:26 |
gary_poster | class UnwritablePersonSettings: | 17:26 |
gary_poster | @property | 17:27 |
gary_poster | def selfgenerated_bugnotifications(self): | 17:27 |
gary_poster | return True | 17:27 |
gary_poster | and be done, but then I've had to define the default, what, four times? five? | 17:27 |
danilos | gary_poster, to be honest, I don't feel very smart at this late hour, so I am struggling following all the alternatives you are describing :) | 17:27 |
gary_poster | :-) | 17:27 |
gary_poster | fair enough | 17:28 |
danilos | (though, late hour might just be an excuse :) | 17:28 |
gary_poster | heh :-) | 17:28 |
gary_poster | danilo, well, merge my vranch, and fix that thing you are working on, and I'll see if I can come up with something that makes me slightly happier in < 15 min | 17:28 |
gary_poster | branch | 17:28 |
gary_poster | this will at least unblock you | 17:28 |
danilos | gary_poster, right, thanks | 17:29 |
danilos | gary_poster, fwiw, I've confirmed: if there is only a direct subscription, LIFECYCLE subscription works correctly (i.e. it mutes all other emails) | 17:38 |
gary_poster | cool | 17:38 |
gary_poster | thank you | 17:39 |
gary_poster | do we have a test for the other circumstance to your knowledge? | 17:39 |
gary_poster | (the failing one) | 17:39 |
danilos | gary_poster, no, unfortunately | 17:41 |
danilos | gary_poster, also, all the tests I've tried pass with your branch merged in | 17:44 |
gary_poster | cool | 17:45 |
gary_poster | yeah, ec2 failed with some, and my branch fixes everything ec2 complained about | 17:46 |
danilos | gary_poster, so, generally, my branch for 548 is ready to land, and I am pretty confident all lp.bugs tests pass | 17:47 |
gary_poster | awesome | 17:47 |
gary_poster | so you are just waiting on me ;-) | 17:47 |
gary_poster | may I land it for you? | 17:47 |
danilos | gary_poster, do you want me to set off an ec2 test run that'll email you when the test run is finished | 17:47 |
danilos | gary_poster, yeah, by all means :) | 17:48 |
danilos | gary_poster, if you want to just do the test run yourself, that's fine as well :) | 17:48 |
gary_poster | yeah the ec2 test run that would be awesome thank you | 17:48 |
danilos | gary_poster, also, before heading off for the day, I'd like to look into the lifecycle stuff and see exactly what's left to do | 17:48 |
gary_poster | makes sense | 17:49 |
gary_poster | danilo, you still here? If so, you can try bringing me back from the edge. :-) | 18:16 |
gary_poster | http://pastebin.ubuntu.com/562678/ | 18:16 |
gary_poster | This PersonSettings thing is supposed to grow... | 18:17 |
gary_poster | Argh! I'm horrible at this kind of thing :-) | 18:17 |
gary_poster | Because I want to do #1 | 18:17 |
gary_poster | But I think it will make people unhappy :-/ | 18:17 |
gary_poster | I'll go have some lunch :-P | 18:18 |
gary_poster | don't worry about it if you are gone danilo, you need to go start your break :-) | 18:18 |
danilos | gary_poster, heh, I am still around | 18:19 |
danilos | gary_poster, I think you can go with 1 if you come up with a nice little name for it like doNotSnapshot | 18:22 |
danilos | gary_poster, it would be nice if one could simply do if isteam: self.personsettings = makeReadOnly(PersonSettings()) or something like that | 18:23 |
danilos | gary_poster, which is basically what you are doing | 18:23 |
danilos | gary_poster, so as long as you come up with decent names, I think option 1 is just fine | 18:23 |
danilos | gary_poster, ok, I've added a comment to bug 711901 with a test case (I did it against my bug-584 branch because I had end-to-end test set-up in there, and as soon as it lands, test is usable in it's current form) | 18:38 |
_mup_ | Bug #711901: Implement direct lifecycle subscriptions <qa-ok> <Launchpad itself:Fix Committed by danilo> < https://launchpad.net/bugs/711901 > | 18:38 |
danilos | gary_poster, is it ok if I leave it up to you to create a card on the kanban board and file a bug if/when needed? | 18:39 |
danilos | gary_poster, also, ec2 test run is going on for my bug-548-use-preference branch, it should email you at gary.poster@canonical.com as well | 18:40 |
gary_poster | danilos: ok, thanks for advice | 18:42 |
gary_poster | yes, I can file bug | 18:42 |
gary_poster | have a great weekend | 18:42 |
danilos | gary_poster, thanks a lot :) enjoy yours as well | 18:42 |
gary_poster | bac, you available for a review soon? It's potentially easy...and maybe not. :-/ | 19:27 |
gary_poster | https://code.launchpad.net/~gary/launchpad/bug548-db-3/+merge/48651 | 19:27 |
bac | gary_poster: yes | 19:28 |
gary_poster | thank you | 19:28 |
gary_poster | you may need context | 19:28 |
gary_poster | though I tried to give enough | 19:28 |
gary_poster | I just committed a change reverting one line of a comment in garbo.py from "# TeamParticipation, EmailAddress, as all Person entries will be" back to "# TeamParticipation or EmailAddress, as all Person entries will be" | 19:32 |
gary_poster | and pushed | 19:32 |
bac | gary_poster: i need some help understanding what is going on in readonly_settings | 19:50 |
bac | which, to me, means there is an opportunity for some explanatory comments in the code | 19:50 |
gary_poster | in the function itself, or what its goals are? | 19:50 |
bac | both. | 19:50 |
gary_poster | at least, yes | 19:50 |
gary_poster | ok cool | 19:50 |
bac | closure_f makes my head hurt | 19:50 |
gary_poster | yeah ok | 19:51 |
bac | what are you doing there? | 19:51 |
gary_poster | You are familar with the old closure-in-a-loop problem? | 19:51 |
gary_poster | where you want the closure to have the value within the loop | 19:51 |
bac | let's say i'm not, for our viewers out there to follow | 19:51 |
gary_poster | :-) ok | 19:51 |
gary_poster | So, when you want to make a closure | 19:52 |
gary_poster | for each value in a loop | 19:52 |
gary_poster | in Python each closure is bound to the locals | 19:52 |
gary_poster | not a snapshot | 19:52 |
gary_poster | but the mutable collection of locals | 19:53 |
gary_poster | so | 19:53 |
gary_poster | for i in range(4): | 19:53 |
gary_poster | no try again | 19:53 |
gary_poster | l = [lambda: i for i in range(4)] | 19:53 |
bac | would this go faster spoken? | 19:53 |
gary_poster | yeah probly :-) | 19:53 |
gary_poster | I'll keep my headphones on so you can yell into mumble if you like :-) | 20:05 |
bac | gary_poster: the rest of it looks good, so pending some good wordsmithing on the readonly_settings method it'll be mostly done. | 20:12 |
gary_poster | awesome thanks bac | 20:12 |
bac | please try to clean up some lint, too. the redef of 'Reference' in model/person in particular | 20:12 |
bac | sorry to ask for that since you're under the clock, but it's easy | 20:13 |
gary_poster | understod, will do | 20:13 |
gary_poster | bac, pushed, and the mp is updated. I may have gone overboard on the comments. :-) | 20:33 |
bac | gary_poster: where did the oauth file come from? | 20:34 |
gary_poster | ? | 20:34 |
gary_poster | looking | 20:34 |
gary_poster | not me | 20:34 |
gary_poster | I think it is like the widgets stuff | 20:35 |
gary_poster | merge artifacts | 20:35 |
gary_poster | this branch has been around for a while | 20:35 |
gary_poster | in various forms | 20:35 |
gary_poster | I haven't merged db-devel because it would make all the previous MPs confused | 20:35 |
gary_poster | the way to confirm that I haven't touched it is to merge my branch into db-devel...but I haven't :-) | 20:36 |
bac | gary_poster: ok, just so long nothing sneaks in | 20:36 |
bac | your new comments are fantastic | 20:36 |
bac | i read them aloud to jojo and he nodded his head appreciatively | 20:37 |
gary_poster | lol | 20:38 |
bac | r=bac | 20:38 |
gary_poster | thank you! | 20:38 |
=== Ursinha is now known as Ursinha-afk | ||
=== Ursinha-afk is now known as Ursinha |
Generated by irclog2html.py 2.7 by Marius Gedminas - find it at mg.pov.lt!