/srv/irclogs.ubuntu.com/2012/06/06/#launchpad-dev.txt

wallyworld_StevenK: why did you stab me?00:59
wgrantwallyworld_: :(01:00
StevenKwallyworld_: Run "head lib/lp/code/model/branch.py" in an up-to-date devel and spot the problem.01:00
wgrantWhy is the new 'user' argument on the methods at random positions?01:00
wgrant-    def deletePillarSharee(pillar, sharee, information_types):01:01
wgrant+    def deletePillarSharee(pillar, sharee, user, information_types):01:01
wgrant-    def revokeAccessGrants(pillar, sharee, branches=None, bugs=None):01:01
wgrant+    def revokeAccessGrants(pillar, user, sharee, branches=None, bugs=None):01:01
wgrant+    def _populatePermissionsCache(cls, permissions_cache,01:02
wgrant+                                  shared_artifact_info_types, grantee_ids,01:02
wgrant+                                  policies_by_id, persons_by_id): all_permission_term = SQL("bool_or(artifact IS NULL) as all")01:02
wgrantBah, stupid irssi01:02
wgrantBut that function is doubly-indented.01:02
wallyworld_one is an internal method, so meh01:02
wallyworld_and was likely written at a different time01:02
wgrantTwo Person arguments with different meanings swapped in two very similar methods is rather perilous and PHP01:03
wallyworld_StevenK: ah, sorry, will fix as a driveby01:04
wgrantThe chance of someone not getting the order wrong is roughly 001:04
StevenKwallyworld_: I have it fixed locally01:04
StevenKwallyworld_: And I need to touch IBranch anyway, so I'll sort it out01:04
wallyworld_thanks01:04
StevenKwallyworld_: Strangely, all 4 imports are not used.01:08
wallyworld_StevenK: i may have happened after devel was merged in and i was resolving merge conflicts01:09
StevenKwallyworld_, wgrant: Do I want to do the same thing as IBug.subscribe in IBranch.subscribe?01:11
wallyworld_i think so01:11
wgrantStevenK: For what? Creating grants?01:11
wallyworld_if user can't see branch they are being subscribed to, add an AAG01:11
StevenKwgrant: Yes.01:12
wgrantYeah, sounds good.01:12
StevenKI wonder if we want the same check in IBranch.subscribe() too01:12
wgrantStevenK: Even better if you fix Branch.unsubscribe()'s new **kwargs while you're there.01:12
wgrantWhich check?01:13
StevenKIf it's a private bug, you can not subscribe open and delegated teams.01:13
wgrantProbably.01:13
StevenK        ignore_permissions = kwargs.get('ignore_permissions', False)01:13
StevenK*staba*01:13
StevenKs/a.$/01:14
wgrantwallyworld_: How do I set up celery to run the jobs locally?01:29
lifelesscool - http://googleonlinesecurity.blogspot.co.nz/2012/06/security-warnings-for-suspected-state.html01:42
lifelesswe need a warning bar like that ;>01:42
StevenK"We suspect you are trying to do something silly" ?01:43
wallyworld_wgrant: in tests, you use CeleryLayer, for dev, start the deleryd from bin02:38
wallyworld_celeryd02:38
wallyworld_and there's a fflag you add your job class name to02:38
wallyworld_the flag takes a space separated list02:39
wallyworld_of jobs which celery should run02:39
* StevenK peers at create_initialized_view()04:51
StevenKOh, team.name, sigh04:52
StevenKHmmm, where are the tests that make sure that a AAG is created when someone is subscribed to a bug?05:14
wallyworld_StevenK: test_bugvisibility05:34
mwhudsonrandom buildout question05:46
mwhudsonwhere does bin/twisted come from?05:46
StevenKmwhudson: It's created a buildout rule05:47
mwhudsonStevenK: right, i got that far05:47
mwhudsonwhich one, though?05:47
mwhudsonoh05:48
mwhudsonthe scripts one i guess05:48
mwhudsonzc.recipe.egg:scripts != z3c.recipe.scripts i guess?05:48
bigjoolsI really wish Python were more informative when there's an import error05:49
mwhudsonno, that's not it05:52
bigjoolsmwhudson: setup.py?05:54
StevenKYeah, it's setup.py05:55
* StevenK rips his eyes out after reading it05:55
mwhudsonbigjools: aaah05:55
mwhudsonthanks05:55
bigjoolsit's always fun when we randomly put the same stuff in different files05:55
StevenKwallyworld_: Can you glance at https://code.launchpad.net/~stevenk/launchpad/branch-subscribe-aag/+merge/108881 ?06:12
wallyworld_yes06:14
wallyworld_StevenK: TestBranchSubscriptionAddOtherView could iterate over all types of open team and test with each one06:20
wallyworld_StevenK: also getVisibleArtifacts - you have the return tuple mixed up06:21
wallyworld_StevenK: also, there are no legacy branch triggers so that check isn't needed06:21
wallyworld_StevenK: and so the reason the test_subscribe_gives_access test passes is that the branch collection assumes subscribed = visible06:23
wallyworld_so that bit of code is sort of pointless atm06:24
StevenKwallyworld_: Do you want to put all of that into the MP?06:24
wallyworld_ok06:24
StevenK(And anything else you find)06:24
=== matsubara_ is now known as matsubara
adeuringgood morning07:54
=== frankban changed the topic of #launchpad-dev to: http://dev.launchpad.net/ | On call reviewer: frankban* (rvba) | Firefighting: - | Critical bugs: 3.47*10^2
StevenKstub: The index is for speeding up the findSPPHs() method of the garbo job, not the evil monster query in __call__.08:04
stubStevenK: Still not sure if that index would work :) Has it been tested, or shall we try on staging?08:07
wgrantstub: Why wouldn't it work?08:07
stubwgrant: Because the planner can be stubborn :)08:07
wgrantWe're finding SPPHs without a PU, ordered by ID08:07
wgrantI'm pretty sure I tested it on DF08:07
StevenKstub: The query doesn't involve joins, it's just "SELECT id FROM spph WHERE packageupload IS NULL ORDER BY id"08:08
wgrantThe index is completely perfect for it, and the query is simple.08:08
stubOh, ordered by id should force it. If you have tested it, fine.08:08
stubSo this should go live on production?08:09
StevenKLet me land it first :-)08:10
wgrantDo show me the CREATE INDEX invocation first :)08:10
stubhttps://code.launchpad.net/~stevenk/launchpad/spph-packageupload-index-redux/+merge/10885208:13
stubBlocked on backups atm anyway.08:14
wgrant   ->  Index Scan using sourcepackagepublishinghistory__packageupload__idx on sourcepackagepublishinghistory  (cost=0.00..52499.86 rows=11359 width=4) (actual time=0.138..0.228 rows=60 loops=1)08:15
wgrant Total runtime: 0.369 ms08:15
wgrant:)08:15
StevenKThe commit message should please both wgrant and bigjools.08:18
StevenKstub: r15367 on devel08:19
StevenKI guess the backups should be done soonish?08:19
wgrantCould be another hour08:23
StevenKwgrant: I'm going to toss the SPPH+PU garbo job at ec2.08:36
wgrantStevenK: Sounds good.08:38
stubI think the control we have for not accidently deplying in fdt a db patch that should have been deployed live is the qa-ok tag on the corresponding bug? I guess we don't always have a bug.09:00
wgrantstub: The normal control is that I don't make mistakes like that.09:20
wgrantstub: Although live patches tend to be landed on devel.09:20
wgrantSo it's not an issue.09:20
stubwgrant: Which makes you a single point of failure :)09:31
stubSeems to be working well enough though, no point complicating things. Just musing.09:32
wgrantstub: Oh, it's certainly suboptimal.09:36
wgrantBut quite effective for now.09:36
frankbanhi, I have to land an approved branch of launchpad-buildd, how to do that? I guess I could merge it locally, commit with "[r=reviewer] ..." message and then push to trunk. Am I right?09:45
wgrantfrankban: That's right.09:50
frankbancool wgrant, thank you09:51
* jml resubmits branches for landing10:03
jmlthird time. both previous times no actual feedback.10:03
lifelessjml: that may mean they failed so spectacularly that failure mail got nommed10:07
jmllifeless: yes. or that my email config was broken. or that something else failed.10:07
jmloh actually10:13
jmlmy bad. hadn't quite caught up with long weekend email.10:14
jmlI have a successful ec2 test run for lp:~jml/launchpad/archive-commercial-rename-support. Would someone please land it for me/10:14
jmlfrankban? rvba?10:22
frankbanjml: ok10:23
jmlfrankban: thank you.10:24
jmlfrankban: thanks :)10:40
frankbanjml: welcome10:40
=== almaisan-away is now known as al-maisan
cjwatsonIs it just me or is WebServiceCaller.named_get busted?11:03
cjwatson        return self.get("%s?%s" % (path_or_url, data), data, headers,11:03
cjwatson                        api_version=api_version)11:03
cjwatsonbut:11:03
cjwatson    def get(self, path, media_type='application/json', headers=None,11:03
cjwatson            api_version=None):11:03
cjwatsonI don't see how data can possibly be a sensible thing to pass as media_type11:04
mgzdoes look dodgy.11:05
mgzwrite a failing test?11:05
wgrantThat indeed looks a little broken.11:06
cjwatsonHow do I run its test suite?  I seem to need to link in LP's download-cache somehow, but can't quite figure out how ...11:14
rick_hcjwatson:  ./utilities/link-external-sourcecode ../devel11:16
rick_hcjwatson: so I run that from a branch to link over the download cache/etc bits into my current branch11:17
rick_hcjwatson: or maybe I'm not reading enough scrollback and you're talking something different...11:17
wgrantcjwatson: Symlink ~/launchpad/lp-sourcedeps/download-cache into the tree as download-cache11:19
wgrantAnd, for speed, probably ~/launchpad/lp-sourcedeps/eggs as well11:19
wgrantThen python ./bootstrap.py11:19
wgrantI use './bootstrap.py --version 1.5.2 --setup-source=download-cache/ez_setup.py --download-base=download-cache/dist' to avoid slow PyPI access, but you might get away without it.11:20
cjwatsonrick_h: no utilities/ in lazr.restful11:23
rick_hcjwatson: yea, gotcha. Missed that part.11:23
rick_hcjwatson: so yea, with lazr.restful I think I had to just mkdir the download-cache and then just take the first hit in downloading packages11:23
cjwatsonwgrant: Yeah, that's not happy.  http://paste.ubuntu.com/1026635/11:24
wgrantOh wow11:24
wgrantIt builds its own special lxml in buildout11:24
wgrantWhat an odd piece of software11:24
wgrantcjwatson: Oh!11:26
wgrantYou're using setup.py build11:26
wgrantYou want to run bin/buildout11:26
wgrantSo you get versions that work.11:26
wgrantRather than just the latest versions of everything.11:27
wgrantOh how I love Python distribution mechanisms.11:27
cjwatsonAh, I see11:27
mgzbuildout is its own special kind of mess11:28
wgrantcjwatson: lazr.restful's tests still pass, which is odd.11:41
wgrantSurprised it hasn't bitrotten.11:41
czajkowskirick_h: hot desk is where people have a spare desk in an office and either rent out or some just leave it free so they open it up to people travelling :)11:45
rick_hczajkowski: ah, ok. That makes sense I guess.11:46
czajkowskirick_h: usually found in co-working spaces11:48
cjwatsonwgrant: And the Accept header seems to make little difference (the obvious test that might fail in fact passes), so I suspect actually this media_type brokenness isn't my problem11:49
cjwatsonIf I could get a little more than "HTTP/1.1 400 Bad Request" out of the damn thing it might help11:50
wgrantcjwatson: What're you trying?11:52
cjwatsonTrying to convert test_distroseries_dist_upgrader to use my new PU API rather than CommandRunner.  The request/response pair is http://paste.ubuntu.com/1026681/11:53
wgrantcjwatson: Huh, that's pretty useful.11:54
cjwatsonCurrent untidy code diff is http://paste.ubuntu.com/1026682/11:55
cjwatson(I can probably go back to .named_get there; it fails the same way either way ...)11:55
wgrantYeah, named_get would be a bit more clear.11:56
* wgrant tries.11:56
cjwatsonOh, that won't be desperately useful without http://paste.ubuntu.com/1026688/ too.11:56
wgrantWell11:57
wgrantShouldn't be relevant to that error :)11:57
cjwatsonYeah11:57
wgrantcjwatson: Does that tests actually do anything useful?11:59
wgrantIt's probably because the test is not running in AppServerLayer11:59
wgrantSo there's no appserver to talk to.11:59
cjwatsonAha, that would make sense12:00
wgrantBut there's no point having that as a webservice test.12:00
cjwatsonIt's an integration test for whether dist-upgrader uploads can be accepted/rejected.  There was a bug about that once upon a time.12:00
cjwatsonIt's not really testing the webservice - but it's currently using stuff from soyuz/scripts/queue.py, which I want to kill12:00
cjwatsonAnd since it's basically doing the equivalent of "queue accept", it seemed to make some sense to transfer that over to the new equivalent of the same tool12:01
wgrantcjwatson: See r3691.1.20012:02
wgrantcjwatson: The only significant changes in that rev were to the queue tool itself12:02
wgrantThe formatting and such12:03
wgrantI'd delete the test.12:03
cjwatsonWait, how come say TestBuildPackageJobScore works then?  It's not running in AppServerLayer either.12:03
wgrantHm12:04
wgrantPerhaps WebServiceCaller works in FunctionalLayer12:04
wgrantYour test is currently Zopeless12:04
wgrantFunctionalLayer calls some ancient Zope stuff which adds fake HTTP hooks and stuff like that.12:05
wgrantAnyway, that test isn't useful if the queue tool doesn't exist any more.12:05
cjwatsonI guess I just feel uncomfortable about having nothing that does a straight-through test of accepting custom uploads.12:05
wgrantAh12:06
cjwatsonBut you think the original bug was purely presentational in the queue tool/12:06
cjwatson?12:06
wgrantIf there's really nothing else that tests that sort of thing, replace it with a model test.12:06
cjwatsonRight.  I'll have a look, maybe there is12:07
wgrantWebservice tests are slow and awkward, so they should be avoided whenever possible.12:08
wgrantAnd in this case the webserviceness is entirely irrelevant.12:08
cjwatsonMakes sense.  Thanks.12:13
bachi sinzui12:43
czajkowskisinzui: aloha!13:00
czajkowskisinzui: I've 2 projects being created by one person for two seperate things, however using a licence I've never heard of, would you mimnd if you get a chance having a look please?  https://launchpad.net/projects/+review-licenses13:01
=== matsubara is now known as matsubara-lunch
wgrantczajkowski: Non-free13:04
wgrant"The user may use the work for any good purpose and he may not use it to13:04
wgrantharm others or violate the permissive principles of Islam"13:04
czajkowskiwgrant: it must be sleep time for you!13:04
wgrantIt's never sleep time when there are stupid, stupid licenses to tell to GTFO,.13:05
czajkowski:/13:05
bacwgrant: :)13:06
wgrantHm13:06
wgrantAlthough the English version isn't binding, so that's relying on precision of the translation.13:07
czajkowskiwgrant: aye it's been the strangest one I've seen so far13:07
wgrantDebian says it's non-free.13:07
wgranthttp://bugs.debian.org/cgi-bin/bugreport.cgi?bug=57979613:07
* benji contemplates the craziest possible license he could come up with.13:08
czajkowskiwell I've seen the ones that are peoples own license, but they just come across as rude13:08
czajkowskithe above one seemed well thought out and written but made no sense for a lp project13:09
benjiI'm remninded of the ExtTLD license which includes "You agree you are not involved in or profit from the use of animals for entertainment such as circuses, hunts, rodeos and races etc."13:12
benjiAll the open-source-using clowns add an extra tear to their makeup when they read that.13:12
nigelbwtfpl13:12
nigelbhaha13:13
nigelbI like wtfpl.13:13
nigelb"Do whatever the f you want with this code"13:13
=== abentley changed the topic of #launchpad-dev to: http://dev.launchpad.net/ | On call reviewer: frankban* (rvba), abentley | Firefighting: - | Critical bugs: 3.47*10^2
cjwatsonThese licences are all basically well-intentioned but fall afoul of not everyone agreeing on general principles of "good".13:14
cjwatsonAnd in general trying to use software licences to control things that aren't actually much to do with software.13:15
stubI recall a beer licence, which granted the user permission to buy the author a beer if they wanted.13:15
nigelbstub: I think I like that license, but it should be s/beer/booze/g13:16
benjiyeah, fortunately the "field of endeavor" restrictions that used to be popular have mostly gone away.13:17
wgrantbenji: That's not one I've run into before.13:21
wgrantQuite impressive.13:21
wgrantly misguided13:21
benjiheh13:21
bacczajkowski: note that the project is dual licensed with GPLv3.  it is not triggering the 'you must buy a subscription' warning.13:22
bacthe two licenses are incompatible, but that's not our concern13:22
wgrantbac: Is it dual-licensed, or did they just say that?13:22
bacwgrant: the GPL 3 text file is in their branch13:23
benjiwgrant: you would probably appreciate _why's "Death and Repudiation" license which states that you only have the right to use the softwre after you are dead.13:23
wgrantbac: Surprising. I find people mostly say GPL to get around the Launchpad checks, but it seems that it is indeed the case here.13:25
baci'd be in favor of at least communicating to the owner that waqf is not OSI-approved and does not meet our "field of endeavor" restrictions.13:26
* bac wonders wth the project actually does13:27
benjibac: ironically it's a guidance system for nuclear warheads13:27
czajkowskiyeah...13:28
sinzuiczajkowski, That license is not the first thing I want to read in the morning13:36
czajkowskisinzui: aplogies13:36
czajkowskisinzui: wasnt my cup of tea on a wednesday either :)13:37
sinzuiThe "good" aspect always leads to a discusion of discriminating against the evil doers of this world.13:37
sinzuiDebian agrees, they accepted a package with the same license as non-free https://launchpad.net/ubuntu/quantal/+source/othman/+copyright13:38
sinzuiczajkowski, I will send a license-conflict-notice to maintainer13:39
czajkowskisinzui: okie dokie thanks13:39
czajkowskisinzui: sorry for the bad start but I did want to check with folks first13:40
wgrantsinzui: bac points out that it's GPL too, so it's strange but fine.13:40
sinzuiwgrant, It had to be relicensed13:41
sinzuiwgrant, there was a very long thread and a bug about it. The agreement was it was non-free13:42
wgrantHah13:43
sinzuiwgrant, do disagree?13:43
wgranthttp://www.ojuba.org/wiki/waqf/faq is quite hilarious.13:43
wgrantsinzui: Waqf is clearly non-free. No disagreement there.13:43
sinzuiokay. http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=579796 and this thread are in agreement http://www.archivum.info/debian-devel@lists.debian.org/2010-07/00051/-quot-Waqf-quot-General-Public-License-in-Debian.html13:44
wgrantsinzui: Right, but it's moot since it's dual-licensed.13:44
sinzuiyes indeed.13:45
jmlneed another branch landed: https://code.launchpad.net/~jml/launchpad/generate-ppa-logging/+merge/10804013:46
jmldid a test run. three doctests failed and my last push just fixed those.13:46
sinzuiczajkowski, you can approve the two projects since they are gpl. They can join the older Microsoft licenses we also have in the system.13:46
jmlthis is necessary to remove a cowboy so would appreciate a swift landing.13:46
wgrantjml: That cowboy has been deployed over like 4 times :)13:47
wgrantIt's long gone.13:47
jmlwgrant: oh ok.13:47
jmlwgrant: well, the branch still needs landing :)13:47
wgrantjml: You don't have privs?13:48
jmlwgrant: pqm bounced my last attempt (last week)13:48
* jml tries again13:49
wgrantThat's not very nice of it.13:49
wgrantWorth another try now we're not in testfix or anything.13:49
jmlhmm.13:50
jmlwrong key is being used :\13:50
czajkowskisinzui: bac wgrant thanks for the help with that one13:51
jmlhaoesuhseo13:52
jmlgpg.conf has default key set to the correct key but lp-land uses the old key. wtf.13:53
sinzuiwgrant, where am I going to put all the bug  you reported?13:54
wgrantjml: bazaar.conf has a gpg_signing_key setting13:54
wgrantsinzui: I'll hopefully fix most of them tomorrow.13:54
jmlwhich I don't have set... doing so now13:55
wgrantjml: Hm, odd then.13:55
jml\o/13:57
wgrantjml: Marvellous.13:59
=== matsubara-lunch is now known as matsubara
=== Ursinha` is now known as Ursinha
czajkowskisinzui: are you spring cleaning answers?14:30
sinzuiczajkowski, I fulfilled my promise to let other people do answers for a year14:31
czajkowskisinzui: mrevell hangout link ?14:37
=== mrevell_ is now known as mrevell
cjwatsonwgrant: I didn't go as far as setting you as the only reviewer, but I think https://code.launchpad.net/~cjwatson/launchpad/queue-api/+merge/108967 could particularly use your review.15:37
=== al-maisan is now known as almaisan-away
jcsackettsinzui: i see that you have moved it to the backlog since this morning, but i spent a little time trying some changes to the bugstatus display for bug 99764616:10
_mup_Bug #997646: confusing colour in the same picker with different enums? <disclosure> <ui> <Launchpad itself:Triaged> < https://launchpad.net/bugs/997646 >16:10
jcsackettsinzui: http://people.canonical.com/~jc/images/bugstatus-color-issue.png16:10
=== frankban changed the topic of #launchpad-dev to: http://dev.launchpad.net/ | On call reviewer: abentley | Firefighting: - | Critical bugs: 3.47*10^2
jcsackettit's just a bit of differentiation, but i think it may be enough. gray *is* a pretty good color choice for those options.16:11
=== salgado is now known as salgado-lunch
=== matsubara is now known as matsubara-afk
=== salgado-lunch is now known as salgado
sinzuijcsackett, don't be concerned about where I moved it. It stil needs to be worked on18:03
sinzuijcsackett, I wanted to add wgrant critical and high bugs since they are the items that block the sharing beta18:04
sinzuijcsackett, +1 for the bold18:04
sinzuijcsackett, I think some of our shades of grey violate WCAG. We need more contrast18:05
sinzuijcsackett, #666 is the lightest text can be. I bet we have shades that are higher.18:07
sinzuijcsackett, sweet, PSU has a cheatsheet for us! http://accessibility.psu.edu/contrasthtml18:08
sinzuijcsackett, I see in colour.css that we use #999, #bebebe, and gray. We use these for status colours. I see in form.css that .formHelp used for descriptions is #777. I think the last must be changed to #666, and we may want the others to be #55518:20
=== benji is now known as Guest68587
jcsackettsinzui: sorry we keep missing each other. i've read your comments here and on the MP; i'll give some other colors a try.20:02
sinzuithank you20:02
james_wfeature flag convention is None for not set right?21:40
james_wwhat should be done for booleans?21:40
james_wjust bool() and get on with it?21:40
lifelessthere is a faq on this21:50
lifelessI odn't remember if its in the code or the wiki21:50
lifelessbut yeah, bool() - so unset, and "" both evaluate to 'off' and anything else to 'on'21:51
wgrantMost notably, 'off' evaluates to 'on'21:52
lifelessas does False and false21:53
lifelessand 021:53
james_wI don't see it on https://dev.launchpad.net/FeatureFlags21:53
lifelesscheck the memcache flag21:53
maxbDoes anyone remember what the final state of fixing branch stacking URLs to not break if branches were renamed, was?21:55
maxbI had somehow got the idea that all existing branches had been fixed up to point at +branch-id URLs, but apparently not21:55
lifelessthey were21:55
lifelessbranch-distro regressed it21:55
lifelessas its code isn't updated21:55
maxb*ah*21:56
james_wlifeless, https://dev.launchpad.net/FeatureFlags#Boolean_values if you care to check22:03
james_whmm, this test is running as a different dbuser that doesn't have DELETE on featureflag22:05
lifelessyou need to switch dbuser back before dropping the flag22:05
james_wimplicit teardown doesn't make it that easy to switch for that bit of code22:06
lifelessso you need two context managers22:06
lifelessthere is a context manager for dbuser and one for flags, should work fine22:06
lifelessif you're using useFixture, you should be able to useFixture the dbuser context manager.22:06
lifelessIf its not a fixture, a trivial adapter is probably in order22:06
james_wuseFixture to the non-standard user22:07
james_wor to a standard user for this one particular test?22:07
lifelessnonstandard user22:07
lifelessusefixture(a); usefixture(b); do stuff is equivalent to22:07
lifelesswith a,b: dostuff22:07
lifelessa needs to do the flags22:07
james_wyes22:08
lifelessb needs to do the dbuser switch22:08
james_wbut currently this TestCase just uses dbuser = config.generateppahtaccess.dbuser22:08
james_wso I'll have to unpack that, or move this test to a different TestCase22:08
lifelesswhat, as a class variable ?22:11
james_wah22:12
james_wthat's not a standard thing it turns out22:12
lifelessif so, yes, unpack it (personally I find that horrible: its not as flexable as resources=... and you can't express dependencies etc)22:12
wgrantlifeless, james_w: What about my dbuser context manager?22:21
wgrantfrom lp.testing.dbuser import dbuser22:21
wgrantwith dbuser('testadmin'):22:21
wgrant    # hahah i am god22:21
james_wwgrant, I've used that22:21
james_wI couldn't just use it directly though22:21
wgrantOhhh22:22
wgrantFeatureFixture, right22:22
wgrantThat'll teach me to read more than 5 lines of scrollback22:22
lifeless:)22:29
lifelessits possible22:29
lifelessperhaps22:29
lifelessthat featurefixture should auto switch as needed22:29
lifelessI'd worry about magic side effect syndrome22:29
james_wwell, that's sent the diffstat the wrong way22:54
StevenKwallyworld_: http://pastebin.ubuntu.com/1027740/23:18
wgrantwallyworld_: Oh23:53
wgrant        subscribed_invisible_bugs = store.find(23:53
wgrant            Bug,23:53
wgrant            BugSubscription.bug_id == Bug.id,23:53
wgrant            BugSubscription.person == self.grantee,23:53
wgrant            bug_filter)23:53
wgrantRemoveBugSubscriptionsJob will remove members.23:54
wgrantRemoveGranteeSubscriptionsJob does not23:54
wallyworld_yes23:54
wallyworld_i think so23:54
wallyworld_will have to relook at the code23:54
wallyworld_to rehresh my memory23:55
wgrantIn fact I think I said that in the bug.23:55
wgrantBut that was like a day ago23:55
wallyworld_so you saying removing a team member calls the wrong job?23:55
wallyworld_wgrant: i just re-rea dthe bug report: "If I subscribe a team and then one of its members to a bug...."23:56
wallyworld_if the member is separately subscribed, then they will retain access23:57
wallyworld_even if they are removed from the team23:57
wgrantwallyworld_: Not quite23:59

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