/srv/irclogs.ubuntu.com/2005/10/08/#launchpad.txt

=== bradb_ [n=bradb@modemcable033.209-70-69.mc.videotron.ca] has joined #launchpad
=== tambaqui [n=patricia@200-208-50-168-mns.cpe.vivax.com.br] has joined #launchpad
=== bradb_ [n=bradb@modemcable033.209-70-69.mc.videotron.ca] has left #launchpad []
=== stub [n=stub@203-214-4-72.dyn.iinet.net.au] has joined #launchpad
salgadohi stub 03:14
stubMorning03:15
salgadostub: can we test the shipit exports on staging before it goes to rocketfuel?03:17
stubsalgado: Sure. Is it just web ui, or do I need to run something?03:17
stubOh.. you mean I need to rollout a particular branch03:18
stubSure03:18
salgadostub: yes, get the changes from my branch 03:18
stubsalgado: What is the branch?03:18
salgadoyou would need to run the cronscript03:18
salgadostub: guilherme.salgado@canonical.com/launchpad--shipit-exports--003:19
stubsalgado: The staging is currently being rebuilt so I will need to wait until that is complete.03:24
salgadostub: sure. no problem at all03:26
salgadostub: btw, what patch number should I use for that db patch?03:26
stubsalgado: It will probably be another hour before I can start. If you let me know the cronscript to run and any special instructions you can go to bed ;)03:26
stub25-34-003:27
salgadostub: you need to run cronscripts/shipit-exports.py with both --priority=high and --priority=normal03:30
salgadothat should be everything that needs to be done03:31
stubok03:38
salgadoI mean, need to run it two times03:38
=== Lathiat [i=lathiat@gasp.bur.st] has left #launchpad []
=== alwaysON [i=sirking@ipdial-174-136.tri-isys.com] has joined #launchpad
dilysMerge to rocketfuel@canonical.com/launchpad--production--1.34: Cherry pick patch-2560 into production 1.34 (patch-20: rocketfuel@canonical.com, guilherme.salgado@canonical.com)04:17
=== SnakeBite [n=SnakeBit@84.242.143.64] has joined #launchpad
dilysMerge to rocketfuel@canonical.com/launchpad--production--1.35: Cherry pick patch-2560 into production 1.35 (patch-2: rocketfuel@canonical.com, guilherme.salgado@canonical.com)04:48
=== tambaqui [n=patricia@200-208-50-168-mns.cpe.vivax.com.br] has joined #launchpad
=== SnakeBite [n=SnakeBit@84.242.143.64] has joined #launchpad
=== netjoined: irc.freenode.net -> zelazny.freenode.net
=== johnl [n=johnl@trantor.org.uk] has joined #launchpad
=== rbelem [n=rodrigo@200.246.97.164] has joined #launchpad
=== bradb [n=bradb@modemcable033.209-70-69.mc.videotron.ca] has joined #launchpad
=== tritium [n=michael@pcp0011975002pcs.sandia01.nm.comcast.net] has joined #launchpad
tritiumHi.  I merged two launchpad accounts (rimbert and mrimbert) into rimbert.  I'd like to change my launchpad name to mrimbert, but can't, as it says the name is already in use.06:26
lifelesstritium: it preserves the old name. can you do me a favour and file a bug on launchpad in launchpad..06:26
lifelessstub and I had a discussion about this, and this is the proof I needed ;006:27
tritiumOkay, lifeless.  Thanks.06:27
tritium:)06:27
tritiumlifeless, actually, how do I file a bug against launchpad itself?  I can only seem to file against launchpad-integration06:31
lifelesshttps://launchpad.net/products/launchpad/+bugs06:31
tritiumthanks06:31
=== stub [n=stub@203-214-4-72.dyn.iinet.net.au] has joined #launchpad
lifelessstub: 14:26 < tritium> Hi.  I merged two launchpad accounts (rimbert and mrimbert) into rimbert.  I'd like to change my launchpad name to mrimbert, but can't, as it 07:49
lifeless                 says the name is already in use.07:50
tritiumlifeless, I did file a bug, by the way07:50
lifelesstritium: sweet, thanks07:50
tritiumthank you too :)07:51
=== rbelem is now known as rbelem-zzz
=== _Rappy_ [n=hunt-pre@dsl-253-122.monet.no] has joined #launchpad
stubtritium: Fixed. When did you merge the accounts by the way? This issue should no longer be happening.07:58
tritiumstub, wow, that was fast!  This was 1.5-2 months ago07:59
tritiumThanks for the rapid response!07:59
stubtritium: ok. before the bug fix. Ta ;)07:59
tritium:)07:59
=== stub fixes the other 73 affected while he is at it
tritiumyou guys rock08:01
=== ddaa [n=ddaa@ordo.xlii.org] has joined #launchpad
=== lifeless_ [n=robertc@dsl-1.27.240.220.dsl.comindico.com.au] has joined #launchpad
=== zorglub [n=zorglub@194.146.226.84] has left #launchpad []
tritiumgood night!08:12
=== tritium [n=michael@pcp0011975002pcs.sandia01.nm.comcast.net] has left #launchpad ["Leaving"]
=== sabdfl [n=mark@host217-37-231-22.in-addr.btopenworld.com] has joined #launchpad
sabdflmorning all08:19
Burgundaviabradb, grumble. Your malone has dumb bug mail. It causes dumb things like the email I am forwarding to you know08:24
KinnisonMorning all08:26
Kinnisonsabdfl: Dude, what time do people tend to get to the office?08:26
sabdflby 9 usually08:27
Kinnisonokay. Scott woke me with an SMS at 06:2008:27
Kinnison(which was nice)08:27
Kinnisonand my first shower failed to have hot water due to me being so damned sleepy as a result08:27
=== Kinnison mumbles something incredibly rude about cold showers before 7am
SteveAhi08:28
SteveAbuilds character dude08:29
KinnisonSteveA: \U{TWO FINGERED SALUTE}08:29
SteveAa friend of mine went to an english boarding school: they said the same about buggery in the dormitories. "builds character"08:33
=== Burgundavia notes that starving kids in boarding school also "builds character"
=== Kinnison sighs. It's 07:34 and we're talking about cold showers, institutionalised buggery and starving kids.
KinnisonThis could only be #launchpad08:34
=== Kinnison goes to breakfast
Kinnison<fx:sound src="fading footsteps" />08:35
=== ddaa looks at the clock
ddaamh, gotta go fetch some eclipse glasses, there's a partial sun eclipse starting in half an hour here08:48
=== robitaille [n=robitail@d154-5-117-228.bchsia.telus.net] has joined #launchpad
KinnisonWhat is the correct way to ensure a librarian is running for a given doctest?09:19
=== GoRoDeK [n=gorodek@p5083F5E9.dip.t-dialin.net] has joined #launchpad
=== Kinnison heads to the office
bob2you're in london?09:28
Kinnisonbob2: aye09:56
=== Virtuall[BZA] [n=virtuall@who.is.virtuall.info] has joined #launchpad
jordiI need help from a Launchpad admin.10:01
Kinnisonwhat do you need?10:01
jordi23:44 < jordi> https://launchpad.net/products/xqf/+series/main/+pots/quicktour/+admin <--- can't access this, can you do an operation here?10:02
jordi23:45 < jordi> this quicktour thing needs to be reassigned to the ubuntu-docs product. Can you do this?10:02
=== Virtuall[BZA] [n=virtuall@who.is.virtuall.info] has joined #launchpad
=== Kinnison looks
Kinnisonjordi: ubuntu-doc/main ?10:04
stubKinnison: Make sure LibrarianTestSetup().setUp() and LibrariaTestSetup().tearDown() is invoked. If you mean the tests in launchpad/doc, most of them that need the Librarian do this explicitly10:05
Kinnisonstub: thanks dude10:05
=== Kinnison pokes jordi with a "hello?" stick
jordidamn, sorry Kinnison 10:07
jordiKinnison: I think so, yes.10:07
ajmitchhey jordi 10:08
KinnisonIs that right? xqf's template reassigned to ubuntu-doc ?10:08
jordilety me conform something10:08
jordiconfirm even10:09
jordiKinnison: it's ubuntu-docs in the breezy distro10:10
Burgundaviajordi, wondering why the quicktour is not listed here? https://launchpad.net/products/ubuntu-doc/+translations <-- do I need to wait for something to happen server-side?10:10
=== sabdfl [n=mark@pdpc/supporter/silver/sabdfl] has left #launchpad []
jordiBurgundavia: we're doing it right now10:11
Burgundaviajordi, cheers, thanks very much10:11
Kinnisonjordi: done10:12
jordiBurgundavia: I don't understand too well why we have ubuntu-docs and a ubuntu-doc product though10:12
jordiKinnison: thanks mate10:13
=== Virtuall[BZA] [n=virtuall@who.is.virtuall.info] has joined #launchpad
SteveAjamesh: hi, around?10:41
=== ..[topic/#launchpad:SteveA] : Discussion with Launchpad users and developers. || https://launchpad.net/ || Includes Rosetta and Malone. || Developers' meeting, Thursday 6 Oct, 12:00 UTC
jameshSteveA: yeah?10:43
SteveAhi.  so, there's a bug in DPoT that mpt reported recently.  i was wondering what's in your queue of stuff to do, and if there's space for you to look at it?10:44
jameshSteveA: I'm looking at Bjorn's PreDefinedBugReports branch right now, but I can take a quick look now10:45
jameshwhat is the bug #?10:45
SteveAjust a sec, i'll get it10:45
SteveAalso, can you add your travel details to https://wiki.canonical.com/UbuntuBelowZero ?10:46
jameshsure10:47
=== dand [n=dand@gw.datagroup.ro] has joined #launchpad
SteveA https://launchpad.net/malone/bugs/1421  but, it looks different...10:49
SteveAseems mpt various work and produced a test case10:49
SteveAbut then retracted it10:49
SteveA"Failing test in mpt@canonical.com/launchpad--dpot--0509"10:49
SteveAthat was in the bug status whiteboard, but now it is changed to something else10:49
jameshSteveA: also, I saw https://launchpad.net/products/launchpad/+bug/2606, and I don't think it is a bug -- flush_database_updates() and transaction.commit() have quite different semantics10:49
SteveAon database commits: i'd have thought that commit() ought to do the equivalent of flushing updates10:50
SteveAso flushing updates flushes updates, and committing flushes updates and commits10:50
jameshflush_database_updates() causes all live SQLObjects to write their changes to the database10:51
jameshtransaction commit does the same and empties the SQLObject caches (you aren't meant to make use of any SQLObjects created before the commit after the commit)10:51
SteveAhmm10:52
SteveAso, i see two options here10:53
jameshthe bugs.txt test does make use of the SQLObjects after flush_database_updates(), so SQLObject would get confused if you changed to transaction.commit()10:53
SteveA one is to do as the zodb does, which is that after a commit(), objects that are still around are considered to be part of the next transaction, implicitly10:53
=== Kinnison likes that way
SteveA the other is to make sure that after a commit(), the sqlobjects give a clear and early error if they are used10:53
SteveA in which case, commit() is reserved for the end of transactions, and flush_updates() is for any time you want to sync with the database10:54
jameshthen maybe the commit() operation should be changed to expire the live SQLObjects rather than just removing them from the cache10:54
SteveAthat is the safest option right now10:54
KinnisonNot being able to iterate a results set committing as you go would be annoying as hell10:54
SteveAas making them get transfered to the next transactions sounds tricky10:54
SteveAit certainly has caused problems in zodb before10:54
SteveA(as in, there were subtle bugs that needed fixing)10:55
SteveAKinnison: you'd need to take the list of ids out of there10:55
SteveAKinnison: iterating a result set while mutataing sounds like it would have underfined semantics10:55
jameshKinnison: the result set isn't guaranteed to be valid after the commit10:56
SteveAlike, in python, it has specific errors if you try to mutate the underlying object of an iterator while you are iterating10:56
SteveAso, you *should* already be taking a list of the ids you're interested in, and using that10:56
jameshsome other transaction could be executed that removes half the rows between your transactions10:56
KinnisonThat's fine10:57
SteveAwhat's fine?10:57
Kinnisoneach loop can be protected10:57
Kinnisonbut it feels natural to do:10:57
Kinnisonfor thing in resultset:10:57
Kinnison   stuff_involving_thing10:57
Kinnison   commit()10:57
SteveAyou'd need to say10:58
SteveAfor thing in list(resultset):10:58
SteveA10:58
SteveAi coudl understand that10:58
KinnisonThat'd be acceptable10:58
Kinnisonbut having to do bizarre ID extraction would be annoying10:58
KinnisonAlso, I have to (for example) commit transactions to the DB in order to get librarian files committed so that I can pass them to the slave10:59
Kinnisonto not be able to carry on doing stuff after such a commit with the objects I already have would be an utter utter pain10:59
SteveAso, i can understand how keeping an object around between transactions makes sense11:00
=== Virtuall[BZA] [n=virtuall@who.is.virtuall.info] has joined #launchpad
SteveAand how you can expect its state to be taken from the new state in the database, transparently, after transaction commit11:00
SteveAthe keeping a result set iteration going across transactions is crack11:00
SteveAnow, we need to ask whether we want to support this "keeping an object around across transactions thing"11:01
SteveAas a party to the "george bailey object" issues with the zodb a while ago11:01
SteveAi think we should not support this right now11:01
SteveAseeing as sqlobject doesn't properly support it11:01
SteveAand i'd rather have an early failure, and predictable processing, rather than stuff that doesn't work as expected11:01
KinnisonI *think* the buildd queue builder relies on it working (and does work)11:02
SteveAand leave the "keep objects between transactions" thing as a feature request11:02
SteveAKinnison: it may well work right now.  who is to say if an update to sqlobject will break it for the case you're using it?11:02
KinnisonRight11:02
SteveAit is a very fragile thing you're depending on11:02
SteveAhow much effort is it to make the buildd queue builder do something more explicit?11:02
Kinnisonokay, when cprov gets in I'll ask him about that11:03
SteveAokay11:03
SteveAjamesh: what do you think about all this?11:03
=== Kinnison isn't touching that in his rework of the protocol
SteveAat some point in the future, i want to investigate using the zodb as the object layer for launchpad, keeping the same RDB at the back end11:03
SteveAbecause with features like this, it makes sqlobject go towards where the zodb is already11:04
SteveAbut, that's for the way future11:04
SteveAplenty of things to do before that, and perhaps even keeping objects sanely across transactions, especially if sqlobject upstream does it well11:04
jameshSteveA: at the moment, it looks like slightly different things happen in the zopeless case and main launchpad case.  The zopeless case looks like it leaves all objects live if the transaction is not aborted.11:06
=== ddaa [n=ddaa@ordo.xlii.org] has joined #launchpad
SteveAjamesh: what do you recommend doing?11:11
=== carlos [n=carlos@243.Red-83-47-24.staticIP.rima-tde.net] has joined #launchpad
carlosmorning11:12
jameshSteveA: given the current implementation, it probably makes sense to explicitly expire() all objects on transaction commit11:13
jameshSteveA: that will probably cause problems with various zopeless scripts, but I wouldn't be surprised if it fixed the memory issue with carlos's whitespace script11:13
SteveAi'm all in favour of the minimal difference between the behaviour when running with zope and with zopeless11:13
jameshit's probably worth expiring the cached objects in the zope case too11:14
SteveAjamesh: okay.  i think this is a good thing to do.  we must be careful about scripts that aren't sufficiently tested.11:14
carlosjamesh, well, we rewrote the script to reduce the memory needs11:14
SteveAyes, i think so too11:14
SteveAjamesh: will you take on the task of doing this?11:15
jameshokay11:15
SteveAKinnison: will you talk with cprov about any scripts for the buildds etc. that this may cause problems for?11:15
SteveAhere's an idea: an iterator helper that will remember the ids from a resultset but still issue up-to-date objects11:16
KinnisonThat could be handy11:17
KinnisonSteveA: I'll talk with cprov later11:17
SteveAthus moving the issue up to the application level11:17
SteveAit should also be possible to get the id of an expired object11:17
SteveAjamesh: do you know if that is possible?11:17
SteveAjamesh: i don't see your name there yet: https://wiki.canonical.com/UbuntuBelowZero11:19
jameshSteveA: if we aren't clearing the cache, such an iterator would just need to call sync() on objects that are expired when it gets to them11:23
SteveAwhat has clearing the cache got to do with it?11:24
jameshSteveA: if we just expire() all items in the cache, the objects can be used again after calling sync() on them11:26
SteveAi would expect these semantics to work regardless if whether we have a cache or not11:26
SteveAif i have a reference to an expired object11:26
SteveAthen i can call sync() on it11:26
jameshthey get moved to a weak dict, so that they can get garbage collected11:26
jameshyeah.11:26
jameshso a wrapper for a result set would convert the result set to a list, and iterate through it11:27
SteveAthis part of sqlobject, with a cache with ref and weakref buckets, is unnecessarily complex11:27
jameshbefore returning an object, check if it is expired, and if so call sync() on it to get new values11:27
SteveAwhat does sync() do if the object in question has been deleted?11:28
SteveA(not so much a problem in launchpad, i guess)11:28
jameshraises SQLObjectNotFound11:28
SteveAok11:28
SteveAwe need to watch out for security issues11:28
SteveAthe main one being that we don't rely on stopping people getting to an object11:29
SteveAbut, i think we're okay on that count anyway11:29
SteveAalthough i haven't examined the embargo stuff with that in mind11:29
SteveAi know there is specific embarg-related code to stop you getting at an object11:29
SteveAi don't know if there is also standard security authorization policy code for embargoed objects11:30
SteveAKinnison: care to comment?11:30
Kinnisonerm, urgh11:30
=== Kinnison hasn't been following the conversation
=== Kinnison is neck-deep in tests
SteveAokay11:31
Kinnisonwhat is the question?11:31
SteveAmy question is pretty simple11:31
SteveAi have seen the code in the database classes that ensures that you can't retrieve an embargoed object11:31
KinnisonAye, unless you really mean it11:31
SteveAi'm asking whether there is also standard authorization policy code (security.py) that will stop you seeing the attributes of that object11:32
SteveAif you do manage to get it11:32
jameshstuff in database/publishing.py?11:32
KinnisonSteveA: Not yet11:32
SteveAKinnison: okay, that needs fixing11:32
SteveAthe check in the database class is the braces11:32
SteveAbut we need the standard issue belt too11:32
KinnisonSteveA: Right. I don't know how to do that11:33
KinnisonSteveA: file a bug for it to be done11:33
SteveAfor now, can you file a bug on it?11:33
KinnisonSteveA: It's not critical until we open dapper's security stuff in six months from now11:33
SteveAor tell me the details to go in such a bug11:33
KinnisonFor now, just file a bug saying "need to implement embargo protection for security proxied objects" or something11:34
Kinnisonand say what you mean by "standard authorization policy code (security.py)" too11:34
SteveAwhat kind of objects need this protection?11:34
SteveASPs and BPs?11:34
KinnisonSteveA: Just Secure{Source,Binary}PackagePublishingHistory11:35
KinnisonOther than those, there's no way to know about embargo11:35
KinnisonSPPH.SPP,BPPH,BPP don't admit to embargoed packages at all11:35
Kinnisonat the DB level11:35
Kinnison(I.E. in the VIEW definition)11:35
SteveAok11:36
SteveAthis is all good11:36
SteveAi'm not going to mark the bug "private"11:37
SteveAbecause i am certain it isn't exploitable in any way without changing source code in a deliberate and convoluted way11:37
SteveAand anyone who can change source code can do other easier things11:38
=== sabdfl [n=mark@217.205.109.249] has joined #launchpad
=== SteveA subscribes cprov to the bug
Kinnisonthanks11:39
SteveAjamesh: please add your flight details to the UBZ wiki page right away11:39
jameshSteveA: added.11:40
SteveAthanks11:40
=== WaterSevenUb [n=WaterSev@azevedo.astro.up.pt] has joined #launchpad
jameshSteveA: looking at the custom selectBy() routines in database/publishing.py, you wouldn't be able to create a result set containing embargoed objects (at the time of the query) unless you use selectByWithEmbargoedEntries()11:44
SteveAright, but if i get an source package publishing history, commit, and in some other transaction it is embargoed, and i sync it (or cause it to be synced)11:45
SteveAthen i have an embargoed SPPH object11:45
SteveAnow, that isn't really going to happen in any meaningfully bad way11:46
SteveAbut, i like the security system to not have such cracks in it11:46
=== segfault [i=carlos@prognus.com.br] has joined #launchpad
jameshyeah. I agree that the objects themselves should have their own security11:47
jameshat the same time, if a package gets the embargo removed part way through iteration, it will be missed from the result set11:48
SteveAyeah11:48
jameshso anything that relies on being able to iterate through all non-embargoed objects would have trouble if it commits part way through11:48
SteveApeople need to be careful iterating over collections of objects across commits11:49
lifelessbe nice if it failed loudly11:55
SteveAlifeless: yep.  that is the plan.11:56
SteveA1. make implicitly holding an object across a commit fail loudly.11:57
SteveA2. (maybe) provide a way to explicitly say "i want to use the ids from this resultset across commits, and see them as fresh objects"11:58
salgadois there anything wrong with staging? I can't seem to login there12:07
=== Kinnison once again thanks lifeless for fl-cow
Kinnisonfricking workrave, mumble mumble12:09
SteveAsalgado: i can't get the front page of staging12:09
SteveAstub: ?12:09
carlosstub, same problem here12:15
SteveAsalgado: can we talk about shipit?12:19
salgadoSteveA: not right now. I'm going to do a presentation at the univ in 30m. can we talk when I come back? (aprox 4h)12:23
SteveAsalgado: okay12:23
salgadoSteveA: also, if you have some time, it would be great if you can review my shipit-exports branch. (seeing that kiko won't be back until mid-afternoon and I'm not sure if he'll be able to review it today)12:24
salgadostub did run the export script on staging and everything went fine. I'm waiting to see if the generated exports are okay12:25
stubasuka is pretty locked12:25
stubI have a shell that is responding slowly, but havn't been able to shutdown launchpad or run top or ps to see what the problem is12:25
SteveAsalgado: can you add it to my place on PendingReviews ?12:25
stubZnarl: ping12:26
salgadoSteveA: done12:28
salgadosee you later guys12:28
Znarlstub : Hello!12:28
stubZnarl: Are you able to remotely reboot asuka (probably require a power cycle)? 12:29
ZnarlYes, wish me to do it now?12:29
SteveAi wonder if logging in as root would do?  doesn't root shell run at top priority?12:29
stubZnarl: I have a shell that responds slowly, but can't even run ps to see what the culprit is. So reboot it please unless you have any suggestions for diagnostics before rebooting it.12:30
SteveAstub: is that because the shell responds too slowly?12:30
SteveAor does ps give an error when you run it?12:31
ZnarlI think rebooting may be the fastest way, I can't login.12:31
stubps just hangs. I suspect it is thrashing really badly.12:31
stubIt takes several seconds for my shell to process Ctrl-C or Ctrl-Z12:32
stubZnarl: restart it please12:32
stubMaybe the logs or cricket graphs will tell me something useful12:32
Znarlstub : Done!  If it doesn't come back in 5 minutes I'll rush over to the DC and kick it.12:34
ZnarlOK, it's back.12:35
stubZnarl: rushing isn't required - it is the staging server so we can have downtime. Salgado will want to see it running in about 4 hours though.12:35
stubok12:35
SteveAstub: thought we were running important rosetta stuff on it12:36
stubNope - we were testing some data migration stuff on there a week or three ago, but that is finished. Now we are testing shipit functionality ;)12:37
stubBah - no hints on what happened :-(12:40
Znarlstub : I have a spare machine I can bring up quickly if it's a hardware fault.12:44
Znarl...and if it happens again.12:44
stubIf it was hardware it would still be screwed. Seems fine now so I think something just ran away.12:45
KinnisonNoone minds if I upgrade dogfood?12:58
carlosSteveA, I just got a problem with Rosetta that I'm not 100% sure how to solve. Do you have sometime to talk about it?01:05
SteveAcarlos: yes, in 5 mins01:05
carlosSteveA, ok, thanks01:05
SteveAcarlos: ok01:10
carlosSteveA, ok01:12
carlosso01:12
carloswe have a module (control-center)01:13
carlosthat had a message01:13
carloswith a plural form. Say msgid "Foo" msgid_Plural "Bar"01:13
carlosnow, they changed the plural form so the message is: msgid "Foo" msgid_Plural "New Bar"01:14
carlosbut the .po files have the old one01:14
carlosso we have a small problem as we cannot represent both at the same time with our current db model and I'm not sure how to solve that 01:14
SteveAso, the pot file has the same msgid but a different msgid_Plural than before.  But, the .po files still have the msgid and old msgid_Plural01:15
carlosright01:15
SteveAwhy did the authors change the .pot file like this?01:15
carlosSteveA, usually it's due a typo fix01:15
carlosSteveA, in fact is the first time I see this problem since we started with Rosetta....01:16
SteveAso, the root cause is the design of gettext, in that pot files don't have opaque ids but actual important strings01:16
carlossort of, yes01:17
carlosmy first idea was to ignore the plural form from the .po file01:18
carlosand set that message as fuzzy01:18
carlosthat means that a translator has to review it01:18
carlosit's more or less the same behaviour gettext does when the .pot and .po files are merged01:19
carlosbut that prevents us to get the original .po file back from the db01:20
SteveAall we can know, automatically, is that the message id changed.  it could have changed trivially, or it could have changed totally.  we can assume that as it is just the plural form, that it changed trivially.01:20
carlosit should not be a big deal as we don't need it for anything, but the original idea was that we should be able to get an exported .po file with exactly the same data we had when it was imported01:20
SteveAbut getting a po file exported with the same data in it isn't useful when the pot file has been updated like this, is it?01:23
SteveAjamesh: feature requrest for pending-reviews: add a meta-refresh to the page that refreshes it automatically after the next run date + typical run time + a bit.  (or something like that)01:24
carlosSteveA, yeah, as I said, we are not using that feature, but we could get it without merging that .po file with the new .pot file01:25
carlosbut atm we do the merge always01:25
SteveAokay.  are there any other downsides to this than not being able to exactly export the .po file01:26
SteveA?01:26
carlosnothing that I can think on01:26
SteveAwill you know if this kind of thing happens again?01:27
SteveAhow did you find out this time?01:27
carlosSteveA, I found it looking at the error logs01:31
SteveAwas it an error that jumped out at you?01:32
carlosbecause a bug in our code01:32
carlosSteveA, It's one of the poimport errors we get every day01:32
carlosI can fix it without changing any code updating hte .po files by hand01:33
carlosand if it happens again, I will get the error again01:33
SteveAright.  i think that as this situation occurs so infrequently, that this time around you should sort it out and move on01:33
carlosok01:33
SteveAand make sure that it will be clear to see if it happens again01:33
SteveAso, if it starts happening a lot, we can think about accommodating it better in the system01:34
SteveAi think that software maintainers who are aware of the translation process are very conservative about changing message id strings.01:34
SteveAi think that's why in zope and plone they tend to use symbolic message ids01:35
SteveAand then have an english translation of that01:35
carlosSteveA, hmm, I could update the code to raise a RuntimeError if that problem appears, what do you think?01:37
carlosSteveA, the problem with zope and plone solution is that sometimes, you need to update a message and the translators will not know that because the message will not set as fuzzy/untranslated01:38
SteveAcarlos: use a specific error, and document the details of it in that error.01:39
carlosok01:40
=== JanC [n=janc@lugwv/member/JanC] has joined #launchpad
=== jinty [n=jinty@205.134.224.215] has joined #launchpad
=== JanC [n=janc@lugwv/member/JanC] has joined #launchpad
=== matsubara [n=matsubar@200-171-140-32.dsl.telesp.net.br] has joined #launchpad
=== zyga_ [n=zyga@2-mi2-1.acn.waw.pl] has joined #launchpad
=== zyga_ is now known as zyga
=== mpt [n=mpt@200-171-140-32.dsl.telesp.net.br] has joined #launchpad
mptGooooooooooooooooood morning02:07
SteveAhi matthew02:07
=== cprov [n=cprov@200-171-140-32.dsl.telesp.net.br] has joined #launchpad
mpthi SteveA, did you see bug 1749?02:12
mpt(actually that's probably a silly question given the amount of bugspam I generated from it)02:12
SteveAyes, and no02:12
SteveAyes, i saw it02:12
SteveAthen i got confused with the other menus bug you were spamming about02:12
SteveAjamesh: https://launchpad.net/products/launchpad/+bug/174902:12
SteveAthere's the actual issue i meant to point out earlier02:13
mptSteveA: There's another text-to-html bug that I don't know how to solve02:13
mptor at least, I don't yet know what the result should be02:13
mptfoo\n02:14
mptbar\n02:14
mpt\n02:14
mpthum\n02:14
mptzog\n02:14
mptIf foo didn't exist then bar could be a <p>, and vice versa; and if hum didn't exist then zog could be a <p>, and vice versa02:15
mptbut since they all exist, making them all <div>s will eliminate the blank line between them02:16
=== niemeyer [n=niemeyer@200.138.37.5] has joined #launchpad
SteveAwhy not use two <p>s with <br>s in them ;-)02:17
mptyeah, I suspect it might be necessary to start using <br />s instead of <div>s02:18
SteveAor <p><span> ... <span> ...</p>02:18
mpt<span class="outrageous hack" style="display: block;">02:19
ddaathat makes two classes02:19
mptI'm aware of that, ddaa :-)02:19
mpt.hack {text-decoration: blink;}02:20
mpt.outrageous {color: pink; background-color: yellow;}02:20
ddaaI'm not sure I have all the context, but I think you are talking about text-to-html conversion, right?02:20
ddaaWhy not put the whole block in a div and individual paragraphs there in <p02:21
ddaafor things like source code snippets, if pre is not acceptable, the only right thing is <br>...02:21
mptyeah02:22
ddaathough, you can hack with an enclosing div, that sets vertical paragraph margins to 0, but I think that's less semantically correct than br.02:22
mptDue to bug 1749, the example I posted above is currently rendering as something like <div>foo</div> <p>bar hum</p> <div>zog</div>, which is even wronger02:24
=== rbelem-zzz is now known as rbelem
SteveAmpt: what's the simplest thing we can do?02:25
ddaagah, text-to-html is just confuddled...02:26
mptSteveA: start using <br /> everywhere02:27
mptSteveA: Shall I rewrite the tests?02:27
SteveAyes02:27
ddaampt++02:27
SteveAwork on a branch02:27
=== gneuman [n=gneuman@200-171-140-32.dsl.telesp.net.br] has joined #launchpad
ddaasomething more wiki-like would be better, but more complicated02:27
mptyes, I'll use the same branch as the tests for bug 174902:28
ddaa</advice:unsolicited>02:28
niemeyerMorning!02:29
ddaaniemeyer: Afternoon!02:29
SteveAddaa: we're going to put moin formatting into launchpad for some things, but not for bug comments02:29
mptddaa: we can't expect people copying-and-pasting info from READMEs, changelogs, etc to format them wiki-style02:30
ddaaRight.02:30
SteveAwe could insist that any wiki-style comments start with = some title =02:31
mptI'd rather that bug comments *never* started with = some title = :-)02:31
=== carlos -> lunch
SteveAbradb: hi02:44
bradbSteveA: hi02:44
SteveA _get_task_for_context02:45
SteveAdid you consider making getNullBugTask() a method on a bugtarget ?02:46
bradbno02:47
zygahello02:49
zygaI'm trying to translate disks-admin02:49
zygacould someone give me a hint when will rosetta show all translatable packages so that translators can do their work?02:50
SteveAbradb: do you think it would be an improvement?02:50
ddaagah02:51
ddaaI think the python import has hit a filesystem limitation...02:51
bradbSteveA: I don't think so. It would mean writing, testing and maintaining more code without sufficient ROI, IMHO.02:51
WaterSevenUbzyga, hi zyga;)02:51
zygaWaterSevenUb: hi :)02:52
zygaWaterSevenUb: what's up? :)02:52
WaterSevenUbzyga, do you know about the FAQ guide? when will it be last generated for distro inclusion?02:52
WaterSevenUbzyga, the translations... i mean.02:52
zygaWaterSevenUb: no, I've lost track of stuff here recently (real life work)02:53
zygawhat FAQ guide is that?02:53
WaterSevenUbubuntu-docs02:53
SteveAbradb: from my casual looking, it would seem to mean keeping about the same amount of code as in the latter part of _get_task_for_context, but splitting it up better, without the 'if' statements.02:53
SteveAbradb: we already have the concept of a bug target.  this is something that is done for each bug target, but done differently.  so, it makes sense to make this a service provided by a bugtarget.  and not an if-elif-elif-else block of code.02:54
zygauhhh02:54
zygarosetta keeps crashing :/02:54
zygadarn02:54
SteveAbradb: also, mark was quite adamant that he wants these "null whatever" things to go with the database code, not in components.02:55
SteveAcarlos: zyga says rosetta keeps crashing02:55
=== zyga is really desperate
zygarosetta lacks following stuff that are badly needed:02:55
zygastring search within a .po02:55
zygastring search within all .pots02:56
zygaworking export/import02:56
zyga:/02:56
=== SteveA goes to lunch
SteveAzyga: carlos is at lunch now.  talk with him when he gets back.02:56
zygaSteveA: sure, thanks :-)02:57
WaterSevenUbzyga, and I have a few more ideas! :-) A team administrator should be able to "lock" a translation when it's done.... We should be able to "subscribe" to a translation and check updates (bugzilla like)..... 02:57
zygabon apetit :)02:57
bradbSteveA: I'll change it if you want me to. ;)02:57
zygaWaterSevenUb: that's secondary stuff - I totally agree but today rosetta is not usefull for translators at all IMHO02:57
zygaand since breezy is out in a week this makes me feel bad :/02:58
WaterSevenUbzyga, well... ubuntu-docs was translated through rosetta.... a few applications too.... 02:58
zygaWaterSevenUb: when it works02:58
WaterSevenUbzyga, but i generally agree... I also don't feel confortable with adding new applications like SMEG without demanding translation support from the beggining.02:58
WaterSevenUbzyga, since they are pretty basic applications.02:59
=== zyga whines but at the same time sends kudos to the development teem :)
WaterSevenUb:)02:59
zygaa page with all requested delayed operations and their status is a must too02:59
zygalike exports/imports03:00
zygaI'm often waiting for something to happen when and I get no notification of an error03:00
WaterSevenUbzyga, the subscription thing is not secondary... it happens for example finishing a translation in a given application, a few weeks after, it's not finished anymore and there are strings changed and added.03:00
=== sabdfl [n=mark@217.205.109.249] has joined #launchpad
cprovSteveA: ping03:08
dilysMerge to rocketfuel@canonical.com/launchpad--devel--0: [trivial]  fixing builddUI bits, limit distrorelease/distroarchrelease +builds pages results until define some batching style. (patch-2561: celso.providelo@canonical.com)03:13
=== verwilst [n=verwilst@212.123.1.32] has joined #launchpad
verwilsthellow!03:28
verwilstis there a packager with a bit of time on his hands? :d 03:28
verwilstif so, plz check out http://bugzilla.ubuntu.com/show_bug.cgi?id=1636703:28
verwilstphpmyadmin works just fine with php5, but the deb depends on 4 :(03:28
verwilstit's a one-word fix, but i don't have access :d03:29
verwilstwould be cool to have this solved by the release ;)03:29
mptverwilst: What does that have to do with Launchpad?03:30
mptIf you want things packaged, probably your best bet is #ubuntu-motu03:31
mptlike Matt said in the bug report, even03:31
verwilstoh, in the bug it said to go to that site03:32
verwilstand on the site, there was a link to this channel :d03:32
mptyes it did03:32
mptI suggest following the instructions Matt gave you in the bug report03:32
verwilsthehe i am ;)03:32
mptthey're good instructions03:32
mptSo have you reported the bug in Malone?03:33
verwilstworking on it03:33
=== hub [n=hub@toronto-hs-216-138-231-194.s-ip.magma.ca] has left #launchpad ["Leaving"]
verwilstdone03:37
verwilsthttps://launchpad.net/distros/ubuntu/+sources/phpmyadmin/+bug/2799 ;)03:37
mptgood03:39
carloszyga, I'm back03:45
carloszyga, could you be a bit more precise about the errors you get, please?03:45
zygacarlos: okay03:46
zygacarlos: system error on rosetta :)03:46
carlosif you can give me an URL I will take a look at the logs03:46
zygahttps://launchpad.net/distros/ubuntu/breezy/+sources/gnome-system-tools/+pots/gnome-system-tools/pl/+translate03:46
zygacarlos: separate issue - look at #u-devel03:46
zygacarlos: if you'd like to read some negative thoughts check the backlog 03:47
carloszyga, I'm there, and the page works, what do you do to break it?03:48
jordicarlos: hey03:48
zygacarlos: I commited a change03:48
zygacarlos: it does not work ;-)03:48
carlosjordi, hi03:49
jordicarlos: feel like touring me through xxx-review-breezy? :)03:49
zygacarlos: I just commited again and the error is gone03:49
carlosjordi, give me sometime to finish with zyga, please03:49
zygacarlos: okay, tell me what to do when you're ready03:50
jordicarlos: sure03:50
carloszyga, hmmm, I cannot see the logs when you had the error...03:52
zygacarlos: well I could send you a screenshot but I doubt that's helpful...03:52
carloszyga, yeah, it's not too useful03:53
=== zyga starts to think that someone added: if login=="zkrynicki": break()
carlosSteveA, stub is not around, is there anyone  else with access to the production logs?03:53
carloszyga, ;-)03:53
carloszyga, don't worry, I didn't add it03:54
=== zyga checks out the source just to be sure ;-)
mptSteveA: bug 2715 covering the <div></div>-to-<br /> change03:55
mptShould I update the wiki spec as well?03:59
carlosjordi, ?04:02
ddaazyga: -ETOOMANYCONSONNANTS04:02
zygaddaa: ? :)04:03
ddaamaybe if you type it in reverse :)04:03
ddaa(polish notation, etc.)04:04
jordicarlos: here04:04
sabdflddaa: does baz not have a way to handle > 32,000 patches?04:11
lifelesssabdfl: baz doesn't split out the directorys, so it places a high load on the file system04:15
lifelesssabdfl: it depends on the fs what it can support04:15
lifelesss/high/extremely high/04:15
sabdflshite, that's so broken04:16
lifelessyes04:16
sabdflplease tell me bzr does better04:16
lifelessbzr currently does a similar thing, but the abstraction layer is in place to do a lot better, in fact its one of niemeyers goals for his bzr time04:17
=== SteveA returns from lunch
SteveAcprov: hi04:20
SteveAcarlos: you need to see production logs?04:20
carlosSteveA, that would be a good way to know the problem that zyga had, yes04:21
SteveAmpt: thanks for the bug report.  i'm going to ask jamesh to look at it.  the spec should reflect the way we want things to be, but maybe it can reference the system docs, rather than duplicate them.04:21
carlosas we cannot reproduce it...04:21
cprovSteveA:  hi, my branch in general queue for buildd is kind of blocking dsilvers, can you review it or suggest someone to do it ASAP ?04:21
SteveAcarlos: there is a task for the sysadmins to have the logs rsynced across to chinstrap04:22
=== salgado [n=salgado@200-171-140-32.dsl.telesp.net.br] has joined #launchpad
carlosok04:22
SteveAcarlos: that hasn't been done yet as far as i know, but it will be easy for you to inspect the logs soon04:22
carlosok thanks04:22
SteveAcarlos: is there something specific you want me to get?04:22
SteveAor do you just want the whole lot?04:22
=== salgado [n=salgado@200-171-140-32.dsl.telesp.net.br] has joined #launchpad
SteveAcprov: i can do a bit of review in a few minutes04:23
carlosSteveA, any error related to https://launchpad.net/distros/ubuntu/breezy/+sources/gnome-system-tools/+pots/gnome-system-tools/pl/+translate04:23
cprovSteveA: fantastic, thank you 04:23
SteveAcelso.providelo@c.c/launchpad--buildd--0  <-- that one?04:23
carlosI suppose that it should appear in last two hours04:23
SteveAcarlos: ~stevea/launchpadlogs on chinstrap04:28
carlosSteveA, thanks04:28
SteveAmpt: the italicised "from" on the "oops" page looks weird04:31
carlosSteveA, the problem was a deadlock04:33
SteveAcarlos: so, the transaction got aborted04:33
SteveAit should have worked when tried again04:33
carloszyga, The system error you got was a lock in the database that's what it didn't happen when you retried it04:34
carlosSteveA, it worked04:34
carlosthat's why I asked for the logs because we were not able to reproduce it04:34
=== lamont-away kicks baz
SteveAokay.  if these happen a lot, then stu and i can add some code that will retry the web request when a deadlock occurs.04:34
lamont-awayoh.04:35
=== lamont-away unkicks baz, redirects his anger at web proxies.
lamont-awayddaa: It could be that there are some things that want to be not-cached when fetched over http... :-)04:35
ddaalamont-away: definitely, the .listing files for example04:36
jameshmpt: I added some possible alternative rules for formatting text to https://launchpad.net/products/launchpad/+bug/1749.  Do they look sane?04:36
lamont-awaywould that account for it thinking that patch-29 is current when -31 really is?04:36
ddaalamont-away: exactly04:37
jameshmpt: the main difference being that you'll end up with <div>'s inside <p>'s04:37
ddaacheck $VERSION/.listing04:37
jamesh(if they are needed to get the desired formatting)04:37
lamont-awayddaa: I'll beat on the web-proxy folks then.  danke04:37
=== eruin [n=eruin@unaffiliated/eruin] has joined #launchpad
mptjamesh: They match the tests I've committed, except that the tests expect ...<br /> instead of <div>...</div>, because <div> inside <p> is invalid HTML.04:49
=== johnl [n=johnl@trantor.org.uk] has left #launchpad ["there]
jameshmpt: okay.  The algorithm should handle <br> as well as <div>...</div>04:51
mptjamesh: Read the tests, I think the results they expect will have a simpler implementation than the current one.04:52
mptNo <div>s any more, just <p>s with <br />s in.04:52
=== Keybuk [n=scott@217.205.109.249] has joined #launchpad
jordimpt: care to review some new items in the rosetta faq?05:09
jordihttps://wiki.ubuntu.com/RosettaFAQ?action=diff&rev2=16&rev1=1505:09
ddaalifeless: what is the future of JobStrategy.ArchStrategyL05:11
ddaahu05:11
ddaaJobStrategy.ArchStrategy?05:11
SteveAcprov: i reviewed the branch05:11
lifelessddaa: uhm, new spec, the taxi-for-supermirror stuff05:11
cprovSteveA: thanks 05:11
lifelessddaa: if archstrategy helps implement that, keep it, otherwise nuke05:12
ddaalifeless: IOW, can I just remove all that code and tests?05:12
ddaamh.05:12
ddaaIt's very likely not going to be any help for bzr.05:12
=== ddaa checks the spec
ddaajblack: https://wiki.launchpad.canonical.com/SupermirrorTelemetry05:15
ddaajblack: I need an answer to "Does Taxi need to mirror?"05:15
mptjordi: looks fine05:18
zygacarlos: is that a bug in the software or something normal?05:18
jordimpt: thanks05:19
ddaalifeless: this spec was made before the decision to go bzr was made05:23
ddaai.e. it assumes continued mirrorring or arch archives in the supermirror05:23
lifelessddaa: well, yes and no.05:23
lifelessddaa: it will need updating, but the spec was written with bzr awareness05:24
=== camilotelles [n=Camilo@200.128.80.250] has joined #launchpad
ddaabah, this code is useless05:34
ddaait's all about registered names, and nothing about taxi05:35
=== ddaa nukes it
bob2hah, taxi05:35
ddaabob2: you'd be happy to learn that over the course of months I have rewritten most of it05:35
ddaaand the last remnants (the arch_broker stuff) is going away in the near future05:36
ddaacurrently working on a patch that removes all registered name assumptions, that required a rewrite of half impord...05:36
dilysMerge to rocketfuel@canonical.com/launchpad--devel--0: [trivial]  Adds a launchpad-cal link to the Feedback page, and adds a pagetest for that page. (patch-2562: mpt@canonical.com)05:38
salgadodo I need to write a validator function, to use as the constraint of a given field even if all it's going to do is to check if the value doesn't contain only spaces?05:45
bob2ddaa: yay05:45
salgadoin other words, can I tell zope3 to strip() the value for me?05:45
SteveAsalgado: do you want to check it doesn't contain only spaces, or do you want to strip() it ?05:46
salgadoSteveA, it's a requred field, so if zope3 did the stripping it would complain that it can't be empty05:47
salgadoso, in this specific case I can do either way. is there a preferred one?05:47
SteveAin one case, " foo " will be converted to "foo"05:48
salgadoin fact I think the stripping would be better as we don't really want extra spaces in a person's displayname05:48
SteveAright05:48
salgadoso, is there a pre-processing function that I can set on the interface?05:49
salgadoor any other way to tell zope that I want the value to be stripped?05:50
SteveAso, you already have a PersonNameField05:51
SteveAyou need to write a fromUnicode(self, str): method of that05:51
SteveAthat says     return TextLine.fromUnicode(self, str)05:52
SteveAthat should still work05:52
SteveAthen write a test05:52
salgadoI need this for the displayname, not the name05:52
SteveAokay, so write a StrippingTextLine class05:53
SteveAthat derives from TextLine05:53
SteveAbefore you start...05:53
SteveAwrite a test that imports it05:53
SteveA >>> from canonical.launchpad.interfaces.person import StrippingTextLine05:54
SteveArun the test, so it fails05:54
salgadosure, I'll write the test first. should I place it in person.txt?05:54
SteveAthen write that class05:54
SteveAsure05:54
SteveAin the class, you'll override fromUnicode so that05:54
SteveA >>> my_field.fromUnicode(' foo ')05:54
SteveAoops05:55
SteveA >>> my_field.fromUnicode(u' foo ')05:55
SteveA u'foo'05:55
SteveAbut, if you create the field with a constraint or other stuff, check that is still activated05:55
SteveAthat will show that you're getting the value from TextLine.fromUnicode(str)05:55
SteveAand then you're stripping the value05:55
SteveAbefore returning it05:56
=== dand is now known as dand_away
=== Kinnison mumbles something about annoyingly long-to-build packages
SteveAsalgado: is it just the AF issue we also need to talk about?06:03
=== niemeyer_ [n=niemeyer@201.14.57.203] has joined #launchpad
salgadoSteveA, yes06:04
carloszyga, it's a problem with two updates of the same row at the same time from two points different06:07
carloszyga, one locks that row and while updating and hte other fails because is not able to access the database06:08
carlosit happens from time to time.06:08
salgadoSteveA, how can I test that trying to set a value of u'   ' on a field using StrippingTextLine will raise a RequiredMissing?06:09
SteveA  StrippingTextLine().fromUnicode(u'    ')  perhaps06:11
=== terrex [n=terrex@84-122-83-29.onocable.ono.com] has joined #launchpad
zygacarlos: software bug I guess06:12
zygacarlos: good to know 06:12
carloszyga, kind of, I suppose06:13
zygacarlos: how many devs are working on rosetta?06:13
carloszyga, two, daf and I, but daf is sick atm06:14
salgadoSteveA, that won't work because the validate() method does a "if value == self.missing_value:" and missing_value is not set06:14
salgadosorry. the value is not set to self.missing_value06:14
carlosfull time, then there are other launchpad developers that help from with some bugs06:14
zygacarlos: /me thinks you are seriously undermanned right now 06:14
zygacarlos: how big is rosetta, loc?06:15
carloszyga, hard to tell you, rosetta is integrated into Launchpad so it has not its own tree06:16
SteveAsalgado: and, what is self.missing_value?06:16
SteveANone i expect06:16
SteveAso, you need code that says06:16
salgado__missing_value_marker = object()06:16
SteveAno06:16
SteveA  def fromUnicode(self, str):06:16
salgadoI can pass in a missing_value argument to the TextLine constructor06:16
SteveAyou still want None to be the missing_value I expect06:18
SteveAi mean, you don't want to change the missing_value to do this06:18
salgadoNone or an empty string?06:18
=== terrex [n=terrex@84-122-83-29.onocable.ono.com] has joined #launchpad
SteveAlet's just hack it06:19
SteveA  def fromUnicode(self, str):06:19
SteveA      str = str.strip()06:20
SteveA      if not str:06:20
SteveA          raise RequiredMissing06:20
SteveA      return TextLine.fromUnicode(self, str)06:20
SteveAhow about that?06:20
salgadoyou really prefer that I do this instead of just passing in missing_value=u'' in the __init__()?06:21
salgadoI mean, I only need to do that in the test06:21
SteveAi guess you can change missing_value06:21
SteveAthe thing is, as the field is required, it doesn't matter06:22
SteveAbut, if you do that, then you cannot use the field when you want a missing value to be None06:22
=== bradb puts a bugfix in pqm's queue, goes for lunch and to run a couple errands. bbl.
SteveAi might be better to say missing_value=u'' when you construct the field06:22
SteveAbut even so, don't set it in the __init__06:23
=== salgado is confused
SteveAset a class attribute06:23
SteveA  missing_value = u''06:23
SteveAat the class level06:23
salgadowhat I was suggesting is this: 06:24
salgado>>> field = StrippingTextLine(__name__='displayname', title=u'Displayname',06:24
salgado...                           description=u'', readonly=False, required=True,06:24
salgado...                           missing_value=u'')06:24
salgadoTextLine.__init__() already accepts this missing_value06:24
salgadoand I can't see why I should override the missing_value attribute in my class06:26
SteveAokay06:26
=== segfault [i=carlos@prognus.com.br] has joined #launchpad
salgadois there any problem in doing this? or maybe I need to do that for some other reason?06:28
SteveAthis is fine.  go ahead.06:29
salgadoSteveA, and the country problem, how can I fix it?06:30
SteveAsalgado: i have an idea, but i need to do some looking at the code06:31
SteveAcan you tell me where to look for that list?06:31
salgadolaunchpad.vocabularies.CountryNameVocabulary06:32
SteveAi don't want the vocabulary06:32
SteveAthat isn't going to change06:32
SteveAtell me where it is used06:32
salgadooh, sorry. it's used in the /shipit/myrequest page06:33
SteveAis that set up just in zcml?06:33
SteveAor is there a view class?06:33
salgadoShipItRequestView06:33
salgadobrowser.shipit.ShipItRequestView06:33
SteveAokay, i'll have a look as soon as my next test passes with what i'm working on06:34
SteveAi think i know how to do this simply06:34
salgadogreat. 06:34
salgadowould you like to review this fix for the displayname for me? https://chinstrap.ubuntu.com/~dsilvers/paste/file12AUr7.html06:34
SteveAsalgado: explain in a short sentence in the doctest about how StrippingTextLine is used as the displayname field, and that it strips the unicode string before applying any validation or constraints.06:36
jblackddaa: Sorry for the delay. Reading.06:37
ddaajblack: nevermind06:37
ddaaI just nuked the code.06:37
=== matsubara is now known as matsubara-lunch
SteveAsalgado: other than that, it is fine06:38
salgadoSteveA, In the case of your displayname, the only constraint is that it can't contain06:40
salgadoonly spaces. To ensure that, we use a StrippingTextLine in the displayname,06:40
salgadowhich is a class that always strips the unicode string before applying any06:40
salgadovalidation or constraints.06:40
SteveAyep06:40
jblackddaa: You went from "does taxi need to mirror" to "I nuked the code" ?06:41
ddaayes06:41
jblackI'm definitely interested in that thought process06:42
ddaaThe question was to help figure out whether I should try to fix the ArchStrategy bit in importd, which is unused in production AFAIK, and which according to lifeless is related to that spec.06:42
ddaaHowever, it turned out that this bit of code was entirely interesting, since it was almost exclusively about handling registered names issues within the importd framework.06:43
ddaa* entirely uninteresting06:43
jblackWhich goes away with bzr entirely. Of course.06:44
salgadoSteveA, is it a problem if I go out for lunch now? (30min, at most)06:46
SteveAno problem06:47
SteveAmaybe i will have solved the issue by the time you're back06:47
SteveAwow... baz status takes an aaaaaaaaaaaaaaaaaaaage06:47
ddaafl-cow, baz diff --link -s06:50
=== Kinnison hugs fl-cow
Kinnisonit's so easy06:55
Kinnisonand makes baz usable06:55
Kinnisonwell, that's a big claim06:55
Kinnisonmakes it less unusable06:55
dilysMerge to rocketfuel@canonical.com/launchpad--devel--0: [trivial]  fix https://launchpad.net/products/malone/+bug/2608 (patch-2563: brad.bollenbach@canonical.com)06:56
=== bexxx [n=ubuntu@p5481E24D.dip.t-dialin.net] has joined #launchpad
bexxxHi! I tried to contribute a german translation via launchpad.net and after pressing the "save" command, I got a bug shown. Where can I look up, if the problem is already known (is there a bugzilla?)07:15
=== jinty [n=jinty@205.134.224.215] has joined #launchpad
jbaileySomeone just sent an email to support@ubuntu.com who's managed to lose his password and can't seem to reset, nor request for the forgotten password, etc.07:21
jbaileyWhere best to forward this?07:21
jbailey(Is there an LP support team for handling issues with using LP?)07:21
salgadojbailey, I guess it's best to forward it to launchpad@lists.canonical.com07:23
bexxxUrlichs?07:24
jbaileysalgado: 'kay.07:25
salgadobexxx, all bugs in launchpad are tracked using Malone. the ones specific to rosetta can be seen at https://launchpad.net/products/rosetta/+bugs07:25
jbaileyIn the event that this were a paying customer, should I just come here and beg for help supporting them? =)07:25
jbailey(In this case it's not)07:26
SteveAjbailey: for the best response, mail the launchpad list.07:27
jbailey'k, thanks. =)07:27
SteveAall the launchpad developers read it07:27
bexxxsalgado: thanks, will have a look now :)07:27
SteveAsalgado: why is IShipItCountry in interfaces/person.py ?07:31
salgadoSteveA, because it was used only in browser/person.py, and when I moved its only callsite to browser/shipit.py I forgot to move the IShipItCountry to interfaces/shipit.py07:32
SteveAkay07:32
=== camilotelles [n=Camilo@200.128.80.250] has joined #launchpad
=== camilotelles_ [n=Camilo@200.128.80.250] has joined #launchpad
=== matsubara-lunch is now known as matsubara
SteveAsalgado: i have some code for you07:46
SteveAit isn't pretty, but it is the start of something we can do to solve this "default value message" thing for all of launchpad07:46
Kinnisonciao all07:46
SteveAsalgado: you'll need to polish it up a bit07:47
salgadoSteveA, no problem. where is it?07:47
SteveAi'm producing a diff07:47
SteveAi will mail it to you07:48
SteveAthe existing zope widgets have the facilities we need, but only if you set a particular attribute on the widget and the widget is not "required".07:49
SteveAit's kinda crazy07:49
SteveAinstead of playing around with that, we'll just use a new drop down widget that inserts an entry at the top07:49
SteveAand then register this new widget to work for a new kind of Choice field07:50
SteveAso, developers will be able to use this new kind of Choice field wherever there should be a choice field that has nothing selected to start with 07:51
SteveAsalgado: mailed to you07:53
SteveAi put some of the code in not the best places07:53
SteveAdo this as a special thing for shipit now07:53
SteveAto get this issue solved07:53
SteveAand i'll make it a more general thing a bit later07:54
salgadosure. I'll do this07:55
=== sleipnir [n=sleipnir@65.165.85.16] has joined #launchpad
=== camilotelles_ [n=Camilo@200.128.80.250] has joined #launchpad
sleipnirI was trying to order the ubuntu linux cds. I type my neighborhood name but it didn't accept non ascii letter?07:56
salgadosleipnir, yes, it won't accept that because the shipping company can't handle them07:57
salgadosleipnir, is it possible to write it without the non-ascii characters?07:58
NafalloI wrote  as O :-)07:58
salgadosleipnir, I mean, replace the non-ascii ones with ascii ones, as Nafallo suggested07:59
Nafallosalgado: should be surname really be Bjlevik there in this case? :-)07:59
salgadoNafallo, for the names we do that ourselves, as we're using the name you entered in Launchpad, and they can have non-ascii chars08:00
Nafalloehm, oki. might see a bit odd when you tell the user not to use them but you can't change that for your name :-P.08:01
SteveAwould actually could do that for addresses too, but the thing is that our conversion isn't perfect for all situations08:01
SteveAso, the CDs won't go to the wrong place if the name is not really understandable or ambiguous08:02
SteveAbut they might if the address is08:02
SteveAso is it better to let people work out how best to represent their address using just ascii08:02
SteveAbeacuse they can certainly do a better job for their own language and locale than the automatic thing can do08:02
Nafalloso rather convert the name before putting it on the page so the user sees what you mean directly? :-)08:03
SteveAsure, that's a good idea08:03
SteveAif the name has any characters we can't deal with, we can convert it then, with a message explaining what has been done.08:04
SteveAsalgado: feature for the future, do you think?08:04
salgadoSteveA, I'm going to make the name a text entry, so people is required to enter it. when I do that I'll have to "clean" it anyway08:06
sleipnirI can, I am in Latin America and that is the name08:07
sleipnirthe name is Cabaas, but I try Cabanas08:09
dilysMerge to rocketfuel@canonical.com/launchpad--devel--0: Fix to make sure a person's displayname can't be set to a blank string. r=SteveA (patch-2564: guilherme.salgado@canonical.com)08:11
=== bradb returns
=== zyga [n=zyga@2-mi2-1.acn.waw.pl] has joined #launchpad
sivangmorning all08:24
=== lamont [n=lamont@15.238.6.23] has joined #launchpad
salgadocarlos, around?08:38
carlossalgado, hi08:39
salgadohi carlos. I found something weird in po_export_queue.py. https://chinstrap.ubuntu.com/~dsilvers/paste/file3di4X3.html08:40
salgadoit has two calls to transaction_manager.commit() and both these calls have an identical comment before08:40
carloshmmm08:41
carlosI think I fixed that already sometime ago...08:41
carlosat least it smells like the same thing....08:41
=== dand [n=dand@83.103.205.67] has joined #launchpad
carlossalgado, feel free to remove one08:41
salgadocarlos, sorry. nevermind08:41
salgadoit must be because my tags sent me to an old tree I have here08:42
carlossalgado, aren't you using latest code?08:42
carlosoh08:42
carlosok08:42
salgadoit's fixed already. sorry for that08:42
salgadonow that I already bothered you, I'll ask something else...08:43
salgadodoes the rosetta-export-queue.py script sends anything to the librarian?08:43
carlossalgado, yes08:44
salgadocarlos, do you have a test for it? and if so, do you have to do any librarian setup/teardown on this test?08:44
carlossalgado, it uses a method included inside database/pofile.py08:45
carlosthat has a test08:45
carlosnot sure if daf added a test for the script using that method, but I suppose he did it08:45
carlossalgado, why?08:46
carlosare you having problems?08:46
salgadokind of08:46
salgadoI have a script that sends files to librarian08:46
salgadoif I do a make run (only to get librarian running) and then run the script manually, it works fine08:46
salgadobut if I run the test I have for that script, it fails saying it can't connect to the librarian08:47
carlossalgado, I have a test that uses librarian if that's what you are looking for08:48
salgadoI'm running a make check now to see if the problem is because I'm running a single test08:48
salgadocarlos, where is it?08:48
carlossalgado, doc/poimport.txt08:49
salgadocarlos, ta!08:50
carlossalgado, you are welcome08:50
=== sabdfl [n=mark@pdpc/supporter/silver/sabdfl] has left #launchpad []
bradbwow09:05
SteveAbradb: so, i'd like you to do that NullBugTask refactor i mentioned earlier, but not just now.09:06
bradbI tried to find the bug that talked about not being able to reassign to another upstream. I couldn't find it in LP, so I search in Google, and it's a googlewhack09:06
bradbSteveA: ok09:07
SteveAi'm doing some rad refactoring of traversal stuff09:07
SteveAwant to see something cool?09:07
bradbsure09:08
SteveA    @stepthrough('+bug')09:08
SteveA    def traverse_bug(self, name):09:08
SteveA        """Traverses +bug portions of URLs"""09:08
SteveA        if name.isdigit():09:08
SteveA            task = _get_task_for_context(name, self.context)09:08
SteveA            if task is not None:09:08
SteveA                return task09:08
SteveA        raise NotFoundError09:08
SteveA09:08
SteveAthat's in a mix in class09:08
SteveAso for all the things you want to have a +bug in09:08
SteveAyou just mix that class into your Navigation09:08
bob2that's pretty cool09:08
bradbSteveA: interesting09:09
SteveAit really tidies up the navigation stuff09:09
SteveAand it'll allow me to fix up breadcrumbs properly09:09
sivangI'm cliking my way to translate HAL using the lpi item, and get the explenation page, wasn't I supposed to be landed in rosetta already?09:09
bob2is that use of a decorator a LP or a zope3 thing?09:10
sivangalso tells me to get an account, although I'm logged09:10
SteveAbob2: something i just wrote for LP09:10
bradbSteveA: does that mean database code is going to mix in browser code, or am I missing something?09:11
SteveAyou must be missing something09:11
SteveAit's all browser code09:11
bradbSteveA: well, you said "for all things you want to have a +bug in". I want to have a +bug in an IDistribution, don't I?09:12
SteveAyeah, so you write a DistributionNavigation class09:12
salgadoSteveA, what happens if I access '+bug/'?09:12
SteveA class DistributionNavigation(Navigation, BugTargetNavigationMixin):09:13
SteveAsalgado: it will use the view registered for the name +bug09:13
SteveAso, that view can be registered to redirect for example09:13
SteveAor you can add some code to the navigation to do the redirection09:13
SteveAmaybe i'll make that easy09:13
mptbradb: That's the acid test of a site's search function: Does Google do a better job of searching the same site? :-)09:13
SteveA  redirections = {'+bug': '+bugs'}09:14
SteveAyeah, i think i'll do that, actually09:14
bradbmpt: LP search is horrifically bad.09:14
salgadoSteveA, please do it. :)09:14
mptbradb: I know, I reported two bugs about it in the past few days09:14
bradbIt would have to be greatly improved to be "bad". But, after Montreal, we'll start moving in that direction, hopefully.09:14
bradbWhen the search starts to kick ass, the users will start to feel like they're in the driver's seat. Right now they're just caught under the rear bumper.09:15
SteveAactually, it will be redirection('+bug', '+bugs'), to deal elegantly with mixins09:16
mptthat +bug/+bugs makes me cry09:16
bradbsame here09:16
SteveAit will be easy to change either way around once these improvements land09:20
SteveAand that will be the time to make the case for it09:21
salgadoSteveA, any chance for you to take a look at my shipit-exports branch today?09:25
SteveAsalgado: i need to go home very soon09:25
SteveAyou mean, for a review?09:26
salgadoSteveA, yes09:26
SteveAi can do it first thing tomorrow, but not tonight09:26
salgadothat's okay. I'll coordinate with stub to run it again on staging tonight.09:27
mptSteveA: Got five minutes to listen to a silly proposal?09:27
SteveAok09:31
mptSteveA: We have rocketfuel, which is our upstream09:31
mptthen we have launchpad.net, which is (almost) always a few days out of date09:31
mptSometimes launchpad.net gets fixes cherrypicked from rocketfuel09:32
mptThis may remind you of something that Malone caters for09:32
mptSo perhaps there can be a launchpad.net product in Launchpad09:32
mptand if you want something cherrypicked, you open a request for that bug for launchpad.net as well as the one for launchpad/rosetta/malone/launchpad-cal09:33
mptas well as -> in addition to09:33
=== carlos -> dinner
carlossee you 09:34
mptThe biggest drawback of that would be that not all cherrypicked bugfixes are for bugs that are in Malone09:34
mpt(i.e. some are for bugs that never get reported)09:35
mptThe second biggest drawback might be that it's slower to use Malone than to use the mailing list09:35
mptThoughts?09:36
sivangmpt: are you referring for bugs about Ubuntu or launchpad ?09:39
mptsivang: bugs about Launchpad09:39
SteveAmpt: anything that gets us using launchpad.net more is a good thing09:39
SteveAmpt: propose it on the mailing list - i want to see what stu thinks09:39
mptok, thanks09:40
SteveAone downside is that it might confuse bug reporters09:40
sivangmpt: what would be more natural then to use malone for reporting bugs about launchpad?09:40
mptSteveA: Yes, this morning I was trying to think of a good non-confusing name for the launchpad.net product09:40
mptsivang: We already do, that's not the problem09:40
mptsivang: Malone lets you ask for the same bug to be fixed in multiple places09:40
sivangmpt: sorry, I guess I didn't fully understand what you were referring to.09:41
mptsivang: Normally launchpad.net picks up fixes from the main launchpad code within a week, but sometimes we want fixes to be applied quicker than that.09:41
mptsivang: So we "cherrypick", which involves e-mailing stub and saying "please apply this fix"09:41
mptbut Malone already caters for this (albeit aimed at Linux distributions rather than Web sites), so maybe we should be doing it with Malone09:42
sivangmpt: you mean, selective imports of patches according the to a specific fix? if so, it sounds like an interesting experiment to manage that through launchpad09:44
sivang(although I have no knowledge of what it involves)09:46
=== claude [n=claude@102.119.62.81.cust.bluewin.ch] has joined #launchpad
claudemmmh...09:49
claudesystem error :(09:49
SteveAmpt: this aspect of launchpad is not used as much as we'd like, so this could well be a good thing.09:50
mptindeed09:50
=== WaterSevenUb [n=WaterSev@azevedo.astro.up.pt] has joined #launchpad
claudeis there problems right now with rosetta ?09:54
claudeexample: https://launchpad.net/distros/ubuntu/breezy/+lang/fr09:54
dilysMerge to rocketfuel@canonical.com/launchpad--devel--0: [trivial]  allow upstream product reassignment. fixes #1073. also fixes a small href bug in the also reported in portlet. (patch-2565: brad.bollenbach@canonical.com)09:58
mptrock!09:58
=== mpt sees that make check has taken 54 minutes so far
salgadoSteveA, I need to merge that fix for the country widget ASAP. I just fixed the view code to complain when people don't select any country. can you review it?10:04
SteveAsalgado: ok10:06
salgadoSteveA, https://chinstrap.ubuntu.com/~dsilvers/paste/filejlyIod.html10:06
SteveAsalgado: did you test it well?  it really should go to staging first.10:06
SteveAit could cause more problems than it fixes 10:06
salgadoyes, it's working fine, although there's no test for this specific case10:08
=== salgado adds one
salgadothe problem is that nobody is going to use this on staging10:09
claudecould someone tell me if rosetta "system errors" right now are normal10:10
claudeis it a heavy load problem ?10:10
Kinnisonrehi10:10
SteveAsalgado: that's only a tiny part of the changes10:11
=== SteveA looks at the diff
SteveAsalgado: if it works, then fine10:11
salgadoSteveA, that's the changes I did. I guess you know the changes you did, no?10:11
SteveAthe changes i did were just an example for you10:12
SteveAjust a proof of concept10:12
SteveAwith no tests or anything10:12
salgadohmmm. does it miss anything other than tests and docstrings?10:13
segfaultwhat is the purpose of review-NAMES in Rosetta?10:13
SteveAsalgado: well, the items are in the wrong place, perhaps10:20
salgadoSteveA, what would be the right place? canonical/widgets/choice.py?10:22
SteveAwell, the interface should go in interfaces really10:23
bradbmpt: http://69.70.209.33:8086/malone -- (warning: it's just a prototype, so it doesn't work) what do you think of this Malone homepage?10:26
SteveAsalgado: i need to go home now.  send me an email about stuff you want me to look at in the morning.10:26
=== sorush20 [n=sorush20@82-43-184-143.cable.ubr07.newm.blueyonder.co.uk] has joined #launchpad
salgadoSteveA, okay. thanks for the help10:26
sorush20guys how do I make a ubuntu wiki. do I have to become a proper member.. 10:26
=== terrex [n=terrex@84-122-83-29.onocable.ono.com] has joined #launchpad
bradbmpt: I can think of more ideal ways to do it (a la Google search box that finds what you're looking for whether it's a bug id, a thing to report a bug on, or a bug report), but not with anything resembling our current search capabilities, and not within a reasonable timeframe10:27
bradb"Somewhere else..." would take you to the product search10:28
mptbradb: That's a definite improvement over the front page10:50
mptover the current page, I mean10:50
mptthough I would keep the "Latest bugs" of the current page10:50
bradbI was just going to add some links above "CVE Tracker" too10:50
bradb"Bugs Assigned to You", "Bugs You've Reported" and "Bugs You're Interested In"10:50
mptthe three-column layout really doesn't suit front pages10:51
bradbmpt: are there pages that it does suit? :P10:52
bradbwe need a javascript bowling game easter egg10:52
mptbradb: that "Ubuntu" / "Somewhere Else..." ( Go to Bug Homepage ) is a waste of clickage10:52
bradbtwo secs, just twiddling some things10:54
mptand, er, why does /malone/assigned still exist? ;-)10:56
ajmitchpeople probably have it bookmarked :)10:59
bradbmpt: mm, i just found a slight bug in our li cve CSS stuff. icon wasn't showing properly. fixed it here.11:02
bradbmpt: that link exists now only to get your auth credentials and redirect you to the right place11:03
bradb(that link, i.e. /malone/assigned)11:04
mpthey, wow, it works on production now!11:07
mptbradb: ok, so that's what we need for the product bugs menu11:07
mpta product-specific equivalent11:08
bradbmpt: one sec, take a look at what i've done now11:08
bradbi've tweaked it a bit11:08
mptnow the first two menu links go to #11:08
bradbmpt: dude, the whole *page* is broken :)11:08
bradbit's only a prototype, nothing works11:09
bradbif you think it looks reasonable, i'll make it work11:09
mptdude, if you want a prototype, let me know11:09
mptyour job is making it work ;-)11:09
bradbmy job is also making users happy11:09
bradber, i mean, my job is making users happy and, oh yeah, coding11:10
bradbmpt: should i implement this, or can you do better?11:10
bradb(more specifically, can you design something better than we can implement pretty quickly?)11:11
mptwell, if this is what you want to be doing now, I'll get you a prototype in the next day or two11:11
mptsure11:11
mptsalgado: what's person-foaf.pt for?11:12
bradbwell, the front page is an iron curtain, so the sooner the better11:12
salgadompt, the rdf, I guess?11:12
mptoh yes, it's rdf11:13
mptI was staring at it and didn't notice11:13
mptsorry11:13
bradbmpt: so, I can expect this from you by wed at the latest?11:13
mptbradb: sure11:13
bradbi'll take you up on that11:13
=== mjans [i=laptop@cp148894-a.mill1.nb.home.nl] has joined #launchpad
mjansHi there11:18
bradbmpt: in the meantime, what do you think are the most pressing usability issues that I can fix without, well, you know.11:18
mjansI just used the translation part of launchpad, and I think I have a nice feature which is easy to implement and would help a lot people11:19
bradb. o O (Edit Assignee/Status Details)11:19
mjansWhen translating there are most of the time hints given from other people who already have translated it11:20
mjansIs it possible that someone makes these suggestions clickable?11:21
mjansthat when you click on it it will be filled in in the text box11:21
mjansis it better to create a bug report for this? and so, where?11:24
mptbradb: Is it within your power to implement MaloneBugSubscriptions?11:32
mptbradb: Either that, or pull the attachment form into the bug page11:34
mptor pull the duplicate form into the bug page11:34
mptbradb: Any one of those three would reduce the number of clicks and page loads required when dealing with a bug11:36
=== bradb_ [n=bradb@modemcable033.209-70-69.mc.videotron.ca] has joined #launchpad
mptoh11:38
mptbradb_: How much did you miss? :-)11:38
bradb_argh, network problems11:38
bradb_everything11:38
mpt(18:32:22) mpt: bradb: Is it within your power to implement MaloneBugSubscriptions?11:39
mpt(18:34:07) mpt: bradb: Either that, or pull the attachment form into the bug page11:39
mpt(18:34:13) mpt: or pull the duplicate form into the bug page11:39
mpt(18:36:07) mpt: bradb: Any one of those three would reduce the number of clicks and page loads required when dealing with a bug11:39
mptAlso, put BradBollenbachApproved in the status of SimplifyingMalone if you feel so inclined11:39
bradb_oh, right, i could do that too11:40
bradb_hm, MBS. I'd have to take a read through the spec.11:40
bradb_pulling the attachment form in would be nice11:41
=== bradb_ is now known as bradb
bradbmpt: i.e. and putting it with the comment form?11:42
mptyes11:43
bradbright, I can do that one tomorrow11:43
bradbshort and sweet11:43
mptexcellent11:43
mptg'night all11:45

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