=== debonzi goes dinner
=== debonzi and say good bye
=== kiko [~kiko@200-206-134-238.async.com.br] has joined #launchpad
=== stub [~zen@dialup-] has joined #launchpad
kikohello stub03:23
kikostub, are we on for 11am UTC? 05:43
stubkiko: Sure05:44
kikothough that's not so great because it means I can't sleep. :)05:45
stubI can do later if you want05:46
stubNow is awkward05:46
stubOr tomorrow05:47
kikono, 11am UTC is the time because cprov and debonzi are on for it too. my damage.05:48
=== doko [doko@dsl-082-083-128-203.arcor-ip.net] has joined #launchpad
=== justdave [~dave@] has joined #launchpad
=== stub [~zen@dialup-] has joined #launchpad
=== stub [~zen@dsl-] has joined #launchpad
=== elmo_dc [~james@] has joined #launchpad
=== stubish [~zen@dsl-] has joined #launchpad
=== stub [~zen@dsl-] has joined #launchpad
=== stub_ [~zen@dsl-] has joined #launchpad
=== stub [~zen@dsl-] has joined #launchpad
=== carlos [~carlos@69.Red-80-33-181.pooles.rima-tde.net] has joined #launchpad
=== cprov [~cprov@] has joined #launchpad
=== stubish [~zen@dsl-] has joined #launchpad
cprovstubish: morning, do we have a meet today ?01:41
=== kiko [~kiko@200-206-134-238.async.com.br] has joined #launchpad
kikohey cprov, stubish?01:45
kikoam I late enough?01:45
cprovkiko: 01:47
kikocprov, is stubish around?01:48
cprovkiko: nop, I arrived and stub gots timed out but stubish looks like idle .01:50
=== debonzi [~debonzi@] has joined #launchpad
cprovkiko: yep, we all were late !02:02
=== stub [~zen@dsl-] has joined #launchpad
cprovstub: morning 02:03
=== kiko nudges stub
stubMorning. 02:03
stubJust realized my IRC client wasn't running :-(02:04
cprovstub: nop, do you have time for a brief talk about malone portlet/console on Soyuz ?02:05
kikookay, give me a minute.02:06
cprovstub: nice, we are thinking about how to have a set of minimal/needed information about Bugs from Malone in Soyuz02:07
cprovkiko: ok02:07
=== stub reboots his new ADSL connection again...
=== stubish [~zen@dsl-] has joined #launchpad
kikostubish, cprov: I'm good to go.02:22
kikoso the idea is02:22
kikowe want to display part of malone data in soyuz.02:22
kikopart of the question is: what makes sense to display?02:22
kikoI think we could have:02:22
kiko - for distro and release general statistics02:22
kiko  - for source packages (and bin packages?) more detailed bug counts02:23
kiko  - for packages in particular it would be good to be able to link to malone queries easily02:23
kikoI'm not sure what sort of summarizing facilities malone has available we could use however02:23
kikocprov, can you paste in some of the pages on rosetta.wh for stub to see part of what we want?02:24
stubishAt the moment, you either have to interrogate the database or the SQLObject instances directly02:24
cprovkiko: yes02:25
stubishThere are some existing reports that can be linked to (all bugs for a given sourcepackage).02:25
cprovstub: the first one is https://rosetta.warthogs.hbd.com/soyuz/distros/ubuntu02:26
kikostubish, what about all _open bugs for a given package?02:26
cprovstub: distribituion bugs ( how to retrieve bugs for a distro ? ) 02:27
stubishkiko: For that what you want is a simple select on the SourcepackageBugAssignment02:28
kikostubish, is there any hope you or justdave could cook up some interfaces we could use instead of bitscrubbing ourselves?02:29
stubishcprov: Bugs are assigned to a sourcepackage, and possibly a binary package (or a product, but that doesn't affect you). I don't know how to get from distribution to sourcepackage02:29
kikostubish, consider a distribution to be a "collection" of sourcepackagereleases.02:30
kikostubish, also, it's important to note that there is a distinction -- sourcepackage and sourcepackagerelease -- where both are relevant.02:30
stubishThen sure, we could list all bugs for a distribution (although that is probably a bit silly - probably just want counts for a whole distribution?)02:31
cprovstubish: yes, counter should be nice 02:31
kikoyes, we just want statistics for them, but maybe we want the top priority bugs for that distro?02:31
kikoso a distro manager can tell if people are focusing on the right thing.02:32
stubishre: Me or Dave writing the interfaces - sure, we just need to specify what you need (result of this meeting maybe).02:32
kikowow, that would be awesome.02:33
stubishkiko: That is a good idea, and I think it was one of the original reports speced for Malone. Do you really want that in soyuz?02:33
stubish(top bugs sort of thing, although what that actually means is still a little vague)02:34
kikostubish, a quick list of the top 10 priority bugs in a distro are interesting as part of the distro view, I would think. what do you think?02:34
kikodo you have priorities and severities in malone?02:34
kikowhat about issue type?02:34
cprovstubish: please look into https://rosetta.warthogs.hbd.com/soyuz/distros/ubuntu/releases/warty02:35
stubishWe have priorities and severities, but there are few values so if you are dealing with a distribution you won't get a very good report (if there are 50 critical severity bugs, it is tricky to list the top 10 :-) )02:35
kikomaybe joining severity and priority may help there.02:36
stubishkiko: That might work. We will have some way of listing 'top bugs' though however that is calculated :-)02:37
cprovstubish: nice 02:38
kikostubish, did you get a chance to look at the links cprov posted?02:38
stubishcprov: So you need functions to return those three counts for a distribution? Or is that page still being worked on.02:39
cprovstubish: it's an idea :-)02:39
kikostubish, don't worry, we will file bugs on what we need, as soon as we've agreed it's possible.02:40
cprovstubish: for sure we need better ones02:40
kikocprov, (missing link on "Mark Shuttleworth" to the personal page?)02:40
stubishOk. So I'll put together a small portlet to stick on the distribution page, clicking on which jumps to the relevant full report in malone (action point #1)02:40
kikothat's perfect02:41
=== stubish checks if Malone actually still works on rosetta.hbd...
cprovkiko: what is missed and where ?02:41
kikocprov, the link from release owner to the owner's personal page.02:42
=== cprov the rosetta.hdb DB is broken, again
kikocprov, give stubish a link to gwyd maybe?02:43
cprovkiko: please verify if gwyddion.gwyddion.com:8085 is working ?02:43
cprovstubish: can you try that ?02:45
stubishgwyddion.com ?02:45
=== stubish can't resolve that
dafcprov: Gwyddion is a Welsh name, isn't it?02:46
cprovdaf: yes :)02:46
dafcprov: cool :)02:46
dafcprov: why did you pick that?02:47
stubishCan you give me the IP address of gwyddion.gwyddion.com - it isn't resolving from here (new network connection - dunno)02:47
cprovdaf: tks, from Celtic culture descritption ... 02:48
cprovdaf: I found some nice details that I like 02:48
stubishno bugs on that page - is that the issue?02:50
stubishOne suggestion has been that if you clicked on the 'Malone' tab at the top, it would retain context and show you the bug report for the ubuntu distribution (which would avoid the need to put bug information on many pages, but is less intuitive)02:54
kikostubish, I don't know if I like that too much -- it's too non-obvious, don't you feel?02:54
stubishI think so - it might be implemented in the future for advanced users if the context is similar enough between apps (which might not be the case - Malone knows nothing about SourcepackageRelease's for instance)02:56
stubishBut we won't worry about it for a release or three.02:56
stubishOk... and another portlet on (The soyuz sourcepackage details page?)03:00
stubishAnd on (The soyuz binarypackage details page?)03:02
cprovstubish: there we want to list sourcepackage bugs, maybe the high priority or severity ones 03:02
stubishYup. So that is three portlets identified.03:03
cprovstubish: there is also the person one03:03
cprovstubish: /soyuz/people/103:04
stubishHmm... seems soyuz is ending up with pages I had assumed would be in some central location. This is going to affect the Malone use cases (such as they are...). Where does somebody go if they want to look at their bugs - Soyuz? Malone? or somewhere else?03:05
cprovstubish: it isn't clean enough to me, but I think the right place to see extended bug info is Malone03:06
cprovstubish: we just want to show something like compiled/brief info on Soyuz03:07
cprovstubish: as we might do with rosetta info 03:08
stubishOk - so the portlet on the people page is similar to the distro one - summaries that link to the full reports in Malone.03:09
cprovstubish: are we misunderstand some concept or use case03:09
stubishcprov: No - its more that I'm clarifying things in my own mind :-)03:09
cprovstubish: yes, via 'more bugs" link 03:09
cprovstubish: yes, so do I 03:10
cprovstubish: then I think we have 4 different portlets and we should work on their definition up to now: which info is wanted, how to encapsulated them and so 03:13
stubishI think the way this should be implemented is that I create the views in lib/canonical/malone, and attach them to the relevant soyuz objects. The soyuz page template can then simply do a <div tal:content="context/whatever/maloneportletname" /> to include the info.03:14
stubishThe portlets should stay in Malone, as they will need to be kept in sync with Malone work.03:14
cprovstubish: looks great for me !03:14
stubishThe portlets only link to Malone, so even if the soyuz URL's are changed it won't affect them.03:14
stubishAnd it is only those four screens at the moment? Distribution, person, sourcepackage and binarypackage?03:15
cprovstubish: yes, I think so, at least til our Sprint (alpha maybe :) ) 03:16
stubishI'd be grateful if someone adds them as four seperate bugs in Bugzilla (assign them to me, and they are Malone bugs -- not Soyuz)03:17
kikowe'll do that.03:17
cprovstubish: thank you very much for your help :)03:18
stubishI'll replace the portlets next week with ones that load from Malone. They probably will just contain dummy data or remain blank though, as there is other Malone work that will need to be done first.03:18
cprovkiko: should I report the bugs ?03:18
kikostubish, you're the man.03:19
cprovstubish: no problem, since we have already defined the details, take your time.03:19
kikocprov, let's privchat and see what needs to be done03:20
stubishThis is good, as it means I don't have to worry too much about Malone search pages -- instead, people can navigate in Soyuz and jump across to Malone as required.03:20
kikostubish, about soyuz centralizing things, I have two comments.03:20
kikofirst that it's kind of normal, since soyuz is the "distribution" view of the world, and ubuntu/canonical/... is about distributions.03:21
kikowe're distribution-centric.03:21
kikosecond is that, specifically regarding the *people* side of soyuz, I am somewhat uncomfortable with it living inside soyuz and would pledge to move stuff into a separate, shared application.03:22
kikothat could handle userdata, authentication and the user portal03:22
kikohowever, I haven't seen any push towards this and we're not letting it stop soyuz :)03:23
stubishMalone had a registration screen at one stage -- I think a central area for stuff is required, and we need another03:24
stubishtab for it since it shouldn't live under 'Ubuntu'03:24
kiko"people" worksforme, but mark's the boss.03:24
stubishAnyway - I think that is enough for now (leave it before I get more work ;) )03:26
kikoright. 03:26
stubishThanks for waiting for me - sorry about getting here late.03:26
kikoit was really convenient.03:27
debonzistubish, thank you for your help03:28
stubishYou are here! :-)03:29
kikodebonzi the silent one <tm>03:29
debonzidebonzi, :)03:33
kikodebonzi, I have a question.03:42
kikoCurrent: is empty -- what does that mean? we should have text there explaining if empty is a "normal" situation.03:42
cprovkiko:  there is no bin for kiwi03:44
kikocprov, okay, but then we should say "There are no binary package releases currently generated for this package"?03:44
cprovkiko: I agree :)03:45
kikookay, I'll bug bonanza03:45
cprovkiko: yep :)03:45
debonzikiko, I will do that03:46
carlosdaf: here?03:59
dafI've just submitted a merge with the real principal->person adapter04:01
carlosso, we are ready to publish the alpha as soon as the 1978 is close04:02
dafand we've imported the data04:03
carlosdaf: well, that's a matter of server time04:03
dafonce you've star-merged my latest patch, can you test #1930?04:04
carlosis the merge confirmed?04:04
dafnot yet04:05
dafI think #1969 is done04:06
dafoh, no, wait04:06
dafstill the maintainer dashboard and the PO edit form are not restricted04:07
=== stub [~zen@dsl-] has joined #launchpad
dafcarlos: ok, merge success04:11
carlosdaf: ok04:11
=== carlos executes star-merge
dafhmm, we have no plural form information for Catalan04:14
carlosdaf: I think it's the same on than Spanish, let me ask Jordi04:14
dafs/same one than/same one as/ :)04:16
=== carlos tries to remember all that :-D
dafthan/from/as are confusing04:17
dafgreater than, different from, same as04:17
carlosdaf: well, my main problem is that last time I was learning english was about 9 years ago04:17
carlosI need to retake my English studies04:18
dafnonsense, I think you have been learning English since about May :)04:18
=== stub_ [~zen@dsl-] has joined #launchpad
carlosI mean "study" it04:18
dafI know :)04:18
dafok, so what's our plan for the rest of today?04:19
carloshmm, I'm testing it, but my database seems to be broken :-?04:20
carlosit == your patch04:20
carlosdaf: we have two options:04:20
dafI had a problem with Epiphany04:20
dafit was remembering form values04:20
carlos1.- Try to debug and fix the 1978 you and me04:21
dafI had to resort to Firefox04:21
carlos2.- Start implementing the scripts we were talking about with Steve to import data04:21
dafyeah, I guess those are our options :-/04:21
carlosdaf: I don't think it's the same problem I'm having, seems like I don't see the evolution sample data 04:21
carlosdaf: any way to talk with lalo?04:22
dafoh, it's saying "No recently translated templates."?04:22
carlosthat's my problem04:22
carlosreloading the database04:22
carlosperhaps it's because I'm not logged04:23
carlosand thus I don't have any language...04:24
carlosyes, that was the problem04:24
dafyou should have to be logged in to see it04:25
carlosdaf: perfect, you patch works04:25
carlosI added a new translation to evolution04:25
carlosand it appears in my dashboard04:26
dafwoo, a bug to close!04:26
carlosdaf: btw, we should show the resource list to anonymous people, and asking for a login if they click on translate it04:26
dafI agree04:27
dafI think that's what we're currently doing, isn't it?04:27
carlosdaf: are you using labels for the dashboard thing?04:27
carlosdaf: not really, anonymous don't have a language list so the list is empty04:27
dafoh, I see04:28
dafyes, there's a bug open for that04:28
carlosdaf: ok04:28
carlosso, next step?04:28
carlosif we cannot talk with lalo, I think we should work on fixing the bug, IMHO it should be closed today04:29
dafclosing bugs is a nice feeling :)04:30
carlosdaf: you forgot to remove some debug prints about the translation form:04:30
carlos>>> msgid found (es, evolution addressbook)04:31
carlos>>> old_translations:04:31
carlos[u'libreta de direcciones de Evolution'] 04:31
carlos>>> msgid found (es, current addressbook folder)04:31
carlos>>> old_translations:04:31
carlos[u'carpeta de libretas de direcciones actual'] 04:31
carlos>>> msgid found (es, have )04:31
carlos>>> old_translations:04:31
carlos[u'tiene'] 04:31
dafyeah, they need to go :)04:31
dafand you forgot a space in u'tiene ' :)04:31
carlosno, I don't04:32
carlosthat string comes from the sample data04:32
dafoh, right, that's the old one :)04:33
carlosnow that you said that..04:34
carlosis there any way (with javascript) so we show the user the same "icons" for the return char and the spaces inside the edit input?04:34
dafno idea04:34
dafalso, we should get rid of the information shown when the form is submitted04:35
carlosthat way the UI will be improved ..04:35
carloswe should ask limi post-alpha04:35
=== stub [~zen@dsl-] has joined #launchpad
dafcarlos: we still have .encode('utf-8') in sql.py04:37
dafseveral times04:37
carloswe can nuke them 04:38
carlosor we should :-P04:38
dafwe should04:38
carlosok. I'm going to do a review of all import code04:39
carloslooking for the bug04:39
carloscould you take care of the encode calls?04:39
dafa test case would be good :(04:39
daffor 1978, I mean04:39
carlosI will review then the current test case04:40
carlosbecause they should detect the bug04:40
carlosand they are not doing it04:40
carlosso we have a bug with our bug detector :-P04:40
dafdo you think it would be reasonable to add "assert isinstance(foo, unicode)" to sql.py in places where it's calling ".encode('utf-8')"?04:41
dafin order to make sure nothing is passing strings in04:41
carloshmm, don't know04:42
stubdaf: Sounds good to me.04:42
carlosdaf: with your changes to the auth code, could you close any of the Steve's bugs?04:43
dafstub: groovy04:43
dafcarlos: perhaps, I'll check04:44
dafwell, I think #1908 is probably closable04:45
dafbut strictly speaking, the bug is that Steve should check it04:45
dafso I won't close it04:45
carlosdaf: then punt it to post-alpha04:45
dafsimilarly for #190704:45
dafI'll wait to see if Steve turns up today, I think04:46
dafbut I will punt if we're waiting on them alone04:46
dafthat means we only have #1907, #1908 and #197804:49
daf3 open bugs in the list, 3 open bugs04:49
dafmerge a patch, mark it fixed04:50
daf2 open bugs in the list04:50
=== spiv [~andrew@82-69-60-252.dsl.in-addr.zen.co.uk] has joined #launchpad
carlosdaf: the functional tests fails checking the sql interface about efforts (I think it fails because the DB is empty...)05:06
dafI think you're right05:06
carlosany way to fix it until we start using it?05:07
=== carlos thinks on remove those classes from the ftests
dafyou can remove them temporarily05:08
dafor comment them out05:08
dafthat would be better05:08
carlosok, done05:09
carlosnow I get an error with the poimport test05:09
carlosTraceback (most recent call last):05:10
carlos  File "/home/carlos/Work/dists/launchpad/lib/canonical/rosetta/ftests/test_poimport.py", line 28, in setUp05:10
carlos    canonical.lp.initZopeless()05:10
carlosNameError: global name 'canonical' is not defined05:10
carlosshould I export the PYTHONPATH for the unittest?05:10
spivAt a guess, "import canonical.lp "?05:10
dafhmm, it should be doing that05:11
carlosspiv: bingo05:11
kikohey spiv05:11
dafspiv: perhaps the test generator is buggy, then05:11
spivkiko: Hey, how's it going?05:11
carlosdaf: no, that's from a manual test (the test_poimport.py) it's not about the interface test05:11
dafoh, right05:12
kikospiv, quite well. had a *great* talk with stub this morning, he rocks.05:13
=== carlos is happy to know that the functional tests are not executed with every pqm merge
=== debonzi lunch
spivkiko: Great :)05:19
spivkiko: My email is down, but you (or someone) will be sending a summary to the list?  Or perhaps you have already?05:19
=== spiv hates it when email is broken
dafcarlos: did you get a reply from jblack about the PQM wedginess?05:20
=== stubish [~zen@dsl-] has joined #launchpad
dafspiv: again? :(05:20
spivdaf: Yeah.05:20
carlosdaf: no05:21
carlosdaf: he said that will ask lifeless05:21
dafcarlos: right05:21
dafwell, it's not an urgent problem right now05:24
=== carlos fixed the functional tests so they pass now
carlosI should "break" them again05:27
carlosso they detect the bug 05:27
kikospiv, I can get you pasteback.05:27
kikocarlos, is justdave currently the only bugzilla admin we have?05:29
carloskiko: hmm, I'm not completely sure05:30
carlosbut I think so05:30
spivkiko: Thanks!05:32
kikospiv, cprov and I got together today too and we think we're mature enough now to start using bugs to track work05:33
kikospiv, how do you feel about that?05:33
kikowe're finding it hard to keep track with wiki lists at this point05:33
spivSounds good to me.05:33
kiko(they grow long)05:33
spivI've just started doing that myself, and it's working well for me so far.05:33
kikospiv, so I'm going to kill 30 minutes today moving stuff from the wiki into bugzilla, as soon as justdave clears my privs.05:33
spivGo for it.05:34
dafkiko: come and join us in bug-oriented task management land :)05:36
kikodaf, remember, I'm a Bugzilla maintainer :)05:38
dafI didn't know that!05:38
kikoI am being very very silly.05:41
dafwhat have you done now? :)05:42
kikorequested privs on bugzilla.no-name-yet.com. 05:42
dafsilly kiko05:43
kikomaybe I should take a one-week holiday.05:43
carlosdaf: sorry, one more bug for the alpha (but could be punted)05:43
dafcarlos: no worries05:43
kikolondon sounds like a nice destination05:43
carloskiko: :-P05:43
carloskiko: spain is hotter05:43
dafkiko: yes, it's er, nice at this time of year05:43
kikojust make sure nobody insists on me working for that week05:44
dafcarlos: do you think you can fix it?05:45
dafcarlos: or would you like me to try?05:45
carlosdaf: it's too easy05:47
carloswe need to append a white space05:47
carloswhen exporting translators comments05:47
carlosthat's all05:47
carloswell, prepend05:47
dafdoes it work with multi-line comments?05:47
dafi.e. the space could affect wrapping05:48
carlosno idea05:48
carloswe are talking about comments from a .po file05:48
spivGah, I don't have email... which makes merge requests annoying.05:48
carlosso if they where right inside the .po file05:48
carlosthey should be also correct with our exported .po file05:48
dafspiv: would you like me to make a request on your behalf?05:48
spivdaf: Well, I can do it, it just takes a bit of mucking around :)05:49
dafspiv: ok05:49
spivThis merge isn't urgent, so I'll do some more work then worry about it.05:49
kikohave you been seeing weird PQM commit messages for merges? it's including now changes made by others.. is that correct?05:51
carloskiko: know bug05:51
kikothat changed around this week, AFAIK05:51
carlosI'm the master05:51
carlosand I affect all your commits05:51
carlosI'm the king!!!!05:51
kikocarlos, I always knew you were the master!05:52
spivNot recently, but then I haven't gotten any email today...05:52
carloskiko: I reported it already to arch team05:52
carloskiko: it's the second time it happens05:52
kikothat's freaking me out05:52
spivI thought that symptom was a result of the "crossing the streams" issue?05:52
carlosso they should know how to fix it05:52
carlosspiv: it's possible, I had my archive broken yesterday05:52
spivcarlos: Oh well, I presume the arch team will sort it out :)05:53
kikoin arch we trust?05:54
carloskiko: it's our god and we should trust always it05:55
spivkiko: Basically, yes :)05:55
=== kiko mutters something incomprehensible under his breath and goes back to bugzilla
carloskiko: if you are bored... you could help us with the #1978 O:-)05:56
=== carlos hides
kikoI need some Xanax. Cheap Prescription Drugs keep you awake all night long.05:57
dafcarlos: you don't need to hide -- you are the king!05:57
carlosdaf: true!!!!05:57
carloskiko: sugar, you only need sugar :-)05:58
dafkiko: yeah, if you can't get sleep, try substituting food05:58
carloskiko: I was able to be awake 36 hours only with that :-D05:58
kikospiv, bug 1956 is solved, even without the sample data (debonzi added it manually).06:00
kikospiv, are you happy if I break the dependency, add a note to 1956, and reassign and resolve it?06:00
=== spiv looks
spivkiko: Well, part of the point of that bug is to import not just real data, but a realistic quantity of it.06:04
spivSo I guess as a start I should update the bug to make that fact obvious ;)06:04
kikoI'm sorry.06:04
spivBut you're right that it no longer blocks 1955.06:04
kikoI'm talking about 1955. 06:04
kikoso the answer is yes?06:04
spivOk :)06:04
=== kiko kicks rosetta.warthogs
carloskiko: hey!!06:07
dafkiko: it's no longer automatically updating06:08
dafkiko: mea culpa06:08
kikoand it's also currently broken. nice. :)06:08
dafkiko: works for me06:09
dafthat's Soyuz broken, then :)06:11
=== daf puts his magix fix0rating wand away
=== carlos goes to take a shower and to get dressed
carlossee you later06:12
dafcarlos: that's the best thing about this job06:13
kikonaked coding?06:13
dafkiko: YES!06:13
carlosdaf: well, I have the same thing since wednesday night...06:13
carloskiko: X-)06:13
carloskiko: :-P06:14
carlosperfect and my server is down now06:15
kikodude, the canonical bugzilla is really hidden06:17
cprovkiko: err try to do all the work by yourself ?06:25
=== spiv blinks
spivI just looked at this window, and the first two things I saw were about a "magix fix0rating wand" and "naked coding".06:26
kikoyou missed Xanax and Cheap Prescription Drugs?06:26
cprovspiv: hi, guy, how is it going with soyuz ? any news ?06:27
spivThankfully, yes.06:27
spivcprov: Well my email is down :(06:27
kikocprov, that's like saying how is it going with life? :)06:27
spivSo if there's any news, I haven't heard it ;)06:27
=== cprov phone
dafspiv: so much to do, so little sleep...06:28
=== cprov back again
cprovspiv: I'm just implementing People with no differences between Person and Team, quite simple and easy.06:33
kikothough I am unhappy with that :-/06:34
cprovkiko: why ? look in DB there is no Team, I mean Team is a Person anyway :-|06:36
kikoI think the pages should be different, but..06:37
kiko(avoiding ifs)06:37
cprovkiko: yeah, the page will have just few differences in "private info" just it 06:38
cprovkiko: you still can assign a bug to a Team06:39
kikoi guess.06:39
cprovkiko: or have a Team email06:39
kikoyeah, teams need email.06:39
cprovkiko: or have a Team as maintainer for a pkg06:39
cprovkiko:  so, everything you can do to a person :)06:40
=== debonzi University Test :(
dafdebonzi: ?06:45
cprovkiko: please, just have a look on gwyddion.gwyddion.com/soyuz/people06:48
cprovkiko: hurry up, I have a test in 10 min :)06:48
debonzidaf, yep06:49
dafboth of you have an exam?06:49
debonzidaf, yep.. the same06:49
dafgood luck!06:50
debonzidaf, Thanks.. Ill need :)06:50
dafwhat's the test on?06:50
debonziEletromagnetism (ARRRGGHHH) :)06:50
cprovkiko: ping06:50
dafurg :-/06:50
=== daf back shortly
cprovkiko: the link, quick look, 2 min06:54
cprovkiko: search or see the entire list06:54
kikoyes, I've noticed06:55
cprovkiko: we have person and teams on same level :)06:55
cprovkiko: do you think it works for us ?06:55
kikoIam confused only by one thing: Email: Mark Shuttleworth?06:56
cprovkiko: +edit and real roles soon06:56
cprovkiko: owner ... try again :)06:56
kikoand the case-sensitivity problem? 06:56
kikois that team lead or something?06:57
cprovkiko: yes soon too :)06:57
cprovkiko: teamowner to be precise !06:57
cprovkiko: time is over ... see you in one hour 06:59
kikodo it!06:59
=== kiko is now known as kiko-fud
=== carlos is back with new energy
carlosdaf: ping07:50
carlosnothing, sorry07:51
dafsilly carlos :)07:53
dafspiv: any idea how I would go about setting up a dummy adapter for use in a unit test?08:16
spivYou probably want to use the PlacelessSetup mixin.08:17
spiv(e.g. lib/canonical/lp/placelessauth/tests/test_authutility.py does this)08:18
spivThat file also has an example of registering an adapter: "ztapi.provideAdapter(IHTTPCredentials, ILoginPassword, BasicAuthAdapter)"08:18
daflooks just like what I need, thanks08:19
spivBasically, model your unit test after TestPlacelessAuth in that file :)08:19
dafI already have a test08:19
dafbut it broke after a code change I just made08:19
spivFrom #ubuntu... <psi> how would I send in a translation of the Computer menu? many entries there are not translated to swedish08:20
dafI wish I could say "go to Rosetta" :)08:20
spivIt'll be good when rosetta is done :)08:20
=== kiko-fud is now known as kiko
carlosdaf: could you look at #1985 ?08:29
dafcarlos: what's the problem?08:31
carlosdaf: reread it, please, I added a comment08:32
carloswe could punt it post alpha, but I don't agree08:32
dafok, I see your comment now08:33
carlosI mean that I don't agree on the current behaviour08:33
carlosI did changed it to post alpha08:33
dafcarlos: I've commented08:42
=== carlos thinks if we should add a flag to a pomsgset to mark it as a pluralform
carloswell, to all pomsgsets :-P08:54
kikocprov, I'll need to get to the bugs tonight, I have other problems to handle.09:42
cprovkiko: ok09:56
=== carlos hates debug!!!!
carlosdaf: I think I found the problem10:44
carlosdaf: yes10:47
carlosall msgids are inserted as plural forms10:47
carlosseems like "" is taken as a valid string10:48
carlosinstead as a "we don't have a message here"10:48
carlosI'm tracing the code until I get the exact point where the checks fails10:49
carlosdaf: could you look at pofile_adapters.py?10:54
carlosline #29310:54
dafI see it10:54
carlosdaf: is that correct?10:55
=== carlos is lost
carlosit always fills the plural form??10:56
daf                raise POInvalidInputError('PO template has msgstrs', 0)10:56
dafthat is my line #29310:56
carlos-> proxy.msgidPlural = kw.get('msgidPlural', '')10:57
carlos> /home/carlos/Work/dists/launchpad/lib/canonical/rosetta/pofile_adapters.py(173)_set_msgidPlural()10:57
carlos-> if old_plural is not None:10:57
carlos(Pdb) n10:57
carlos> /home/carlos/Work/dists/launchpad/lib/canonical/rosetta/pofile_adapters.py(176)_set_msgidPlural()10:57
carlos-> self._msgset.makeMessageIDSighting(value, 1, update=True)10:57
carlos     try:10:57
carlos            proxy.msgidPlural = kw.get('msgidPlural', '')10:57
carlos            if kw.get('msgstr'):10:57
carlos                raise POInvalidInputError('PO template has msgstrs', 0)10:57
carlos            proxy.commentText = kw.get('commentText', '')10:57
carlos            proxy.sourceComment = kw.get('sourceComment', '')10:57
carlos            proxy.fileReferences = kw.get('fileReferences', '').strip()10:57
carlos            proxy.flags = kw.get('flags', ())10:57
carlos            plurals = [] 10:57
carlos            for inp_plural in kw.get('msgstrPlurals', ()):10:58
carlos                if inp_plural:10:58
carlos                    raise POInvalidInputError('PO template has msgstrs', 0)10:58
carlos                plurals.append(inp_plural)10:58
carlos            proxy.msgstrPlurals = plurals10:58
carlos            proxy.obsolete = kw.get('obsolete', False)10:58
carlos            proxy.flush()10:58
carlosmine is the try:10:58
carlosWhat I don't understand is if there is a kw.get... why the trace executes the set_msgidPlural10:59
=== carlos does not understand all this code, so perhaps he's missing something
carlosthe error is at this point, I'm sure, because is where the "" string is created into the database and it does not comes from the .pot11:00
dafI think this code needs more comments11:01
carlosdaf: agree11:02
carlosyes, that's exactly the problem11:14
carlosthe plural form is always inserted althought it's ''11:14
dafwhy is the parameter there at all?11:15
carlosno idea11:15
carlosbut 11:15
carlosproxy.msgidPlural = kw.get('msgidPlural', '')11:15
carlosis what is fucking all 11:15
carlosthe proxy.msgidPlural executes the set_msgidPlural11:16
carlosand then the plural form is inserted into the database11:16
carlosas ''11:16
=== carlos preparing a comment to the bug report
carlosdaf: but I don't have a idea about how to fix it11:17
carlosbecause I don't understand that code11:17
dafI think it should be something like11:17
dafif kw.get('msgidPlural', '') != '':11:18
daf    proxy.msgidPlural = kw.get('msgidPlural')11:18
carlosmakes sense11:18
carlosI will try it now11:18
carlosas soon as I finish with the bug comment11:18
=== carlos restoring the db to test this fix
carlosdaf: I don't understand why kw.get('msgidPlural'...) returns '' if the msgidPlural field does not exists...11:22
carlosor I think it should not exists...11:22
dafthat's what .get does for dictionaries11:23
dafperhaps this would be better:11:23
dafif 'msgidPlural' in kw and kw['msgidPlural']  != '':11:23
daf    ...11:23
carlosdaf: works!!!11:24
carlosbut we still have a bug, the msgid is marked as non current11:24
carloslaunchpad_test=# SELECT * from pomsgidsighting where pomsgset=24;11:25
carlos id | pomsgset | pomsgid |       datefirstseen        |        datelastseen    | inlastrevision | pluralform11:25
carlos 28 |       24 |      98 | 2004-09-17 23:24:38.720409 | 2004-09-17 23:24:38.720409 | f              |          011:25
carlos(1 row)11:25
carlosIt comes because at sql.py it's created with it set to false11:25
carloswe need to change it into true at any point11:25
dafwhen you set one to true, you also need to set all the others to false11:31
carlosseems like current code11:32
carlosdoes that only with plural forms11:32
carlosbut the singular string for that plural form is never updated11:33
carlosI think I see a way to fix it11:34
carlosbut we need lalo's review to be sure the changes will work11:34
carlosI mean, will not break anything else11:34
carlosdaf: could you look at makeMessageIDSighting method from sql.py?11:37
carlosI think it has also a bug11:38
carlosit only marks as "inLastRevision" the plural form part11:38
carlosbut not the main msgid11:38
carlosjesus, this is a madness11:42
dafI'm looking at makeMessageIDSighting11:43
dafif pluralForm == 0, doesn't messageID 0 get updated?11:44
carlosdaf: yes, sorry about that. That function is correct11:46
carlosI misunderstood it 11:46
carlosdaf: so here is the situation11:46
carlos1.- We insert a pomsgid with inLastRevision=False (by default is that value)11:46
carlos2.- If there is any plural form, we insert it and then change its inLastRevision = True11:47
carlosI think we should add a call to makeMessageIDSighting for the pomsgid here:11:47
carlos            msgset = self.potemplate.messageSet(msgid)11:48
carlos        except KeyError:11:48
carlos            msgset = self.potemplate.createMessageSetFromText(msgid)11:48
carlos        else:11:48
carlos            try:11:48
carlos                msgset.getMessageIDSighting(0, allowOld=True).dateLastSeen = "NOW"11:48
carlos            except KeyError:11:48
carlos                # If we don't have any MessageIDSighting, we shouldn't fail.11:48
carlos                pass11:48
dafwhere does step 1 happen?11:48
carlosafter that code11:48
carlosthe code I pasted 11:48
carlosline #28211:48
carlosit looks for that msgid, if it does not exists it's created11:49
carlosbut I don't understand the else clause for that try11:50
dafyou mean the except claue?11:51
cprovspiv: ping11:51
carlosthe except KeyError is ok for me 11:51
carlosbut the else:11:51
cprovdaf: you ..ahah brief help with sqlobject ?11:51
carlosI don't understand it11:51
dafcprov: what's the problem?11:52
dafcarlos: oh, the outer try:11:52
carlosmsgset will not have any value if we get a exception, right?11:52
cprovdaf: TeamParticipation.selectBy(teamID=self.id) 11:52
carlosdaf: yes11:52
cprovdaf:  I want to join the person table too and select just results with teamoner not NULL11:53
carloscprov: do you know the MultipleJoin option?11:53
cprovdaf: ie. I want just the team not the persons11:54
spivcprov: pong.11:54
carloswell, method :-P11:54
cprovdaf:  not used to it !11:54
cprovspiv: help using MultipleJoin()11:54
dafcarlos: I'm having a hard time understanding the code also11:54
carlosdaf: ok, I will fix it as I think it should work11:54
carlosand we will care about it later...11:55
spivcprov: To do a join in a select, you need .select, not .selectBy, unfortunately.11:55
spivcprov: TeamParticipation.select("team = %d AND Person.id = TeamParticipation.person AND Person.teamowner IS NULL")11:56
cprovspiv: I suspect, did you undestant my aim ?11:56
spivEr, I meant IS NOT NULL :)11:56
cprovspiv: you are the man !11:56
spiv(plus, you can't test for NULL/NOT NULL with selectBy either :( )11:56
dafcarlos: I'd love to see more comments in this code11:57
spivOh, and you'd need to do '% self.id' after that string, of course :)11:57
carlosdaf: me too, but lalo is not available now11:57
dafcarlos: right11:57
dafcarlos: we might be able to add some ourselves11:57
=== cprov testing spiv magic
dafI think lalo's code is a bit cryptic sometimes11:58
carlosspiv: could they use the MultipleJoin method to do a Join against the same table?11:58
spivcarlos: That's an interesting thought.11:58
cprovspiv: just have a quick look on gwyddion.gwyddion.com:8085/soyuz/people, please :)11:59
carlosdaf: I will check if I'm right and I will try to add the comments I'm sure are right :-)11:59
carlosspiv: what does it means? that it's possible or that you are not sure? :-P12:00

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