/srv/irclogs.ubuntu.com/2010/02/16/#launchpad-dev.txt

* mwhudson afk for lunch00:03
Ursinhajtv, no I don't :/ I'm off for carnival00:04
Ursinhajtv: if you send me one email with the problem, I can take a look when around00:04
jtvUrsinha: hi!  Never mind, I found the cause.  Enjoy!00:04
thumperUrsinha: damn, you're off aren't you00:05
thumperUrsinha: when are you back?00:05
thumperpoolie: we currently report format 2a badly on the branch pages00:05
Ursinhajtv: heyyy I thought you weren't here :)00:05
thumperpoolie: what should we say?  Just "2a"?00:05
jtvUrsinha: libpqxx release tonight00:05
poolieyes00:06
Ursinhathumper: yes, I am, but should return on Wed.00:06
Ursinhajtv: oh, I see00:06
thumperUrsinha: your wed not mine right?00:06
Ursinhathumper: yes :)00:06
thumperhmm...00:06
thumperok00:06
Ursinhathumper: what can I do00:06
Ursinhafor you00:06
thumperI'll have another team lead thingy not done00:06
thumperUrsinha: I was going to talk to you about only marking things for qa when available on edge or staging00:07
Ursinhathumper: go ahead, what is it00:07
Ursinhahmm00:07
thumperUrsinha: rather than when in stable/db-stable00:07
Ursinhathumper: hm, right00:07
Ursinhathumper: so devel/db-devel, right?00:07
thumperUrsinha: no... but only tagging for qa when it is possible to qa00:08
thumperUrsinha: right now I see things that need to be qa'ed but can't because they aren't on edge or staging00:08
thumperUrsinha: it would be good to only get the notification to QA when you can00:08
thumperUrsinha: that way it is less likely to be put into the "later" basket, and done ASAP00:09
Ursinhathumper: I thought that when a branch reached stable, it could be QAed00:09
thumperright now I need to poll edge or staging to see if I can QA00:09
thumperUrsinha: no...00:09
Ursinhathumper: :/00:09
thumperUrsinha: it has to be rolled to edge00:09
Ursinhathumper: right00:09
Ursinhathumper: I'd have to find a way to check if the revision is already there00:10
Ursinhashouldn't be that hard..00:10
wgrantThere's a script for that™00:10
Ursinhabut it would demand some work, and I wonder how would I fit this in the way tagging script work00:11
Ursinhawgrant: yes00:11
wgrantutilities/on-edge00:11
thumperUrsinha: if your script grabbed the branch and opened it locally, you could use bzrlib to check the ancestry00:11
Ursinhawgrant: hmm00:11
Ursinhawgrant: cool, thanks00:12
Ursinhathumper: so I guess it's not hard to do00:12
thumperUrsinha: that would be really cool00:12
Ursinhathumper: I can do that when I return00:16
thumperUrsinha: I'll send you a chocolate fish when its done :)00:17
Ursinhathumper: hehe :)00:20
Ursinhathumper: I thought the script was behaving like that, only showing items to test already "testable"00:21
UrsinhaI'll fix that00:21
thumperUrsinha: awesome, ta00:21
Ursinhajtv: I heard you're coming to visit me here :)00:21
Ursinhathumper: np :)00:21
jtvUrsinha: so it seems00:22
wgrant>>> sprb.buildstate01:10
wgrant<DBItem BuildStatus.FULLYBUILT, (1) Successfully built>01:10
wgrantYay.01:10
* mwhudson finally notices the icon screwage on edge01:23
wgrantmwhudson: Just the branch sprite, or something else too?01:24
mwhudsonprobably just the branch sprite01:24
wgrantIt's odd that only that one has been hit.01:24
wgrantDo I want to call attributes source_package_recipe_build or sourcepackagerecipebuild?01:26
wgrantThere is no consistency.01:26
mwhudsonwell01:27
mwhudsonthe old way is sourcepackagerecipebuild01:27
mwhudsonthe new way is source_package_recipe_build01:27
mwhudsonsoyuz is old01:27
wgrantThat's what I thought. Thanks.01:28
* thumper afk for a bit02:17
thumpermwhudson: I'd like to talk some more about recipe stuff if you are up to it04:25
thumperI find that talking helps clear my mind on the issue04:25
thumperor...04:26
thumperI could just finish that other branch...04:26
thumperhmm...04:26
* thumper forgets about recipes for a bit04:26
thumper...04:31
thumpermwhudson: I could do with a mid-impl call if you have some time :)04:31
mwhudsonthumper: mid-imp sounds fine04:32
mwhudsonthumper: skype me up04:32
mwhudsonthumper: http://jcalderone.livejournal.com/tag/sixty%20seconds05:05
=== ]reed[ is now known as [reed]
wgrantstub: Regarding the patch to drop SourcePackageRecipeBuildUpload, I get a test failure in the person visibility consistency checker. If I drop the foreign key from SPRBU -> Person.id, it's all OK. Can I do that?06:41
stubwgrant: Yes, that is good.06:41
wgrantstub: Thanks.06:42
=== thekorn_ is now known as thekorn
mwhudsonnoodles775: hello again (!)07:38
noodles775Hi mwhudson :)07:38
wgrantMorning noodles775.07:40
noodles775Hiya wgrant.07:43
thumperhi noodles77508:00
thumpernoodles775: is your birthday in july?08:00
noodles775thumper: nope - august... why so?08:01
thumpernoodles775: I was wondering about the 77508:01
thumpernoodles775: and I though July '7508:01
thumpert08:01
jmlgood hello08:01
noodles775Ah, just noodles was already taken, not sure why I added th eextra 7.08:01
noodles775Morning jml08:01
jmla truck with flatpack bookshelves is arriving any minute now.08:02
noodles775Yay.08:03
lifelesshi jml08:05
jmllifeless, hello08:05
wgrantHmm, is Björn doing DB reviews now?08:08
jmlwgrant, yes. was the email not sent to the public list?08:08
wgrantjml: Not that I saw.08:08
jmlwgrant, sure. anyway, yes, Björn is doing db reviews.08:09
wgrantjml: OK, thanks. Was just a bit confused by the extra review request that sprung up on one of my MPs a couple of days ago.08:10
jmlwgrant, np.08:12
adeuringgood morning08:22
jmlgood morning08:24
* jml has flatpack shelves now08:24
wgrantBut can you put them together?08:25
jmlwell, first step is getting them upstairs08:25
jmlputting them together... I've done it before08:26
thekornallenap, hi, have you seen the test failures? I would like to help fixing them, but I've no clue about the correct fix (implementing this method by returning an empty list vs. moving this method to something like IHasTags)08:38
=== daniloff is now known as danilos
mrevellMorning08:58
jmlmrevell, good morning09:03
mrevellGuten morgen jml09:04
wgrantWhy doesn't +activereviews show the number of pending reviews?09:10
jmldon't know.09:36
noodles775Do we have any examples of where we've presented disabled form widgets on LP? I can't find any...10:46
noodles775I can see that zope.scheme items can take an optional constraint, but that is validation related, whereas I'd like to present a checkbox that is disabled in some situations.10:47
noodles775(setting readonly=False causes the field to render as a normal text field, rather than a checkbox).10:47
noodles775If not, I can create a new widget to do so, but just wanted to check first.10:48
jmlnoodles775, I can't think of any.10:53
wgrantThe only disabled widgets I can think of are the textboxes on the code import registration view, but that uses BeautifulSoup...10:54
noodles775OK, thanks guys.10:55
wgrantIs this for the Archive.private restriction?10:55
noodles775wgrant: yep.10:55
noodles775wgrant: just for the ui presentation of it of course - it needs to be read only on the model with a validator there.10:56
wgrantRight.10:57
deryckmorning, all.11:02
adiroibandanilos: hi, can you please advise my how I should process with bug 516317 ? Should I fix it together with bug 127171, create a new branch, or wait for you to fix it?12:32
mupBug #516317: Product:+changetranslators should become +settings <ui> <Launchpad Translations:In Progress by danilo> <https://launchpad.net/bugs/516317>12:32
mupBug #127171: Rosetta experts not allowed to "Change translators" <Launchpad Translations:In Progress by adiroiban> <https://launchpad.net/bugs/127171>12:32
=== mrevell is now known as mrevell-lunch
* jml offline13:27
danilosadiroiban, hi, I have a branch which fixes it and a few other issues at the same time, it's almost ready13:39
danilosadiroiban, I believe it fixes 127171 as well :)13:39
adiroibandanilos: ok. I'll wait for that13:39
adiroiban:)13:39
danilosadiroiban, I am renaming it 'translation-settings' because I am also moving 'official_rosetta' setting there so it's easier to configure a project for translation in one place13:40
danilosadiroiban, if you are impatient and have a mostly ready branch, you can land it and let me worry about solving all the conflicts and everything else :)13:41
adiroibanno problem13:41
adiroibanI don't think it is worth landing it13:41
danilosadiroiban, if it's done, it's worth landing it because I haven't ran the full test suite on my branch yet :)13:42
adiroibanbut maybe you can reuse some of the tests13:42
danilosadiroiban, and, it's a work you invested time in, and I always appreciate that :)13:42
adiroibani think that landing it will only create more work for you13:42
adiroibanso maybe you can reuse some of the tests from there13:43
=== salgado_ is now known as salgado
=== mrevell-lunch is now known as mrevell
adiroibandanilos: it is OK if I will assing you the bug 127171 ? It is now assigned to me and targeted for the next milesone.14:01
mupBug #127171: Rosetta experts not allowed to "Change translators" <Launchpad Translations:In Progress by adiroiban> <https://launchpad.net/bugs/127171>14:01
danilosadiroiban, yeah, it'll probably help14:02
danilosadiroiban, iow, just go ahead and land it :)14:03
adiroibandanilos: I'm confused. Should I land it, or assing it to you and leave you the task of fixing this bug?14:05
danilosadiroiban, land it :)14:05
danilosadiroiban, I'll worry about other things14:05
adiroibanok14:05
jtvadiroiban: shame we didn't have time to talk more at fosdem...  I introduced Milo to a new snack, and if you don't know them yet, I'll get you one next time.  :)14:06
adiroiban:)14:06
jtvabentley: is there a way to get a branch URL, but with a preference to (say) a read-only http URL?14:09
jtva preference *for14:09
abentleyjtv, you can, but you might have to hand-craft it.14:10
jtvabentley: this is for hosted branches btw... alternatively, can I predict what protocol I'll get?14:11
jtv(and will read-only URLs go away completely?  This is untrusted access so read-only would be a nice touch)14:12
abentleyjtv, the protocol you get is entirely up to you.14:12
jtvabentley: me the branch owner or me the script that wants to read the branch contents?14:12
abentleyyou, a launchpad developer.14:13
jtvSo rewriting the branch URL could be messy.  (BTW I just realized: the branch may well be mirrored instead of hosted)14:14
abentleyjtv, I don't understand what you're trying to do.14:15
abentleyjtv, I don't understand whether you're writing a cron script or a script that accesses Launchpad over the API14:15
abentleyjtv, so I really don't understand what answers are relevant to you.14:16
jtvabentley: I'm writing the code that produces a BuildFarmJob for a given Branch object from the db.  Based on that BuildFarmJob, the slave will have to export the branch contents and operate on them.14:17
jtvThe thinnest interface I can think of for doing that is to pass a branch URL to the slave, after which the slave can read branch contents from that URL.14:18
jtvI'm not sure the warehouse URL would be good to expose to a slave; the slave is not trusted.14:19
abentleyjtv, this will only work for branches which support anonymous access.  Is that acceptable?14:19
jtvabentley: yes14:19
abentleyjtv, so you can just use the http URL.14:20
jtvabentley: yes, that's what I was thinking; makes it easier to set up the firewall rules.14:20
jtvabentley: is there a reliable way to get that url?14:20
abentleyjtv, over http, there's no distinction between mirrored and hosted branches, and the URL rewriting happens elsewhere.14:21
abentleyjtv, I don't know if there's a way to construct an http url directly, but if not, you can just prepend "http://bazaar.launchpad.net" to the bzr_identity.14:22
jtvabentley: would it make sense to add, say, an http_url property to IBranch?14:23
abentleyjtv, I don't think so.  Branches have lots of URLs, even multiple http URLs.  A public_url method might make sense, though.14:24
jtvabentley: as a compromise, public_http_url?  I know it seems overly specific but the "http" part matters for our firewall setup.14:25
danilosjtv, abentley: you'd definitely want to involve someone who knows our production config into this discussion, since I know we'll at least have to open firewall rules for this14:25
jtvdanilos: yes, we know, thank you  :-)14:25
abentleyjtv, no, our API is fat enough.  I'd want a method that can produce sftp, bzr+ssh, or http URLs.14:25
jtvabentley: so... a method that takes a protocol parameter, and which for now only supports http?14:26
abentleyjtv, I can't think of a reason to only support http.14:27
jtvabentley: just that I don't want to write, and you don't want to maintain, something that nobody uses yet.  :)14:27
abentleyjtv, I am quite happy to maintain something like that, considering it's a 7-character difference at most.14:29
abentleyjtv, I would even be willing to update our existing code that generates URLs to use it.14:29
jtvabentley: in that case, how about you tell me the URL patterns, I write a branch, and you review it?14:30
jtvOr is that too incestuous?14:30
abentleyjtv, works for me.14:30
jtvActually, if you just tell me other places that compose URLs like this, I'll have the patterns too :-)14:30
abentleyjtv, looking.14:31
abentleyjtv, lp.code.xmlrpc.branch is the bit that actually converts an lp: URL to a public URL.14:36
jtv(the "os.path.join" is going to do funny things with the URLs if we ever port to Windows :)14:38
abentleyjtv, that may be the only place we do this conversion.14:38
jtv_getUniqueNameResultDict?14:38
abentleyjtv, yes.14:39
jtvso we can push the core of that method down into the model code.14:39
abentleyjtv, yes, that would make sense.14:40
jtvabentley: thanks, I'll get to work on that then.  At last a good opportunity to start playing with pipelines.14:41
abentleyjtv, cool.14:41
abentleyjtv, I recommend avoiding reconfigure-pipeline for launchpad developers.  Instead, just create a branch as you normally would, then make a lightweight checkout and work in that.14:43
jtvabentley: do I push the lightweight checkout to bzr separately to set up an MP?14:45
jtv*to launchpad14:45
jtvnot to bzr14:45
abentleyjtv, no, pushing a lightweight checkout is the same as pushing its branch.14:46
abentleyjtv, you can also use lp-submit to set up the MP.14:47
jtvabentley: I've already got a branch with committed changes; does this approach still help in that case?  Or would I have to merge my existing branch into the new one?14:48
abentleyjtv, still works.  Just create a lightweight checkout of your existing branch, and you can start using pipelines.14:48
jtvabentley: oic14:49
jtvabentley: the plugin complains about an API version mismatch.15:00
abentleyjtv, which version of bzr are you using?15:01
jtv2.0.415:01
abentleyjtv, and you're using bzr-pipeline from source?15:02
jtvabentley: yes, did a "bzr branch" into my plugins dir & renamed to bzr_pipeline15:02
abentleyjtv, you need to use lp:bzr-pipeline/stable15:03
abentleyjtv, that version of pipeline doesn't contain the lp-submit command.15:07
jtvbzr: ERROR: No module named pipeline.commands15:08
jtvYou may need to install this Python library separately.15:08
abentleyjtv, you should rename it to pipeline, not bzr_pipeline.15:10
noodles775intellectronica: did we ever standardise on a way to ensure that model validation can be re-used in browser views?15:10
jtvabentley: thanks, that works... how do I submit when ready?15:10
noodles775I have a memory of you bringing it up at one point.15:10
intellectronicanoodles775: i must admit i'm not sure what exactly you're on about15:11
noodles775intellectronica: sorry. So you've got a model validation that storm uses to ensure a new value is consistent before it adds it to the db.15:11
noodles775And you want to do a very similar check in your views form validation.15:12
abentleyjtv, use the web UI, and if there's a previous pipe, specify it as the prerequisite branch.15:12
jtvabentley: right ho15:12
noodles775intellectronica: perhaps I mis-remembered, I thought you had brought this up once before (related to API validation checks).15:12
intellectronicanoodles775: is this a check you can do without storm? if it is, then you can use a validator with the interface attribute, and use the interface (or specializations of it) for both the model object and the form15:13
noodles775intellectronica: yep, we're using the same IFace for the form schema and the model, but I'm not sure what you mean by a validator with the interface attribute.15:14
noodles775Currently the model validation is done via the storm_validator attribute of BoolCol.15:16
intellectronicanoodles775: iirc you can pass validator function to the constraint argument of zope interface fields15:16
intellectronicalet me see if i can find an example15:17
noodles775Thanks.15:17
intellectronicanoodles775: see some validators in lib/canonical/launchpad/interfaces/validation.py15:18
noodles775Thanks intellectronica.15:18
noodles775I did look at constraints earlier, but from memory it was only allowing a constraint on the new value... whereas I need to compare it with the old. But I'll check there.15:19
noodles775intellectronica: right, so the fact that I need storm to my check means I can't use a constraint. I'll keep looking, ta.15:23
sinzuimars: target questions to launchpad-registry because we have answer contacts. Assigning them to the registry-team does not generate a notification.15:26
marssinzui, will do, thanks15:27
leonardrflacoste, do you think it's okay to change client.js so that the launchpad website uses the 'devel' version of the web service when making ajax requests?15:27
marsflacoste, leonardr, fwiw I think it is OK for the JS to use the latest webservice.15:28
flacosteleonardr: agreed15:28
marswe can decouple them later if (and only if) we have problems with API drift15:28
marserr, problems with rapid API change15:29
leonardrcool15:29
mars(and we would be trading rapid API change for API drift problems.  Anyway, I'll take the former for now)15:29
leonardrflacoste: as i was telling mars and gary, my only concern is that our test coverage might not be good enough to detect ajax failures caused by api changes15:30
leonardrbut i don't truly know how good it is15:30
marsleonardr, I think it is good enough15:33
gary_posterflacoste: I feel this is a call for BjornT, ideally, but he is not around.  I asked leonardr to ping you because, as he says, this is an assertion that our Windmill tests are pretty good, or that we are willing to experience pain until they are.15:33
gary_posterI don't know the Windmill tests.15:33
flacostewindmill tests are fine15:33
gary_posterflacoste: ok, good enough. leonardr ^^^ that's explicit :-)15:34
leonardrall right15:34
leonardrwe'll do it15:34
gary_posterthanks15:34
leonardrmars, do i have to do anything special to rebuild the *-min.js files?15:37
jtvabentley: do I need to check whether the branch is public?15:39
jtvabentley: also, is it appropriate to use the same list of accepted schemes that the url field accepts?15:40
abentleyjtv, I think that's a nice-to-have.15:40
jtvabentley: when it's not public, there's basically no public URL right?  I could return None, or raise, or just pretend things will work.15:40
abentleyjtv, I don't know what list of schemes the URL field accepts.15:41
jtvabentley: it's in IBranch: BranchURIField(..., allowed_schemes=['http', 'https', 'ftp', 'sftp', 'bzr+ssh'],15:41
jtvOTOH that doesn't include lp, so maybe it's not quite the same thing..?15:42
abentleyjtv, that list is not the list of schemes we support for codehosting.15:42
sinzuimars: answers have history, you do not need to write dates in white boards: https://answers.edge.launchpad.net/launchpad-registry/+question/101172/+history15:42
jtvabentley: it'd be easiest for me to accept any protocol string at all.  Maybe I'll just do that.15:43
abentleyjtv, I think raising an exception would make sense for non-public branches.15:43
abentleyjtv, I think accepting any scheme is okay.  We can tighten it later if needed.15:44
abentleyjtv, but it only makes sense to raise an exception for http, when the branch is private.15:45
=== jamalta-afk is now known as jamalta
jtvabentley: pidgin died.  You said the non-private check only makes sense for http.15:46
abentleyjtv, yes, that was the last thing I said.15:46
jtvabentley: https..?15:46
abentleyjtv, either the API generates URLs that work with LP, in which case, https should be forbidden altogether, or it generates whatever URL you request, and the private check doesn't make sense.15:48
jtvabentley: for my use case, either kind of function would do.  Right now I'm thinking "does whatever you want, but asserts that you're not making obvious mistakes."15:51
abentleyjtv, to my mind, requesting an https URL is an obvious mistake.15:52
jtvabentley: that's fine; I just wanted to know if that was something that was supported.15:53
abentleyjtv, at present, only http, sftp and bzr+ssh are supported.15:53
jtvabentley: so that's the ones the public codehosting API supports, plus sftp.15:54
abentleyjtv, yes.  sftp is basically a legacy service now.15:55
jtvabentley: so it may make sense to crib my list from PublicCodeHostingAPI with sftp in a "grandfather clause" appendix?15:56
=== salgado is now known as salgado-lunch
abentleyjtv, yes, that would make sense.15:57
danilosjtv, abentley: I am again jumping into the discussion, but have private branches been considered? atm, we just need to be careful not to expose data from them publicly15:59
danilosabentley, ah, I see it has15:59
danilosjtv, abentley: ok, ignore me, thankyouverymuch :)15:59
jtvdanilos: and this affects our existing plans how..?  :-p15:59
james_wjelmer: hey, did your delete branches API ever land?16:04
jelmerjames_w: yep, last cycle16:04
james_wjelmer: I don't see it on https://edge.launchpad.net/+apidoc/#branch16:05
james_wor is it implicit?16:05
jelmerHmm, I don't see it either16:05
abentleyrockstar, chat?16:25
rockstarabentley, sure, lemme find my headset in this mess.16:26
rockstarabentley, I don't see you on skype.16:29
rockstarabentley, I heard you at first, then I didn't anymore.16:29
abentleyI'm here16:30
rockstarabentley, I heard you again, and then you dropped off.16:30
abentleyrockstar, making a test call.16:30
abentleyrockstar, test call worked.16:31
rockstarabentley, yeah, as did mine.16:31
abentleyrockstar, grr.  Maybe xmpp chat...16:32
=== salgado-lunch is now known as salgado
kfogeladeuring: mystery... when I view source for (say) https://bugs.edge.launchpad.net/gwibber, the bugfilters-portlet stats box on the right (which says there are "489 Open bugs", according to my browser) doesn't contain the string 489 anywhere.  That number appears nowhere in the HTML source.  I do see where the "Open bugs" is, but... what's going on?  Where are the numbers?16:36
kfogeladeuring: where I expect the number 489 to be, there is just this: <td class="bugs-count"></td>16:37
kfogelit's empty16:37
adeuringkfogel: that's pulled in via an extra HHTP request16:37
kfogeladeuring: cool (because we'll want to do that for patches count too, I think)16:38
adeuringkfogel: we had lots of timeouts, when this data was directly in the HTML data, so we get the data for some portlets later16:38
kfogelbut how does this work?16:38
* kfogel looks16:38
adeuringkfogel: are you sure that conting patches is also so slow?16:38
adeurings/conting/counting/16:39
kfogeladeuring: well, no I'm not sure... but if the rest of the portlet already does things this way, it would seem like a good idea to do that here too16:39
kfogeladeuring: (I also have a good guess that it is as slow as any other thing in that box, though I could be wrong)16:39
adeuringkfogel: ah, right.16:39
kfogeladeuring: I'm puzzled by how the content is fetched asynchronously, though.  There doesn't appear to be any unique ID in the HTML identifying the particular <td>...</td> where (say) the open bugs count goes, or the critical bugs count, or any of the others.16:41
kfogelHow does the content get put in the right place?16:41
adeuringkfogel: the portlet data is pulled from LP via Javascript. Look for lines like "Y.on('domready', function()"16:42
adeuringkfogel: or "Y.one('#bugfilters-portlet-content').set(..."16:42
kfogeladeuring: oh, it replaces the *whole table* ?16:42
adeuringkfogel: I think the portlets are empty without the JS generated stuff16:43
kfogeladeuring: well, according to the source they would have the names, just not the counts.  let me try turning off js to see16:43
kfogelyup16:44
kfogeladeuring: yup -- try it.  the field names are still there, just no data (which makes sense -- because even without the data, at least you can click the link to get to all open bugs or whatever)16:44
kfogelso it's robust: even when no js, it's still useful16:44
kfogelthis is great, I think I know what to do then16:45
kfogelthanks16:45
adeuringkfogel: just add your data to the prortlet "page"16:45
kfogeladeuring: yup16:46
adeuringthe URL is gwibber/+bugtarget-portlet-bugfilters-stats for your example16:47
adeuringkfogel: that's plain JSON data; tehre is probably not even a template for it.16:47
=== beuno is now known as beuno-lunch
* adeuring is talking nonsense. This is HTML data, not JSON...16:48
kfogeladeuring: lib/lp/bugs/templates/bugtarget-portlet-bugfilters-content.pt16:48
adeuringkfogel: right16:49
kfogeladeuring: I'm noticing that some of the other items in that box are conditional, but in a weird way.  For example:16:51
kfogel<tr tal:condition="view/pending_bugwatches_url">16:51
kfogeladeuring: why would something be conditional on the... URL?16:51
kfogelI could understand being conditional on the pending_bugwatches_count, but on the url??16:52
kfogelI mean, the URL is true no matter what, right?16:52
adeuringkfogel: well, yes... but it is generated in the view class, and for whichever reason, it seems that it can be None the empty string or whatever. Don't ask me why ;)16:53
kfogeladeuring: Okay, I won't ask you why, but I'm not going to imitate it either (seeing no reason to).16:54
adeuringkfogel: yeah, that sounds sane ;)16:54
adeuringkfogel: the docstring in the view class has a bit of an explanation: For certain bugtarget, we don't want to or cannot show this sort of data.16:57
adeuringI am not sure if it is that much better to use the numbers insteand as a flag...16:57
adeuringWe may want to show the number zero16:58
kfogeladeuring: I think I'm going to go with showing zero.  UI-wise, that's a bit less confusing to users who are expecting the item to be there.17:00
adeuringright17:01
kfogeladeuring: you're in class BugsStatsMixin in bugtask.py, right?17:01
adeuringkfogel: i think it is BugsInfoMixin17:01
kfogeladeuring: hmm, right below that is BugsStatsMixin which inherits from BugsInfoMixin17:03
kfogelthe former has the URLs, the latter has the counts17:03
adeuringkfogel: ah, right17:03
kfogeladeuring: but for the URL, I'm just appending "+patches" to the context url already17:03
kfogeladeuring: no need for a specialized url function here, right?17:03
adeuringkfogel: no, I dont't think so. Unless the portlet is displayed for some sort of bug target where we don't have the +patches view.17:04
kfogeladeuring: AFAIK that is not the case17:05
adeuringkfogel: right17:05
kfogel(and if it were the case, the right fix would probably be to implement +patches there anyway!)17:05
kfogeladeuring: I'm removing the "story-patch-report" tag from https://bugs.edge.launchpad.net/malone/+bug/17250117:07
kfogeldoes that seem reasonable?17:07
mupBug #172501: reject non-code patch attachements <patch-tracking> <story-patch-report> <Launchpad Bugs:Fix Committed by adeuring> <https://launchpad.net/bugs/172501>17:07
kfogeladeuring: that will leave the "patch-tracking" tag there17:07
adeuringkfogel: that's OK. I also wnated to checkk if I indeed fixed that bug already. Cant remeber....17:07
kfogeladeuring: fix committed17:07
adeuringkfogel: argh, right...17:07
adeuringconfised it woth another bug...17:08
adeuring...confused it...17:08
kfogeladeuring: doing the same thing with other bugs that aren't about the +patches view per se.  for example17:08
kfogelhttps://bugs.edge.launchpad.net/malone/+bug/28394117:08
mupBug #283941: Upstream report should show which reports have patches <patch-tracking> <story-patch-report> <Launchpad Bugs:In Progress by adeuring> <https://launchpad.net/bugs/283941>17:08
adeuringkfogel: sure, np17:08
kfogelderyck: I just ran across this tag "story-patch-report-external" on bug https://bugs.edge.launchpad.net/malone/+bug/40344317:10
mupBug #403443: bug watch should notify when a patch is attached to an upstream bug <bugwatch> <patch-tracking> <story-patch-report-external> <ubuntu-upstream-relations> <Launchpad Bugs:Triaged> <https://launchpad.net/bugs/403443>17:10
kfogelderyck: is that a tag we're trying to use consistently?17:10
deryckkfogel, on phone.  will explain shortly.  sorry17:11
kfogelderyck: I might change to "patch-tracking-external", and put it on bug 283941 as well.17:11
mupBug #283941: Upstream report should show which reports have patches <patch-tracking> <Launchpad Bugs:In Progress by adeuring> <https://launchpad.net/bugs/283941>17:11
kfogelderyck: okay, will wait, np17:11
deryckkfogel, off now. sorry again.17:14
deryckkfogel, so the history there...17:14
kfogelderyck: listening :-)17:14
deryckkfogel, was that jorge had two lines of development he was wanting -- exposing patches LP knows about and getting data about patches in other places (i.e. "external") into the LP patches reports....17:15
deryckkfogel, so that tag was my way of trying to store those kind of second phase, external-related bugs and not lose them17:15
deryckkfogel, you can use or discard it as you see fit now.17:15
kfogelderyck: I'm going to change it to patch-tracking-external17:16
kfogelderyck: and reserve "story-patch-report" for stuff related to the +patches view, which is 90% of how we were already using that tag.17:16
deryckkfogel, sounds good17:16
kfogelderyck: tagging question: in a bug that's really just an XXX cleanup bug related to an existing story (story-patch-report), do we give it the story-patch-report tag?  I'm thinking of https://bugs.edge.launchpad.net/malone/+bug/51558417:17
mupBug #515584: BugsPatchesView:batchedPatchTasks() should use a Zope form, instead of validating form values manually <story-patch-report> <Launchpad Bugs:Confirmed for kfogel> <https://launchpad.net/bugs/515584>17:17
deryckkfogel, in that case, yes, because I think that bug should be fixed before leaving this work.17:18
deryckkfogel, that's not hard to do so we shouldn't let that debt linger.17:18
=== beuno-lunch is now known as beuno
kfogelderyck: *nod*17:18
kfogelderyck: and you want to keep all our "story-foo" tags unofficial, right?17:20
deryckkfogel, yes.17:21
kfogelderyck: ok17:21
deryckkfogel, though don't get me started on the official/unofficial distinction and how I hate it. ;)17:21
kfogelderyck: :-)17:21
kfogelderyck: final tagging philosophy question: most bugs are cleaned up now, but some have *both* the "patch-tracking" tag and the "story-patch-report" tag.  My feeling is, they only need the latter, since we're working on that story right now.  Should I make it so?17:25
deryckkfogel, yeah, I think that's fine.  But there's certainly no harm in multiple-overlapping tags.  it is tagging after all.  anyone can put whatever tag they like.17:27
kfogelderyck: I'm just trying to get unwanted bugs out of people's faces in search results, more than anything else, but yeah, it's no huge harm either way17:28
deryckkfogel, gotcha17:29
=== deryck is now known as deryck[lunch]
kfogelderyck: ok, all bugs that ever had "patch-tracking", "story-patch-report", or "story-patch-report-external" are now consistified into a grand system that, if y'all are lucky, I might explain to you someday.17:35
kfogelno bugs had "patches-view" or "patch-report" AFAICT17:35
* jml offline for a while.17:55
adiroibanis the last line a valid Python code http://paste.ubuntu.com/377709/ ?17:55
salgadoadiroiban, yes, it is17:57
mrevellnight all18:04
=== gary_poster is now known as gary-lunch
=== deryck[lunch] is now known as deryck
kfogeladeuring: very puzzling phenomenon: in this diff http://paste.ubuntu.com/377792/ , if I remove the "|nothing" from the tal:content, then when I visit https://bugs.launchpad.dev/patches-view-test I get an OOPS.  But when I leave the "|nothing" in, everything works fine and it shows "6 Bugs with patches" as it should.  If the count is returning 6 (which is correct), then why would the "|nothing" matter at all?18:39
kfogelderyck: (you might be able to answer above question I aimed at adeuring)18:44
deryckkfogel, you know I don't know.  the is a tal mystery to me.18:45
kfogelderyck: ok :-)18:45
deryckkfogel, what OOPS do you get without nothing?18:46
kfogelderyck: http://paste.ubuntu.com/377800/  (slightly different diff now, but not in any important ways)18:47
kfogelIt's like bugs_with_patches_count() doesn't exist.18:47
kfogelI wonder if this has to do with the double load -- first the18:47
kfogelpage load and then the javascript to fetch the contents for the stats box.18:48
kfogelmaybe the view is defined differently each time18:48
deryckkfogel, ah, right.  That's likely it.  In one context the method exists, in another it doesn't.18:49
kfogelderyck: the only reason I care is that I wanted to do something fancy whereby if it was one patch, it would say "Bug with a patch" instead of the plural "Bugs with patches".  But that's hard to do now because I can't set a tal:condition on a number we don't have yet.  On the other hand, none of the other stats do that, so maybe this new item will just have to sink to the level of its surroundings :-).18:49
deryckkfogel, I vote sink. :-)  It will be uniform, too, unless you see a nice way to do it.18:50
kfogelderyck: if we did do it, we'd want to do it for everything.  sigh -- I really like plural polish, but it's gonna cost too much right now.  Oh well.18:50
deryckkfogel, working back through your statement, I'm not sure I get "a number we don't have yet."  The view rendering the portlet has the number, no?18:51
kfogelderyck: well, I'm a little mystified by how this code is succeeding right now.  As you can see, the text "Bugs with patches" (and now "Bug with a patch") is in the .pt file.  That text is still there after the portlet is rendered.  But all tests indicated that there is at least evaluation of the portlet during which the view does not contain the method in question.18:53
kfogelthen later, it does (because the method returns the correct answer)18:53
kfogelbut at the time when I do the conditional to evaluate plurality, the method apparently does not exist18:54
kfogelwhoa18:55
kfogelderyck: never mind -- test-o or sometihng on my part18:55
kfogelmy plurality thing *is* working now18:55
deryckah, ok.  Nice :-)18:55
kfogelderyck: so does that mean I get to commit it? :-)18:55
deryckkfogel, if it passes review and ec2.... sure. :-)18:55
kfogelhttp://paste.ubuntu.com/377809/  just fyi18:55
deryckkfogel, looks good at a glance to me.  I worry about adding another query to this page, but that's not your code's fault.18:57
kfogelderyck: ah, just as an aside: this is not something we necessarily want to abstract out either.  Do 'find lib/lp -name "*.pt" -print | xargs grep plural' and you'll see many different ways we handle plurals, and they are often context-specific.18:57
deryckkfogel, I was wondering if there was a particular tal'ism for handling this.18:58
kfogelderyck: well, the whole point is the portlet loads separately, so the user doesn't really pay the full cost -- they can start using the page before the portlet is done loading.18:58
kfogel(responding to your earlier comment)18:58
deryckah right18:59
kfogelderyck: lib/lp/app/templates/base-layout-macros.pt:  <tal:plural18:59
deryckstupid me18:59
kfogelbut it wouldn't help me much here, because I have to change the whole phrase18:59
* deryck looks18:59
kfogeloh wait18:59
kfogelit might work18:59
* kfogel reading moer18:59
kfogelmoer18:59
kfogeldang it18:59
kfogel"more"18:59
kfogelderyck: I think maybe I can use that19:00
deryckok, cool19:00
deryckin Django, this is so simple. ;)  {patches_count|pluralize}  and done. ;)19:01
kfogelhah, lib/lp/registry/templates/distroseries-needs-packaging.pt is like the *only* place that uses it right now19:01
kfogelnot even19:03
kfogelhmm19:03
kfogelderyck: for your entertainment: http://paste.ubuntu.com/377818/  (works)19:07
deryckkfogel, nice19:09
=== gary-lunch is now known as gary_poster
leonardrflacoste: i just commented on https://code.edge.launchpad.net/~leonardr/launchpadlib/multiversion/+merge/19343 . do you agree?20:01
flacosteleonardr: well, an alternative would be to use edge/devel by default, no?20:02
leonardrflacoste: do you want devel to be the edge default permanently?20:03
flacosteleonardr: that might actually be a good idea20:03
flacosteleonardr: anyway, i think this is best decided in conjunction with the Ubuntu release team, they may have sorts of policy that i'm unaware of20:03
leonardrflacoste: i'm talking with the release team now. i just came over here to confer with you about this20:04
thumpermorning20:04
kfogelderyck: UI reviews to beuno still, or someone else?20:07
=== salgado is now known as salgado-brb
deryckkfogel, no beuno is gone now20:09
deryckkfogel, noodles is our only ui reviewer now.20:10
kfogelderyck: *sob*20:10
deryckI know20:11
leonardrflacoste: slangasek says "integration with web apps is a small enough use case in the distro that it's not something there's a policy for :)"20:11
kfogelderyck: meaning michael.nelson in launchpad, not "noodles" (who is Jonathan McDowell)20:11
kfogelderyck: that almost messed  me up for a moment :-)20:11
adeuringkfogel: sorry for the late answer.I have not yet a clue why you got the OOPS. But hiding it is via "| nothing" is not the best idea. It hides "serious" exceptions as well, and that makes debugging quite difficult.20:12
kfogeladeuring: oh.  I just took my hint from the other code in that .pt... Do you have a recommendation?20:13
kfogelI have working code right now; I'm reluctant to break it unless I know how to make it work again :-).20:13
deryckkfogel, yeah noodles775 is michael's nick here, I believe.20:14
adeuringkfogel: yes, we have places in the templates where "| nothing" is used. But your reviewer might ask you for a good justification to use it in tis case ;)20:14
adeuringkfogel: but carping aside, can you tell me the branch where you get this odd OOPS?20:16
kfogeladeuring: right now my justification is "because it breaks if I don't do that".  I *think* the reason is that the method doesn't even exist in the view the first time the portlet template is loaded, it only exists the second time (the javascript reload).20:16
kfogeladeuring: lp:~kfogel/launchpad/255868-patches-view-from-bugs-page20:16
adeuringkfogel: OK. So, then you don't need to load it at all the first time?20:16
kfogeladeuring: ...maybe that's what that tal:condition was for, that I was puzzled about earlier!20:17
kfogelit's all coming back to me now...20:17
kfogel  ...the sunken ship, the diamonds...20:17
leonardrflacoste: ok, i have two plans20:17
deryckhave a nice afternoon/evening all.... I'm out.20:17
leonardrflacoste: i've spoken with slangasek and i have two plans20:17
flacostewhich are?20:18
leonardrthe plans differ depending on whether we want 'devel' to be the permanent default for the edge service20:18
leonardrthe restriction placed on my by slangasek is that if there is code (rather than changing defaults) it needs to be in by thursday20:18
flacosteok20:19
flacosteand by in, that means an ubuntu upload20:19
flacostecan we make this?20:19
leonardrif the ec2 test i'm running now succeeds, definitely20:19
flacosteok, you'll need to ping Lucio, the guy that james_w said was maintaining this now20:20
flacostei don't know his irc nick though20:20
flacosteor was it Luca20:20
kfogeladeuring: no, those tal:conditions are slightly different -- they are to url instead of to count.  (If it sounds like I'm a little mystified by how this thing works, it's because I am.  Trying to figure it out.)20:21
leonardrso, plan #1 is to change the launchpadlib trunk so that the default is "beta" instead of "devel" and give that to slangasek/lucio/luca20:21
leonardrplan #2 is to do a little more work so that different instances can have different defaults, set the default for edge to 'devel' and the default default to 'beta', and give *that* to the packagers20:22
leonardri like plan #2 but i don't think we have to do it for lucid20:23
leonardrin either case, after the freeze, once 1.0 is deployed, we'll change launchpadlib so that the default (global default or everything-but-edge default) is "1.0" and do another release20:23
adeuringkfogel: the usage of that template is quite confusing. It is used for +bugtarget-portlet-bugfilters-info and for +bugtarget-portlet-bugfilters-stats. In one case, the view class BugListingPortletInfoView is used, in the other case BugListingPortletStatsView. And only the latter defines the .*count properties.20:37
adeuringso you must use this ugly "|nothing" variant.20:37
flacosteleonardr: sounds good20:39
kfogeladeuring: oooooooooooh20:40
kfogeladeuring: I think this maybe wasn't designed for a newcomer to understand immediately20:40
kfogel:-)20:40
adeuringkfogel: yes; I needed also some time to understand what is going on.20:41
adeuringAnd I think we should file a bug about this craziness.20:41
kfogeladeuring: May I ask you to file that one?  I think you will be better able to articulate what is going on (and I will understand better after reading the bug).20:42
adeuringkfogel: sure20:42
leonardrflacoste, i'm still getting windmill test failures when i run the ec2 tests21:06
leonardrnot a good sign for my chance of landing this branch soon21:08
leonardrbut, i have another idea for cheating a little bit21:08
leonardrif i make the 'beta' change to launchpadlib, i can verify that it works against a stock launchpad21:09
leonardrand do it that way21:09
leonardrit doesn't actually require launchpad to be multiversion, only to support 'beta'21:10
=== salgado-brb is now known as salgado-afk
* thumper caffeinates21:46
* jelmer thinks thumper is onto something21:50
EdwinGrubbssinzui, bac: ping22:06
sinzuihi EdwinGrubbs22:06
EdwinGrubbssinzui: hi, I was looking at https://dev.launchpad.net/Registry/UpstreamLinkUbuntu#Project community services (New)22:06
EdwinGrubbsand it seems to overlap heavily with the application tabs and with the "Get Involved" sidebar links.22:07
sinzuiEdwin yes, it does, I think I mentioned that in my notes.22:07
sinzuiEdwinGrubbs: bac and I are calling this Contributor Connections at the moment22:08
sinzuiEdwinGrubbs: It is different from Involvement, because the former is about getting information upstream, the other is for hosted features only22:08
EdwinGrubbssinzui: it seems like the tabs should indicate whether that application is active for a project, instead of having to click on the tab or having to look inside a portlet22:11
sinzuiEdwinGrubbs: There are a lot of bugs about that. How do you intend to resolve the conflict between many communities: off-site-upstream, hacker using a mirror, translators, answer contacts?22:12
sinzuiEdwinGrubbs: Even if I host my project on launchpad, another user may choose to use answers and translate my app22:12
sinzuiDo I have the right to tell this person to go away?22:13
sinzuiIn the case of Ubuntu, the answer is No, All the the project maintainer can do is state what he officially uses.22:14
EdwinGrubbssinzui: that sounds like a permission issue, which doesn't seem to help decide where to display the LP/offsite info and edit buttons.22:18
sinzuiEdwinGrubbs: No, we are still at an impass. The problem is really in the mind of users who choose to host their project in launchpad. Launchpad is not a project hosting service. It is a set of community services that are attracted to projects and teams22:21
lifelesserrr22:22
lifelesssomeone should tell our staff and users that then22:22
sinzuiEdwinGrubbs: if there was no barrier between reporting a bug and lp sending it upstream automatically, then we Launchpad would include Bugs in the Involvement portlet when ever it knows where the bug tracker is22:23
EdwinGrubbssinzui: that seems to say, if it is easy to submit a bug, look over here in the UI, but if it is hard, look for that info someplace else.22:25
sinzuiEdwinGrubbs: Yes. that is fair statement.22:26
sinzuiEdwinGrubbs: launchpad is successful when it is moving data, when ubuntu bugs do not go upstream, it is a failure. The same is true for bugs in my projects that do no flow upstream22:27
sinzuiEdwinGrubbs: We offer the Involvement portlet so that maintainers can promote the features that use launchpad for.22:29
lifelesssurely 'report a bug' should link to the upstream bug tracker if its not tracking in lp22:29
sinzuiEdwinGrubbs: but communities still need to know where the crucial services are hosted.22:30
EdwinGrubbssinzui: I guess what I'm getting at is that the Involvement portlet could indicate when information is missing that could be filled in.22:30
sinzuilifeless: If the bugs team can make that happen, we should22:30
sinzuiEdwinGrubbs: that is a change in focus. How do you propose to resolve it?22:31
EdwinGrubbssinzui: the involvement portlet could either have grayed out links or it could just have a little warning at the bottom of it. I'm not sure if that is what you are asking.22:34
thumperEdwinGrubbs: hi22:36
thumperEdwinGrubbs: are you aware of the branch sprite issue?22:36
sinzuiEdwinGrubbs: I am asking you to reconcile the demand of one community who want to host  a service offsite against another community that want to host it on launchpad22:37
EdwinGrubbsthumper: nope, what is that issue?22:37
thumperEdwinGrubbs: they aren't showing22:38
sinzuiEdwinGrubbs: I can say support is offered on a forum, and anther person can offer support using Answers. Someone can say the code is in GNOME's git, but Ubuntu needs the code in bazaar.launchpad.net22:38
sinzuiEdwinGrubbs: solve that in the involvement portlet and you will be a hero.22:39
EdwinGrubbsthumper: are you just talking about the yellow bzr icon? On which page is it not showing up?22:41
thumperEdwinGrubbs: https://code.edge.launchpad.net/ubuntu/+source/autoconf-nonfree22:42
thumperEdwinGrubbs: and proposing a merge22:42
thumperEdwinGrubbs: and a merge proposal page22:42
=== jamalta is now known as jamalta-afk
EdwinGrubbsthumper: that was definitely removed in the branch that updated all the sprites so that they could be automated. Sorry about that. I will work on fixing the 4 missing css classes and get that landed today.23:03
thumperEdwinGrubbs: awesome, ta23:04

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