[15:00] <barry> #startmeeting
[15:00] <MootBot> Meeting started at 09:01. The chair is barry.
[15:00] <MootBot> Commands Available: [TOPIC], [IDEA], [ACTION], [AGREED], [LINK], [VOTE]
[15:01] <intellectronica> me
[15:01] <barry> hello everybody and welcome to this week's meeting.  who's here today
[15:01] <rockstar> me
[15:01] <sinzui> me
[15:01] <bac> me
[15:01] <gmb> me
[15:01] <mars> me
[15:01] <bigjools> me
[15:01] <flacoste> me
[15:01] <salgado> me
[15:02] <allenap> me
[15:02] <abentley> me
[15:03] <cprov> me
[15:03] <EdwinGrubbs> me
[15:04] <barry> [TOPIC] agenda
[15:04] <MootBot> New Topic:  agenda
[15:04] <intellectronica> barry: Bjorn mentioned that he'll be away this afternoon, maybe he's not back yet
[15:04] <barry> == Agenda ==
[15:04] <barry>  * Roll call
[15:04] <barry>  * Cross-referencing monkey patches in code (intellectronica, bigjools)
[15:04] <barry>  * If there's time, the old boring script
[15:04] <barry>    * Next meeting
[15:04] <barry>    * Action items
[15:04] <barry>    * Queue status
[15:04] <barry>    * Mentoring update
[15:05] <barry> [TOPIC]  * Cross-referencing monkey patches in code (intellectronica, bigjools)
[15:05] <MootBot> New Topic:   * Cross-referencing monkey patches in code (intellectronica, bigjools)
[15:05] <barry> intellectronica, bigjools the floor is yours
[15:05] <intellectronica> ok, i'll go
[15:05]  * bigjools looks at intellectronica since he added the topic :)
[15:06] <intellectronica> sometimes we need to monkey patch code
[15:06] <intellectronica> this became quite frequent since we started exporting stuff to the API
[15:07] <flacoste> ?
[15:07] <bigjools> circular imports
[15:07] <intellectronica> since in order to avoid circular imports we often need to amend classes after they're first declared
[15:07] <barry> intellectronica: can we define "monkey patch" :)
[15:07] <flacoste> that,s not monkey patching!
[15:07] <flacoste> that's working around circular imports!
[15:07] <intellectronica> flacoste: ok, since you oobviosly understand what i'm talking about, how about you propose a better definition?
[15:07] <sinzui> barry is the master of monkeypatching
[15:08] <sinzui> see launchpad/mailman/monkeypaches
[15:08] <flacoste> intellectronica: well, you are talking about the working around of circular imports, right?
[15:08] <intellectronica> flacoste:
[15:08] <intellectronica> flacoste: yup
[15:08]  * barry is a patched monkey
[15:09] <flacoste> intellectronica: ok, so what is the issue you wanted to raise about this?
[15:09] <intellectronica> see l/c/l/interfaces/bugtask.py:634 for a representative example of the problem i'm referring to
[15:09] <intellectronica> so, while working through a problem bigjools and i realised that it's often quite difficult, when you look at the class definition, to know where it's being amended
[15:10] <intellectronica> and wanted to suggest that we make it a requirement to cross reference the places using comments
[15:10] <intellectronica> so that next to the general definition, you'll have to add a comment saying where it's being patched
[15:11] <barry> intellectronica: that seems like good practice to me
[15:11] <flacoste> so where we have schema=Interface, # ITeamMembership
[15:11] <flacoste> we would have
[15:11] <flacoste> schema=Interface, # ITeamMembership, in teammembership.py?
[15:12] <bigjools> see interfaces/archive.py for an example of how bac recommended I do this yesterday
[15:12] <intellectronica> flacoste: yes, maybe even something more specific, as long as it's maintainable
[15:12] <abentley> I think that this fixup requirement is a framework bug.  We should allow schema='ITeamMembership'
[15:12] <mars> flacoste, wild speculation, can Zope 3.4 deferred imports take care of this?
[15:12] <barry> abentley: you beat me to it.  +1
[15:12] <intellectronica> abentley: that's a _really_ nice idea
[15:12] <flacoste> yes, now that we have zope 3.4, we can look into deferredimport
[15:13] <barry> eliminating the patch up is definitely the right way to go
[15:13] <flacoste> gary reports that it's not necessarily nice
[15:13] <flacoste> so if that turns out to be true
[15:13] <abentley> I'm happy with requiring an xreference until that's fixed.
[15:13] <flacoste> we should look into supporting schema='canonical.launchpad.interfaces.ITeamMembership'
[15:14] <barry> agreed.  so who can i give an action item to for that?
[15:14] <flacoste> foundations
[15:14] <flacoste> we can look into deferredimport
[15:14] <flacoste> and fix all of them
[15:14] <flacoste> otherwise, we'll file a bug
[15:15] <barry> [ACTION] flacoste & foundations to look into techniques for eliminating back-patching of schema types to avoid circular imports
[15:15] <MootBot> ACTION received:  flacoste & foundations to look into techniques for eliminating back-patching of schema types to avoid circular imports
[15:15] <flacoste> actually, iirc, there is already a bug reported about using deferredimport
[15:15] <barry> anything else on this topic?
[15:16] <abentley> flacoste: We also have the option of using bzrlib's lazy_import.
[15:16] <flacoste> interesting!
[15:16] <flacoste> i diN,t know about that one
[15:17]  * barry wishes python had a standard way of doing it
[15:17] <abentley> barry: What about the one in the email module :-) ?
[15:17] <barry> abentley: yech :)
[15:17]  * rockstar notes that barry can make a standard way of doing it with his commit access.
[15:17]  * bigjools coughs and mentions that even C has a way of doing this
[15:18]  * barry emits an evil chortle
[15:18] <barry> that's all the fun stuff on the agenda, so it's boring script time
[15:18] <barry> [TOPIC] action items
[15:18] <MootBot> New Topic:  action items
[15:18] <barry>  * barry will move the preimp discussion to the ml
[15:19] <barry> fail.  but i did pull my half written email out of my drafts folder so i'll do that today <wink>
[15:19] <barry>  * flacoste to take discussion of rest v. moin to ml
[15:19] <flacoste> that will happen once gary finishes his example
[15:19] <flacoste> should be soon
[15:19] <barry> flacoste: excellent, thanks
[15:20] <barry>  * rockstar to take discussion of adding launchpadlib tests for exposed api to ml
[15:21] <rockstar> Oh noes!  This has been an my TODO list for a week!  I will start the discussion now.
[15:21] <barry> rockstar: thanks!
[15:21] <barry>  * abentley to investigate current code coverage tools for lp tests
[15:21] <abentley> barry: I haven't done this yet.
[15:22] <barry> abentley: np, we'll just carry it over
[15:22] <gmb> abentley: ISTR allenap did something related to this a way back.
[15:22] <gmb> Unless I remember incorrectly.
[15:22] <gmb> abentley: So it might be worth tapping his newly-returned cranium for information.
[15:22] <sinzui> abentley: gmb: allenap did!
[15:23] <gmb> Thank you, Launchpad team historian.
[15:23] <barry> :)
[15:24] <barry> [TOPIC]    * Queue status
[15:24] <MootBot> New Topic:     * Queue status
[15:24] <barry> any comments on the queue?  either the review queue, pqm, etc.
[15:25] <gmb> Apart from the occasional overnight buildup
[15:25] <gmb> (AMEU time)
[15:25] <gmb> The queue is very manageable at the moment.
[15:26] <gmb> (At least ona Thursday)
[15:26] <intellectronica> we've got more reviewers, that really helps
[15:26] <barry> btw, i'm hoping that by epic we can try merge proposals again.  the redesigned u/i really looks great
[15:26] <barry> intellectronica: indeed.
[15:27] <rockstar> barry, that should land soon
[15:27] <barry> rockstar, abentley: correct me if i'm wrong, but diffs are still a ways away
[15:27]  * rockstar looks at abentley 
[15:27] <abentley> barry: Hard to say.
[15:28] <rockstar> Database patches...  :)
[15:28] <barry> ah :)
[15:28] <abentley> I'll be implementing diffs this week or next, I think.
[15:28] <barry> abentley: will that include diffstats?
[15:29] <abentley> barry: Not initially.
[15:30]  * bigjools has to duck out now
[15:30] <barry> cool, thanks
[15:30] <barry> [TOPIC]    * Mentoring update
[15:30] <MootBot> New Topic:     * Mentoring update
[15:30] <barry> any feedback here?
[15:31] <gmb> barry: mars is doing an exceelent job.
[15:31] <bac> rockstar continues doing a great job
[15:31] <gmb> Not all that many reviews to do, sadly.
[15:31]  * rockstar feels warm inside
[15:31]  * gmb hands rockstar an antacid
[15:31]  * barry feels bad that he's missed abentley's last few sessions
[15:32] <barry> abentley: we'll get back on track after epic
[15:32] <abentley> barry: We managed alright.
[15:32] <barry> abentley: yep, appreciated!
[15:32] <abentley> The big problem was getting attention from Rinchen and kiko the first time, when I didn't know what to do.
[15:33] <barry> yep, they're busy guys :)
[15:33] <barry> anyway, that's all i have today.  do you have any topics not on the agenda?
[15:33] <rockstar> Negative
[15:33] <abentley> barry: No.
[15:34] <barry> okie dokie!  have a great week everybody and thanks for coming
[15:34] <barry> #endmeeting
[15:34] <MootBot> Meeting finished at 09:34.
[15:34] <gmb> Thanks barry.