sabdflBradB: text, not textarea12:04
BradBsabdfl: i dunno then, because value="" should work fine12:08
sabdfl<b>Title:</b>                         <input name="field.title"     type="text" size="50" value="Re: Reproduced on AIX" />12:09
sabdflnot working12:09
BradBsabdfl: when you view source, are you seeing the value="blah"?12:10
BradBit works fine for me12:10
sabdflyes, as above12:10
sabdflit might be the collapsing fieldset that causes it12:10
BradBSteveA: ping12:17
dilysMerge to rocketfuel@canonical.com/cscvs--devel--1.0: fix default branch enabled changeste creation to merge changsets correctly, and disable aliased cvs repositories temporarily (patch-38)12:44
sabdflstill no stub!12:46
BradBSteveA: two things about your tales fix: 1. it breaks when value is an int, 2. it doesn't handle multiple selects (which was the hard-part of trying to shoehorn this in by-hand in tales)12:49
SteveABradB: please add to the malone bug the behaviour you want from multiple selects12:58
SteveAmaking it handle ints is easy enough12:59
SteveAI guess you'd want it to behave nicely in the presence of a sequence object -- that is, match on any element of the sequence12:59
BradBSteveA: the bug already mentions that this thing should highlight the zero, one, or more values selected.01:00
BradBwell, more specifically "When a user selects one or more of these values, submits the form, and then it's rerendered, I want the values the user selected to be shown as, well, selected in this widget."01:01
SteveAwhat does the query part of the URL look like in this case? 01:02
SteveAor, more to the point, what does request.form look like?01:02
BradBSteveA: in short: request/htmlform:foo/selected/?value should return True whenever value is a selected value of that field. naturally, for multiple selects that could happen more than once on the same field.01:04
SteveAso, what would you do in python code?01:04
BradBSteveA: i'm not writing any python code here, so nothing.01:05
BradBbut for request['foo']  where foo is a multiple select, it might be a single value, or a list, depending on how many values are selected.01:06
SteveABradB: okay, looks like I have some code01:16
BradBSteveA: i can't access this functional with python: either eh? i'm needing that right about now.01:19
SteveABradB: in your email01:20
SteveAshould be faster than tla01:20
sabdflnight all01:22
BradBsee ya tomorrow sabdfl 01:23
sabdflBradB: and tomorrow, you'll also see how malone performs with 200,000 bugs in the db :-)01:24
BradBhehe, cool01:24
=== sabdfl is now known as sabdfl|away
SteveAhow's the new code look, brad?01:25
BradBi'll try it in about 3 minutes, just finishing the another change on these search widgets01:28
BradBok, applying now01:32
BradBer, i have to commit my current changes anyway, i guess, otherwise my diff's get all screwed up01:33
SteveAnot really01:34
SteveAI mean, I haven't committed this01:34
BradBah, ok01:34
SteveAit is just a few lines of code to one module01:34
BradByou want me to commit it then? (even still i'll have to first commit my current changes anyway)01:35
SteveAif it works, yes01:35
BradBit'll take about 15 mins, at least, unfortunately01:36
BradBby the time i commit these current changes, patch, and get around to testing it01:37
SteveAcan't you just apply the patch, and test it now?01:37
BradB(and, of course, i run make check before committing, because there's no point doing a commit where all the tests don't pass)01:37
SteveAwho cares if it is in your own archive?01:38
SteveAof course, make check before submitting a merge to pqm01:38
BradBSteveA: because it removes the self-containedness of a patch01:38
SteveAbut before every commit of your own?  sounds a little sadistic to me.  01:38
SteveAI'd suggest running a subset of the tests that reflect what you've been working on01:39
BradBSteveA: as opposed to "oh, grab patch-55 where i added that...oh and patch-57 where i fixed what patch-55 broke)01:39
SteveAthe thing is, I need to go to bed very soon, and I'd like to be able to help you out with any problems the code causes you01:39
BradBok, i'll patch now, and commit these two things at once01:40
SteveAthanks -- practicality sometimes beats purity ;-)01:40
BradBseems to work. doing a bit more testing.01:43
BradByeah, it seems to work.01:45
SteveAmail me about any problems, or file them in malone, and I'll look at it tomorrow01:46
BradBsure, thanks a lot01:46
dilysdaf: event: product assignment edited02:23
dilysMalone bug #11 closed for package malone: Correct from & errors addresses02:23
dilysMalone bug #9 closed for package malone: What is an "Owner" of a bug?02:23
dilysMalone bug #9 closed for package malone: What is an "Owner" of a bug?02:24
dilysMalone bug #8 closed for package malone: Title *and* summary *and* Description is too much02:24
dilysMalone bug #13 closed for package malone: Comment incorrectly credited to "(none)"02:24
dilysMalone bug #14 closed for package malone: Bug submitter should be automatically subscribed to bug02:24
dilysMalone bug #15 closed for package malone: Title field on bug add form needs to be widened02:24
dilysMalone bug #30 closed for package malone: Comment textarea needs to be larger02:24
dilysMalone bug #33 closed for package malone: Bug subject line should include bug number02:24
BradBdoes that mean it works? :P02:33
dafI think so02:33
BradBwhat's with that first line? daf: event: ...02:34
dafthat was some debugging stuff I forgot to remove :)02:35
BradBah, heh02:36
dilysMalone bug #35 closed for package malone: Person dropdown should be shortened02:47
dilysMerge to rocketfuel@canonical.com/launchpad--devel--0: mostly bug search-related fixes (patch-801)03:39
=== BradB is now known as BradB|away
dilysMerge to thelove@canonical.com/bazaar-debian--debian--1.1: branch to the 1.1 version (patch-1)09:11
sabdfl|awayanybody know where stub is?09:43
=== sabdfl|away is now known as sabdfl
=== stub [~stub@dsl-] has joined #launchpad
=== lulu [~lu@host217-37-231-28.in-addr.btopenworld.com] has joined #launchpad
lulumorning all :o)10:14
=== Kinnison [~dsilvers@host217-37-231-28.in-addr.btopenworld.com] has joined #launchpad
stubsabdfl: ping10:45
=== ddaa [~ddaa@deep-thought.xlii.org] has joined #launchpad
ddaaheya people, i'm making *.pyc files in launchpad junk.11:02
ddaaSince it's cache data and it's transparently generated, junk is the right category.11:03
Kinnisonseems reasonable to me11:04
stubSounds sane. Occasionally people distribute proprietary code as .pyc files, but I doubt we would be touching junk like that.11:04
ddaastub: you see, that's even the term you use naturally ;-)11:05
ddaaActually, there is a use case for me when I'm trynig to clean up stuff when changing python version on the same source tree.11:05
ddaaI need to figure out the important compiled stuff that's here.11:06
Kinnisonsabdfl: I'm ready when you are.11:07
=== ddaa does the same to zope
dilysMerge to rocketfuel@canonical.com/launchpad--devel--0: junk *.pyc (patch-802)11:21
dilysMerge to rocketfuel@canonical.com/buildbot--devel--0: junk *.pyc (patch-68)11:43
dilysMerge to rocketfuel@canonical.com/pyarch--devel--0.5: junk *.pyc and *.pyo (patch-53)11:45
ddaastub: who is authorised to merge to zope and sqlobject?11:45
stubJust lifeless I believe11:45
dilysMerge to rocketfuel@canonical.com/sqlos--test--3.0: junk *.pyc and *.pyo (patch-4)11:52
ddaaHa, looks like he forgot to lock that one down :-)11:52
=== cprov [~cprov@] has joined #launchpad
ddaalifeless: broken taxi again.12:14
ddaa../lib/importd/Job.py:138:mirrorTarget: exceptions.TypeError, importVersion() takes exactly 4 arguments (3 given)12:14
dilysMerge to rocketfuel@canonical.com/launchpad--devel--0: Database schema and sample data updates (patch-803)12:19
=== debonzi [~debonzi@] has joined #launchpad
=== carlos [~carlos@69.Red-80-33-181.pooles.rima-tde.net] has joined #launchpad
debonzicarlos, morning12:35
cprovcarlos: morning, how to run a page test individually in our current tree ? I mean, do you know where is the "pagetest" app refered on pagetests/README ?12:40
carloscprov: I don't have any idea, I'm having problems with the tests (as I said yesterday by mail)12:41
cprovcarlos: me too :(12:42
SteveAcprov: I think that's "science fiction"12:43
SteveAcan you write such a script?12:43
cprovSteveA: I think yes .. test on page per shoot should be useful, isn't it ?12:47
SteveAyou'd specify one page, or perhaps a story and page12:48
SteveAif it is just one page, you get just that page12:49
SteveAif you say a story and a page, you get the story up to that page.12:49
cprovSteveA: I see, the group of pagetests, the story, might be more useful in real cases, just as is described in that README, that "pagetest" is the solution, why did you say it is "science fiction" ?12:52
=== elmo__ [~james@host217-37-231-28.in-addr.btopenworld.com] has joined #launchpad
=== elmo__ is now known as elmo
=== kiko [~kiko@200-206-134-238.async.com.br] has joined #launchpad
luluSteveA: ping01:35
SteveAhello lu01:36
luluhey Stevo :o)01:36
luluSteveA: Elmo had a chat to me today about our 1.6Gig database. Apparently we need to "pack" it - and save history on a weekly basis.01:36
SteveAcprov: the script to run just one pagetest might be "science fiction" -- that is, it is described well, but doesn't actually exist.01:36
SteveAlulu: um... "pack it and lose history" I think01:36
SteveAthat is what packing actually does01:37
luluSteveA: yes, but save history for a week?01:37
luluand we could have a "button to press" to make this easy for us to do......01:37
SteveAwe can remove history up until one week ago, yes01:37
SteveAther is a button to press to do this01:38
SteveAbut, it should actually be scripted instead01:38
SteveAit will be easy to script once zeo is set up01:38
luluSteveA: agreed - automated would be best.....01:38
SteveAif you go to the true root of the site, using gentoo:whateverport/manage01:38
luluSteveA: yes...01:39
SteveAthen you can click on "control_panel" and then "database" and then choose to pack it01:39
SteveAput "7" in the "number of days of history to keep" place01:39
=== lulu logs in
SteveAit takes a little while to process01:39
SteveAonce you ask it to pack01:39
SteveAthe site will still be running, though01:39
luluone sec....01:41
luluSteveA: done01:45
=== Kinnison raises his hand just in case we're having a meeting
carlosSteveA: ?01:53
SteveAhello carlos01:55
carlosSteveA: hi01:55
carlosSteveA: do we have a meeting now?01:55
SteveAoh yeah01:56
SteveAI was so caught up in writing code...01:56
SteveAthanks for the reminder01:56
SteveAlet's have a launchpad meeting01:56
SteveAwho is here?01:56
=== carlos is here
cprovSteveA: ok, backing to the main target, do you think write the famous "pagetest" is useful now, at least for my task, or not ?01:57
=== stub raises hand
SteveAcprov: it is a different task.01:58
SteveAcprov: your main task is about making the diff output more useful.  you can do that without even running a pagetest.  Just keep a textfile of actual output and desired output with '...'s, and work on the diffing algorithm01:59
SteveAcprov: I think you're here :-)01:59
dilysMerge to rocketfuel@canonical.com/launchpad--devel--0: moved tales stuff into webapp (patch-804)01:59
cprovSteveA: ok, I'll  concentrate in "better output"01:59
SteveAdaf, debonzi, kiko, Kinnison, sabdfl ?02:00
stubcprov: the 'pagetest' script could actually be quite trivial to write if you hack it. It could just call set a magic environment variable and call the main test.py. The test_pages.py script would see the environment variable and only run the specified story.02:00
kikohey SteveA02:00
debonziSteveA, 02:00
SteveABradB|away: ???02:01
SteveAlet's start with rosetta02:02
cprovstub: maybe, I can't see it quite simple, like you ... but you might be right 02:02
SteveAenv vars are evil02:02
KinnisonSteveA: I've just got lunch02:02
SteveAcarlos: how is the "get rosetta on the dogfood system" task going?02:02
=== Kinnison is chez lunchpad :-)
carlosSteveA: yesterday, daf imported the users into the dogfood database02:03
carlosSteveA: I think the remaining task is finish the .pot/.po import from gnome-applets and gnome-panel02:03
carlosand we are ready to move there02:03
SteveAthat is all that needs to happen before we can permanently turn off daf's rosetta alpha server?02:03
SteveAwhat about changing the virtual hosting configuration?02:03
carlosI think so, the front page seems to be ready already02:04
carloshmmm, not sure02:04
SteveAwhen can we finish the pot/po import ?02:04
stubcprov: It would work and be solid and future proof. Just ugly ;)02:04
carlosSteveA: it depends on daf, so I don't know. I don't have access to the server so I cannot do anything about it02:04
SteveAwhere is daf?  anyone know?02:05
carlosdon't know02:05
SteveAI just asked mako to pour a bucket of icy water over daf02:06
SteveAmeanwhile, how is the rest of rosetta going?02:07
SteveAwhat work has been done since last week?>02:07
carlosSome UI improvements, code cleanups and functional test rewrites to fix them (I'm on it at this moment)02:07
SteveAwhat about getting lots more people to use rosetta?02:09
carlosblocked until the dogfood movement02:09
SteveAthat's the big issue as soon as we have the dogfood done02:09
sabdflhi guys02:09
SteveAok.  I see no reason at all we can't have the dogfood stuff done today.  Do you carlos, daf? 02:10
cprovhow is the password for foo.bar@ in the default database ?02:10
carloscprov: test02:10
cprovcarlos: thanks02:10
carlosdaf, sabdfl: morning02:10
SteveAdaf: how is the dogfood project going?  carlos says two more things to do: po imports, and virtual hosting.02:10
carlosSteveA: not sure, daf?02:10
sabdfldaf, carlos, any reason not to have rosetta running on dogfood today, as per stevea's question?02:10
dafSteveA: I did the user import last night02:10
dafso I think everything is ready02:11
SteveAwhat about po imports and virtual hosting config?02:11
dafeverything except for those two things02:11
SteveAhow long do po imports take?  when can you start?02:12
sabdflare they doable today daf?02:12
dafthe hosting stuff is pretty easy02:12
SteveAyes, you just need to make sure elmo will be available to do it for you02:13
dafI'm pretty sure the imports can be done today too02:13
dafI can start this morning02:13
dafwell, if I give elmo a diff, it should be pretty trivial02:13
SteveAI'd like to see the dogfood stuff totally complete before I finish work today02:13
SteveAso that I can try it out02:13
stubDoes this affect dogfood rollouts at all? 02:13
SteveAstub: don't think so, as there is nothing extra special about rosetta at this point02:14
SteveAno extra external dependencies02:14
SteveAdaf, carlos: can you confirm that?02:14
carlosstub: are all database patches applied to the dogfood server?02:15
stubAll except the last one, which is being rolled out right now.02:15
dafI don't think it affects the other dogfood stuff02:15
carlosstub: ok02:15
KinnisonWho handles the codebase updates?02:15
Kinnison''cos whoever does forgot to restart the librarian last time02:15
carlosSteveA: If daf thinks it can be done, I agree02:16
stubKinnison: That would be me02:16
=== Kinnison tsks stub :-)
SteveAok.  tomorrow, I want to have a session with daf and carlos to talk about what to do next with rosetta.02:16
SteveAdaf, carlos: okay?  12:30 UTC?02:16
carlosSteveA: it's ok for me02:17
SteveAas soon as the dogfood stuff is done today, you can get more people using rosetta02:17
carlosit could be later if it's better for daf02:17
SteveAanything else to ask / report for rosetta?02:18
SteveAok, next, malone please!02:18
carlosSteveA: not rosetta specific but I will appreciate an answer to my mail about the tests02:18
SteveAsummary of work since last week, current activities, goals for the next week02:18
SteveAcarlos: ok02:19
sabdflBradb has made a ton of good improvements02:19
sabdfli've been working on the bug assignment and status reports02:19
sabdfli've got a big refactor of the bugmessage system waiting for stub's approval02:20
sabdflstub, check private msg's02:20
sabdfli'm also setting up the debbugs sync system02:20
sabdflwe should be able to test it a little today on zhongshan02:21
SteveAdo we have a plan on setting up a bugzilla watch for the launchpad bugzilla?02:21
sabdflstub was to sort out auth for bug watches, or arrange for lp to not require auth from dogfood02:21
SteveAstub: how it that going?02:22
stubWe need to implement authentication for bugwatches, which will have to be custom coded for each bugsystemtype.02:22
SteveAdo you think that's a big job?02:23
SteveAcan we get it going as a special case for our bugzilla for now?02:23
stubSo if someone defines a bugzilla bugsyste, they can enter the username and the password. The checkwatches.py then needs to use that to log in, and propogate the auth credentials to all bugs checked on that tracker02:23
stubCoding hasn't started.02:23
stubWe can special case it, but most of the work is in the checkwatch cron stuff since it needs to know how o log in, and what credentials to propogate. Which involves me or whoever learning more about Bugzilla.02:24
kikostub, I've done such systems before, if you need some bugzilla help.02:25
sabdflthe only tracker that requires it is our own launchpad bugzilla02:26
sabdflwe could just continue to close bugs in there without watches, till the auth stuff is done02:26
SteveAI guess so, as the main point is to test out the watch system,02:26
stubkiko: Ta. will do.02:27
SteveAso, there's no point testing out a special case02:27
sabdflwe have plenty of watches that will come in from debbugs sync02:27
stubsabdfl: So we won't support watches on other systems that require auth? (such as trackers that do it to stop spambots harvesting email addresses?)02:27
sabdflwe will in time, i'm just saying we shouldn't think that malone is unusable for our purposes without auth support in watches02:28
SteveAany thoughts on how to allow malone to accept pre-formatted text?  such as source code snippets, tracebacks, etc?02:29
sabdflnone from me02:29
sabdfli have a similar issue though02:29
sabdfldebbugs sync basically means bring in a ton of mail messages02:30
sabdflour message class is *sort of* like an rfc822 message02:30
sabdflbut we don't distinguish between headers and body02:30
sabdflsince we want email-into-malone, and debbugs sync, we need to make the Message class smarter in the way it displays those messages02:31
SteveAok, so it becomes a "sensible presentation please" issue, rather than trying to push extra structure into the database02:32
stubI sketched out one possibility in the malone bug I opened on this issue.02:32
SteveAI'd like to point out something I added to TALES for page templates recently, at Brad's suggestion.02:35
stubBug 4502:35
SteveAWhen you want to do selects or radio buttons or checkboxes in html forms, without using schemas and fields and widgets02:35
SteveAyou can use request/htmlform:form_field_name/selected/literalvalue02:36
SteveAor use request/htmlform:form_field_name/selected/?variable_containing_value02:36
SteveAto get the text "selected" if the form_field's value matches a particular value02:36
SteveASecurity:  I'm starting work on the more flexible security code today.02:37
SteveAthis will allow you to use different permissions for different actions on an object, and grant different people those permissions depending on their relationship to an object.02:38
SteveASo, for example, a Bug's owner would get particular rights that another Person wouldn't have.02:38
SteveAAlso, I've been slowly moving code out of canonical.lp.  So far, most of it has ended up in canonical.launchpad.webapp02:39
SteveAcanonical.launchpad.webapp is for the machinery that helps to run launchpad under the hood02:40
SteveA(or bonnet, for speakers of british english)02:40
SteveAAnything more to talk about for malone?02:40
stubsourcepacakge selection is crap and ambiguous. I need to talk to the soyuz group to see if it is fixable.02:41
SteveAok, let's talk about soyuz.02:41
SteveAhello soyuz team02:41
stubMainly in that there is no way to reference a unique sourcepackage except by its integer key.02:41
kikohey soyuz02:42
dafSteveA: hmm, perhaps we can improve the situation for radio buttons also02:42
SteveAdaf: you can use "checked" instead of "selected"02:42
SteveAsoyuz: what's been happening?  what is currently underway?02:43
kikomainly cleanups and preparationf or dogfooding02:43
kiko(and I've myself been a bit hassled taking care of contracts and travel)02:44
kikoSteveA, one thing that keeps coming up is using the ZODB effectively in some soyuz features -- do we have a status update on how usable that is?02:44
SteveAdid salgado get any time with andrew to talk about doap?02:45
SteveAkiko: I need to write up how to do that.  I can do that today, as it is a small thing.02:45
kikoSteveA, thanks. 02:45
kikoI speced with mark yesterday bits about karma that will be going to salgado; apart from that I don't think they spoke much.02:46
kikoI need to sit down with salgado to get him up-to-speed on what should be done in terms of moving code into FOAF, I've set it down for this afternoon when he comes in (he's still in classes this month)02:46
SteveAok.  we should arrange that salgado and andrew talk on andrew's return, so that we can share the foaf and doap stuff around a bit02:47
SteveAI think I said "doap" earlier when I meant "foaf"02:47
SteveAany other soyuz news?  what will happen during the next week?02:47
SteveAKinnison: how is your stuff going?02:48
KinnisonSteveA: I finally got to dump a load of stuff into launchpad over the past week02:48
KinnisonSteveA: I'm currently chez sabdfl and we've been discussing the next phase02:48
KinnisonI have some plans to rationalise Lucille's views before I get stub to integrate them02:49
KinnisonI think I've made too many02:49
kikoSteveA, essentially taking advantage of kinnison's lucille work and finishing off the malone and rosetta bits.02:49
SteveAKinnison: I'll throw an ftp server at elmo a bit later, btw02:49
KinnisonSteveA: excellent. I'm looking forward to starting on the upload handler02:49
=== Kinnison has some notes to that effect that were made on the train this morning :-)
SteveAwill you be working on that too?02:50
KinnisonUnless someone else gets assigned to help me; assume I'll pretty much be writing anything lucille-related02:50
SteveAKinnison: okay.  I'll put it into RF then, under lucille02:50
Kinnisonelmo has done some work on the upload checking stuff which I will get him to give me; but I think he's mega-busy being our sysadmin so I doubt he'll have much time to help02:50
KinnisonSteveA: What does it comprise? Is it just a couple of classes or is it an app or what?02:51
sabdflonce Kinnison has uploads and archives working, the next bit is to integrate the build system to LP02:51
SteveAkiko: would be nice to have some more concrete goals for the next week, just to keep me sufficiently pointy-headed ;-)02:52
sabdflKinnison: goal is to have a fully integrated system running on dogfood by the end of es-conf02:52
kikoSteveA, yeah, sorry, things have been a bit in flux for me.02:52
Kinnisonsabdfl: Yep I may have to ask for another pair of hands though02:52
cprovSteveA: we, me and debonzi, are planning more some infrastructure improve on soyuz for this week, moving classes do launchpad/[db,zcml,browser,etc] 02:52
sabdflso i can upload a package to that, watch it build, get it published, see it in the archive02:52
SteveAKinnison: a couple of modules, depending on a very limited subset of zope302:52
KinnisonSteveA: lib/canonical/lucille/uploader/*.py then I think would be best02:53
sabdfldebonzi: thanks for you help getting things into shape, i appreciate that you are always willing to take on new work!02:53
sabdflyou have been great in terms of getting the code base up to spec with newer standards02:53
debonzisabdfl, thanks :)02:53
SteveAKinnison: there are hooks to do stuff when a client disconnects.  each client gets a fresh uploads directory inaccessible to other clients.02:53
KinnisonSteveA: Cool; that was pretty much what elmo said02:53
SteveAI need to iron a few kinks out of it, update elmo's tests, and write some minimal docs02:54
=== Kinnison nods
SteveAbut, it basically works in my sandbox now02:54
Kinnisontested with something like dput or dupload?02:55
SteveAno, just plan ftp client02:55
SteveAI'll leave that to you02:55
SteveAThere is still an iandrew.py in canonical/launchpad02:56
SteveAit seems to mostly contain pyarch interfaces02:56
=== SteveA pings ddaa
SteveAbe nice if these can be moved, perhaps into canonical/launchpad/interfaces/pyarch.py 02:56
kikoBradB|away, SteveA: we currently can create new users via soyuz, for the record. we're wondering how auth/ will handle this, if at all?02:56
ddaaSteveA: I think you should ask spiv.02:56
SteveAddaa: there's a file in launchpad called lib/canonical/launchpad/iandrew.py02:57
SteveAdoes it look like pyarch stuff to you?02:57
=== ddaa looks
SteveAif so, we should move it into lib/canonical/launchpad/interfaces/pyarch.py, as at least there the name of the module tells you what to expect inside it02:57
SteveAkiko: it doesn't have much to do with creating new users.02:58
ddaaI think it would be interesting to see what is the diff compared to lib/canonical/arch/interfaces.py02:58
SteveAyou can protect the ability to create new users by a particular permission02:58
ddaaha... the interfaces are not here any longer...02:58
kikoSteveA, that's what I'm talking about. what are our security levels.02:58
ddaaSteveA: in any case, it's massively based on the zope-interface stuff I did a while ago. 02:59
SteveAright now, just permissions zope.Public and launchpad.AnyPerson.  I'll write more about that once the system is in rocketfuel.02:59
SteveAddaa: so it is all pyarch stuff?02:59
ddaaI cannot be positive. I don't know what is the delta.02:59
ddaaI do not even know what has become of that interface file I wrote.03:00
SteveAglancing through it, would you give it a "probably mostly pyarch" ?03:00
SteveAI wonder if it is even used...03:00
ddaaha... actually that _is_ the interface file I wrote I while ago.03:01
kikoSteveA, thanks.03:01
SteveAif it isn't even used, we should get rid of it from launchpad03:01
SteveAuntil it is used03:01
ddaaIt was renamed in patch-410 on october 1st.03:01
ddaaThen you should ask spiv. I have not been involved in working with that crack for something like 4 months.03:02
SteveAok, thanks ddaa03:02
SteveAany other business for this launchpad meeting?03:03
ddaaSteveA: it's probably "mostly pyarch", but actually I never quite understood the purpose of that interface file to start with.03:03
sabdflddaa: i think those are the bits of buttress03:04
sabdflin other words, those are interfaces used for the system to know about all the arch tables in the db03:05
sabdflid like to know who in the arch team is repsonsible for those03:05
ddaasince it's call spiv, I'd say spiv :)03:05
sabdflwhen we were restructuring, we each created a file iname.py03:05
sabdflthen moved classes into our own files03:06
sabdflbut it doesn't mean that you knew too much about that subsystem03:06
ddaathe summary of the revision when it was renamed was "Move interfaces and database classes for buttress and librarian."03:06
sabdflthen the subsystem owners were supposed to move the classes to interfaces/*.py and database/*.py03:06
sabdflas i understand it you are the owner of the buttress system, right?03:06
ddaaI do not think so. All I did was writing the arch/interfaces.py file a while ago.03:07
ddaaI should be taking ownership of buildbot in the next weeks.03:07
ddaaFrankly I have no idea of the current scope of buttress.03:08
ddaaHow urgent is determining the fate of this file?03:08
sabdflthis is why buttress is lying in pieces on the floor then03:09
sabdflnobody has ownership03:09
=== BradB|away is now known as BradB
kikoyeah, I asked about this a while back and nobody was in charge then either.03:09
sabdflhi BradB03:09
sabdflwe have 4 arch people on the team, one of them will have to take on buttress03:09
SteveAhello brad.  can you skip through the log of the meeting, and see if you need to add anything?03:09
BradBargh, sorry, i forgot :(03:10
BradBwill definitely catch up though03:10
=== ddaa greps through the code
BradBSteveA: A few to things I would add are:03:14
BradBI'm planning on doing three things today: 1. setting default search criteria, based on the person looking at the page03:15
BradBThis means we need to get everyone setup properly as maintainers of their respective products, or they won't see anything by default.03:15
BradB2. Bug paging.03:15
BradB3. Smarter notification, namely Cc'ing assignees automatically.03:16
BradBSecondly, that for the code formatting, maybe we could do as I've seen other sites do and break the rules a bit and use <code></code> for multi-line code/traceback snippets (even though the spec says it's meant for partial-line snippets, it might be the most natural thing to use in our case for multi-line)03:17
BradBsabdfl, SteveA, whomever: What do you think?03:17
SteveAhow does the message presentation tell when to use <code> </code> around something?03:17
ddaasabdfl: this stuff is used mainly in the (largely useless) arch/broker.py module03:17
SteveAor do you mean that a person includes that?03:17
BradBSteveA: the user puts it in there. we might have a little note saying "put <code></code> around code snippets" to somehow make it obvious.03:18
ddaaAnd also in some places in the new database stuff and in cscvs03:18
ddaaProbably, you should also ask "what about arch.broker".03:19
SteveABradB: as we'll be drawing stuff in from other bug tracking systems, I think we'll need to have some heuristics that understand how these things work in such other systems.03:19
SteveA<code> </code> could be one such heuristi03:19
sabdflddaa: what is arch.broker?03:19
sabdflBradB: i think we need to chat a bit about the reporting pages03:19
sabdflBradB: we seem to have different ideas of how the system is likely to be used03:19
ddaaSomething lifeless had bob2 to write during the last arch sprint, when we were trying to work around the missing database interface.03:20
sabdfli definitely think a paging system will be very useful03:20
ddaaMostly stub.03:20
ddaaNot THE stub, stub as in "place holder code".03:20
stubBradB, SteveA: I don't think we should be defining yet-another-markup-language. I'd rather just render everything in a fixed with font preserving whitespace03:20
BradBsabdfl: there's only meant to really be one main "reporting" page, and if anything the current links like "bugs assigned to me", or "bugs i submitted" would be "shortcuts" with the appropriate pre-selected search criteria. heck, we could even give the user custom searches.03:20
BradBstub: YAML? <code></code> is in the spec, at least.03:21
stub(like <pre>, except allowing the browser to break lines)03:21
BradByeah, basically.03:21
SteveAstub, BradB: if we render it in a fixed-width font, I guess we could use python's textwrap to wrap it at a sensible line length03:21
stubBradB: So we are allowing HTML? Or a subset of HTML?03:21
SteveAand make the original plaintext available at a link if necessary03:21
BradBstub: we'll allow a few tags03:22
stubSo we are defining a new spec03:22
ddaasabdfl: I guess we should discuss the fate of that cruft during the sprint.03:22
sabdflddaa: ok03:22
BradBstub: we're defining the tags from the spec you're allowed to use, yeah.03:22
stubHow will this interact with incomming and outgoing emails?03:23
BradBstub: the rules will be no different03:23
BradBwe might have to special-case lines that start with ">>> ", i dunno. we'll figure some of this out as we go along, no doubt.03:24
BradBstub: but, well, outgoing, i'm not sure.03:24
BradBwe could give a choice to the user to have html formatted mail, i suppose.03:24
SteveAI'd like to declare this launchpad meeting officially over.  Doesn't mean you have to stop discussing bug formatting though.03:24
dafif you're importing comments from debbugs, you'll have to treat the formatting in those differently, no?03:25
stubThe rules are different. Text based email (from developers) is in a monospace font. The system takes that and displays some of it as monospace and some of it as proportional. The outgoing emails are probably the original that was sent. We have two different renderings, and the person sending the email can't see which is used until after the message appears on the web site.03:25
Kinnisonsabdfl: same place, dogfood_dump.bz203:25
stubIf we just use monospace for everything, there is no need for <code>03:25
BradBstub: eeee, that would hurt03:25
stubWhy? Email will be monospace anyway, which is what the bulk of messages will be read in.03:26
BradBstub: are you familiar with debian's bug tracking stuff? i'm not, but if it's good, we could just borrow ideas mostly from them. i don't think it's worth spending too much time brainstorming about problems that have already been solved by several other systems.03:27
dilysMalone bug #29 closed for package malone: Make maintainer assignees visible03:27
stubBradB: I'm not familiar with debbugs.03:28
dilysMerge to rocketfuel@canonical.com/launchpad--devel--0: More work on functional tests reactivation (patch-805)03:28
dafdebbugs just shows emils in a monospace font03:29
SteveAdo the simplest thing that works.03:29
BradBthat doesn't surprise me. i can't see DD's wanting HTML-formatted email.03:29
dafBradB: quite03:29
dafI agree with Steve03:30
BradBme too, that's why i said i don't want to spend much time on this one.03:30
dafexcept that linkifying stuff automatically is very useful03:30
BradBmaybe pre + textwrap?03:30
SteveAthe #NNNN feature of bugzilla is nice03:30
dafand http:/... should be turned into <a href="http:/...">http:/...</a>03:31
SteveAI'd like it to read "bug 56" rather than "#56" though03:31
dafexcept you can't do the strikethrough thing that Bugzilla does, because bugs are never closed, as far as I can tell03:31
dafthey just have their package assignements closed03:31
stubBradB: Just do each line as a <pre>, or <code> or <tt> or whatever03:33
dilysNew Malone bug #50: "Add an option to comment why we do a status change", submitted by Carlos Perell=C3=B3 Mar=C3=ADn03:33
daferk, need to implement quoted-printable decoding03:34
carlosdilys: you need to learn nonascii chars :-)03:34
stubdaf: Its all in the email package just waiting for you to use it.03:34
dafstub: yeah?03:35
dafstub: I thought it was elsewhere in the standard library03:35
BradBstub: hm, come to think of it, i don't think we want to break lines for code anyway.03:35
BradBstub: we don't we just allow <pre></pre> around blocks of code and be done with it?03:35
dafstub: also, I've noticed that Malone notification emails contain newlines in the subjects03:35
stubdaf: Well, if you are hacking it you can just do 'foo'.decode('quopri').03:36
=== debonzi -> lunch
stubBradB: It seems to much up CSS - someone sends an email without line breaks and it screws up the rendering. Nicer if the browser knows it should break lines I think (my opinion anyway)03:37
carlosSteveA: not sure if you said it already, but I suppose the meeting is over, right?03:37
=== carlos wants to go to have lunch
BradBstub: how does it muck up the CSS if it's only around code blocks anyway?03:38
dafcarlos: yes, it's over03:38
=== kiko is now known as kiko-fud
carlossee you later03:38
dafBradB: how do you propose detecting code blocks?03:38
BradBdaf: by not doing that.03:38
stubBradB: How do you detect a code block? How do you enforce people to use 80 column windows when editing their source?03:38
BradBdaf: the user just puts a <pre></pre> in there.03:39
BradBstub: you can't enforce sanity. "wrapping" code is equally insane.03:39
dafI suppose that work03:39
BradBs/enforce sanity/enforce sane coding/03:39
stubWell, if we are assuming sane code then the lines won't be split anyway because they won't be too long03:40
dilysNew Malone bug #50: "Add an option to comment why we do a status change", submitted by Carlos Perell Marn03:40
stubcarlos the trouble maker03:40
carlosdaf: thanks :-)03:41
BradBstub: we're assuming occassionally insane code, but that most of the time people don't write 100-column wide code blocks.03:41
dafcarlos: no problem :)03:41
dafcarlos: thanks for finding my bug03:41
carlosstub: my name is a good UTF-8 betatesting thing :-)03:41
stubOh - we definitely want to avoid giving HTML tags meaning in messages, because people need to discuss bugs in HTML templates and pages and <pre> is a pretty common string when discussing web development.03:42
BradBstub: are you saying if someone say "yeah so i was using a <pre> tag and blah blah..."?03:43
BradBs,say,says, # still not sufficiently caffeinated03:44
BradBstub: then they'd escape it, of course :)03:44
BradBthat's a non-issue.03:44
stubBradB: It is a major issue. Messages that come in via email cannot be proofed by the end user.03:45
dafI suggest DTSTTW for now, file a bug on fancy formatting later03:45
daf* for later03:46
stubIs that welsh or an acronym?03:46
dafDo The Simplest Thing That Works03:46
BradBstub: i don't think malone is going to support incoming mail for a first the first release anyway, so i still think using <pre> is the simplest thing that works for now.03:47
stubPre in our template, sure. Not interpreting <pre> in message body though.03:48
BradBstub: you're wanting to auto-detect code then?03:49
stubNo - just render the entire thing as <pre>.03:49
BradBugh :)03:50
BradBthat looks horrid though03:50
stubIt is all just plain test, and code is no different to ascii tables, bullet lists, whatever03:50
BradBit's hard on the eyes. reading an entire programming text, for example, in fixed-width font, would not be a pleasant thing.03:50
BradBstub: anyway, i have to get on to the three things i mentioned earlier. i'd say either 1. go with my/SteveA/daf's side (i think?) and allow <pre> or 2. do it your way, and see if people accept it.03:51
stubBut it doesn't have surprises. The unusal cases (large blocks of documentation) are better catered for using HTML or PDF attachments rather than giving surprising results for the normal situation (people type stuff that looks correct and enter submit)03:52
BradBstub: ok, go for it that way then, if you want to make the change. if malone users don't like it, they'll be sure to let you know. :)03:52
stubSure. There is a bug open on it, because I didn't want to just go and implement my opinion even though I know it is right ;)03:52
dafBradB: I think I'm with stub here03:53
dafif there's going to be special formatting, it should probably be only if the user explicitly selects it03:54
dafand rather than creating a little Malone-specific markup language, it would be better to use RST or a wiki-like syntax03:55
dafand you also want a preview mode so that users can check their markup is ok03:55
dafso not doing any special formatting is much simpler in the short term03:55
stubYup. Not sure how to do previews when the message comes in via email, but agree.03:56
BradBsabdfl: got a moment to chat about the bug reporting?03:56
sabdflBradB: sure03:56
BradBsabdfl: what was your concern?03:56
dafstub: something debbugs does for bug submissions is treating the beginning of the body as an extra set of headers -- Package, Severity, etc.03:57
dafstub: possibly Malone could do something similar for comments03:57
sabdflthe form on the bug listing page...03:57
dafstub: or, just not format email03:57
sabdfleach of those selectors is going to be horribly difficult03:58
sabdflbecause that page has no sense of it's own context03:58
BradBsabdfl: what is its context?03:59
BradBi would have thought 1. the defaults come from things we know about the current user and if those aren't good enough 2. we have the most kickass widget (when it's fully implemented) for searching large collections of things so they can easily find something different than what we defaulted to.04:00
BradBZope 3.1 (i think) will have this thing called "sources" which is meant for huge vocabs. I'm not sure what the scope of sources in Zope 3 are though (i.e. if they'll come with some really cool widget.) This is such a critical thing for all of Launchpad though, that maybe we want to take an active role in that owrk.04:01
dilysMerge to rocketfuel@canonical.com/launchpad--devel--0: utilities/rocketsync, mirror rocketfuel with rsync (patch-806)04:12
=== kiko-fud is now known as kiko
dilysMerge to rocketfuel@canonical.com/launchpad--devel--0: Message display in monospace (patch-807)04:50
=== cprov [~cprov@] has joined #launchpad
BradBcarlos: ever get your test failure sorted out?05:08
BradBcarlos: it sounds like a possible bug in LaunchpadFunctionalTestCase. you might want to override setUp and tearDown in your class and throw some pdb.set_trace()'s in there to follow what's going on.05:10
carlosBradB: no I did not got a solution yet05:12
carlosBradB: ok, as soon as I finish my current work I will try to debug it that way05:13
dilysMerge to rocketfuel@canonical.com/buildbot--devel--0: fix use of taxi.importVersion to pass required logger argument (patch-69)05:17
dilysMalone bug #22 closed for package malone: Bug assignments table bad UI05:22
BradBstub: so does "Open" mean "someone's working on this"?05:23
stubI think so - Assigned might be a better name for it. 05:24
stubOr 'accepted'05:25
BradBI like assigned05:25
BradBIt's what Bugzilla uses, and is perhaps the most clear.05:25
stubwe can tell assigned by seeing if there is an assignee, so that is almost a second status.05:26
stubAt the moment, a bug can be open without having an assignee so it might not be a good idea to use that.05:26
BradBstub: any status that is implicit by having someone assigned though is a second status. we want to have something that marks these as saying "someone's assigned to this bug" so that we can search for the bugs that don't have someone assigned.05:27
BradBwhat does "Open" mean then?05:27
BradBif it means Accepted, then well... :)05:28
stubAt the moment, I'm not sure :-(05:28
BradBwhy don't we have New, Accepted, Assigned and Closed then? (ugh, I hate Closed, it's so unclear)05:29
dilysMerge to rocketfuel@canonical.com/launchpad--devel--0: Malone polish (patch-808)05:29
stub'in progress', 'pending', 'deferred' ?05:30
BradBstub: those seem less clear05:30
BradBwell, deferred would be an addition to what i proposed.05:30
BradBNew, Accepted, Deferred, Assigned and Closed.05:30
BradBNew, Accepted, Deferred, Assigned, Fixed, Rejected, perhaps05:31
stubI personally like an 'in progress' indicator, but people rarely use it so I don't know if we can include it05:32
stubThat last is sounding good.05:32
BradBI'll make the change and let people holler if it turns out to be unclear.05:32
BradBIt can't be worse than what we currently have, that's for sure.05:33
stubsabdfl or the others who speced this might know more about why it is like it currently is.05:33
BradBsabdfl: can I go ahead and make this status change?05:33
BradB(for assignments)05:33
dilysMerge to rocketfuel@canonical.com/launchpad--devel--0: Add in checking of upload stuff from James (patch-809)05:35
BradBOpen says "This bug has been reviewed and accepted by the maintainer, and is still open." which is recursive.05:35
stubI think we can do without 'Assigned' as a status. Search forms could still list it with the real statuses and allow searching on it if they are trying to save screen real estate05:40
stubAlso, it we add 'Accepted' as a status we need to ensure that it can only be set if there is an assignee. We need to think through the workflow implications of adding 'Accepted' (eg. if we implement it as a status, changing the assignee should reset the status to 'open'. This might get annoying if a bug is passed back and forth between two developers, and they just won't bother 'accepting' the bug. Hmm...)05:44
BradBstub: Accepted can be set without an assigned.05:45
BradBAccepted just means the bug was accepted, i.e. "ah yes, this is indeed a bug"05:45
stubOh... I was thinking the assignee accepted the work05:45
BradBhaving the assigned status in there leaves no room for confusion05:46
stubBed time for me I think ;)05:46
BradBthere may indeed be some workflow considerations for statuses though, but that doesn't change the need for them05:46
stubAssigned status sounds like 'in progress'. Note that the bug might be assigned to someone when it is 'NEW' to be evaluated, so an 'Assigned' status seems unclear.05:48
BradBit's sort of a six-of-one, half dozen of the other, i guess.05:49
BradBplone's collector uses in-progress, i think, whereas bugzilla uses assigned.05:50
stubMmm.... I'm tired so I don't get to make any decisions atm ;)05:50
stubI'm sure Mark will have an opinion though ;)05:50
BradBsabdfl: btw, "Quick Searches" like at http://plone.org/collector is what i had in mind for making the assigned and created by reports go away.05:54
sabdflstub: before you crash05:55
sabdfldo you have an answer for me on the bugmesage refactoring?05:55
BradBsabdfl: can i go ahead and change assignment statuses to New, Accepted, Deferred, Assigned, Fixed, and Rejected?05:57
sabdflno dude05:58
=== SteveA goes to work in a cafe. too cold at home.
SteveA(after a starmerge that is)05:59
BradBsabdfl: the statuses as they are currently are preventing me from getting work done. i want to reject bugs, but i can't. i want to say i fixed a bug, but i can't.05:59
stubsabdfl: Looks fine except you need to reset the DEFAULT value on the Message table's primary key. See archives/patch-2-11-0.sql for an example, or we can work on the patch in the pending directory06:00
BradBsabdfl: and if you asked all 8-10 LP'ers what "Open" on a bug means, you'd almost surely get 8-10 different answers. :)06:00
sabdflBradB: we spent a lot of time reducing the number of states on bugassignment status06:00
sabdflmalone has states on assignment and infestation06:01
BradBsabdfl: why spend a lot of time on wanting to do that?06:01
sabdflwe will also introduce a state on the bug itself06:01
sabdflthe risk is that we get into the same message that bugzilla is in06:01
sabdflwhere there are too many different knobs06:01
sabdfland people don't know how to use them06:01
sabdflBradB: because i'm a simplicity fascist06:01
sabdflso don't go undoing all that good work06:02
BradBsabdfl: so am i :) i'm a usability fascist. i can't help but think about me here, because i'm using malone to try and do my job.06:02
dafsabdfl: I find the fact that a bug doesn't have a status seriously confusing, and I suspect other people will too06:02
sabdfldaf: yes, that's going to be a usability thing we have to work out06:02
dafsabdfl: ok, you're aware of it then06:03
sabdflwhat do you mean you don't know how to reject bugs? 06:03
KinnisonAre the ftests currently disabled?06:03
BradBsabdfl: the way it's currently setup, an infestation is *required* to fix a bug.06:03
sabdflno it isn't06:03
BradBsabdfl: yes, it is. because otherwise i have to say it's "Closed", which is not saying that it's "Fixed".06:03
BradBsabdfl: and our users are saying it's confusing. why are the designers right and the users wrong?06:04
sabdflthe designers accept it's not very usable06:04
sabdflbut the quick fix you are proposing might likely make the situation worse06:05
stubBradB: The 'Closed' vs. 'Fixed' might not be an issue, as there is a priority WONTFIX that can be used to flag bugs that will be open forever.06:05
sabdflif you want to change the states you'll need to walk me through it carefully06:05
sabdflwontfix says "yes this bug is open but i won't fix it"06:05
BradBsabdfl, stub: there needs to be one column that tells me the "health" of this bug. status is it.06:06
sabdflBradB: i've been toying with the idea of a status on the bug itself06:07
sabdflbut think about it: whatever status is there has to apply to EVERY context where that bug is found06:07
sabdflupstream, and in all distro's06:07
BradBnot upstream, just distros06:08
BradBeeg, brain starting to hurt06:09
BradBi want simple, simple, simple. i don't want to be made to think when it comes to the mindless task of saying "i fixed this" or "nope, sorry dude, this isn't a bug".06:10
dafsabdfl: some bugs are just wrong, and it should be simple to deal with them06:10
=== BradB thinks
BradBi'm just wondering if in fact infestations carry the more pivotal role, and package/product assignments are just things we do in the background, to ensure the bug gets in the relevant maintainer's face.06:13
dafI think the problem lies in the fact that Malone represets related problems in different areas as one bug where other bug systems would represent them as many06:14
dafthat's a very clean model06:14
dafbut it doesn't make for an easy interface06:14
BradBsabdfl: in response to your earlier comment about how a "Fixed" on an assignment would be problematic because it spans distro releases, well, yes, we want to be able to say that.06:17
dafpeople like to be able to say "I closed bug #123", even if it's only fixing the problem in one package06:18
sabdflwe have several options06:18
BradBsabdfl: it makes sense to me to say "Fixed" on apache 2.0.52, but also "Fixed" on apache.06:18
dafI can't see people putting "changed status of packageassignment to foo of bug #12345 to closed" in changelogs06:18
sabdflone way is to come up with a neat way of saying "i closed #123 in ubuntu/firefox[/warty] "06:18
sabdflthe other is to treat each assignment as a distinct #06:19
sabdflso closing #123 would mean closing an assignment06:19
BradBsabdfl: the first one is what i'm suggested with my status changes. the second suggestion would make my life more difficult (and everytime I say "my" and refer to "me" here WRT usability, i'm really referring to my opinion of what the majority of Malone users will think about it)06:20
sabdflBradB: you don't need additional statuses for the first06:21
BradBsabdfl: you do, because you need to be able to say "i fixed #123"06:21
BradBsabdfl: or "nope, #123 is not a bug"06:21
BradBsabdfl: or "i'll fix #123, but not yet"06:21
sabdfl"i'l fix #123 but not yet" would be: leave assignment status OPEN set priority LOW06:22
sabdfl"nope #123 is not a bug" would depend, if it's not a bug HERE then close the assignment, if it's not a bug ANYWHERE then close the assignment and MAYBE put something else on the bug status itself06:23
sabdfl"i fixed 123" would be "set bugassignment for 123 to CLOSED"06:24
BradBsabdfl: your solution communicates neither 1. that it was fixed, nor 2. that it was rejected.06:24
BradBsabdfl: If I have a status "Fixed" an an assignment, there can be no misinterpreation of what that means. OTOH, what is the argument /against/ having "Fixed" that is somehow alleviated by only having "Closed"?06:25
sabdflmaybe we can have FIXED and REJECTED06:26
sabdflso it goes NEW, OPEN, REJECTED and FIXED06:26
BradBcan we change OPEN though? i think it communicates very little information. if it means "Accepted" why make the user try and think that one through to arrive at that conclusion, when we could have just called it "Accepted" in the first place? :)06:27
BradBto me, OPEN implies that no decision has been made on this one, e.g. even a decision on whether or not it's a bug.06:28
BradBparticularly since we have its opposite, REJECTED06:29
BradBok, cool, that's a good start.06:29
BradBi'll make that change and we can see how users like it. sound good?06:29
stubJust pretty please make sure the numerical representation of 'FIXED' is the same as 'CLOSED', or if you need to change it make sure I do a database patch to update the existing assignments ;)06:30
BradBstub: i'll make it the same. at worst, it's a one-line update anyway.06:31
stubYer. I just don't want to roll out onto dogfood and reject all our closed bugs ;)06:31
BradBan update may be required actually, since i want them numbered 1-4 in the order sabdfl mentioned above06:32
BradBand Closed is currently 3, i believe06:32
BradBeither way, it'll be sorted out06:32
stubok. Just stick a patch in database/schema/pending (or a rude note) so I don't forget ;)06:33
BradByes, will do, thanks06:33
sabdflBradB: i'd like to get the infestation foo working well, before we start to mess more with the model06:38
sabdflin other words i'd like to see how slick we can make it by integrating properly into the workflow06:38
sabdflso, for example, we get it so a package upload can tell malone which bugs it fixes, and have it automatically create the "fixed" infestation, and close the assignment06:38
sabdfli'm happy with the NEW, ACCEPTED, REJECTED, FIXED change, but would like to minimise other state diagram changes06:39
BradBsabdfl: yes, i'm happy to go with that change now, since it allows is to do things we can't currently do and continue to solicit more user feedback.06:40
sabdfldon't go 1,2,3,406:40
BradBFixed will be 3, I think.06:41
sabdfli've migrrated other things to 10, 20, 30, 40...06:41
sabdflso we can more easily add intermediate values in a sensible sort of sort order06:41
BradBstub: ok, so i'll be giving you a migration script :)06:41
dilysNew Malone bug #51: "Rosetta translations statistics", submitted by Daniel Debonzi06:50
sabdflstub: still around?07:01
sabdflok, i'm still trying to get a dump of the dogfood db07:01
sabdflKinnison has made a few attempts, but I can't import them into my local machine for some reason07:01
sabdfli really need this today07:01
stubYou can't import the dumps directly due to a limitation in PostgreSQL (probably a simple fix, but nobody has bothered. Might be a good bounty). It will fail because it dumps objects in the order they were created, which screws up when column constraints are added after the tables or views altered.07:03
stubTo load the dump, you need to change the order that the objects are created by using pg_restore -l and pg_restore -L07:04
stub(pg_restore -l to get a list of stuff in the dump to a file, edit the file, use pg_restore -L to restore using your specified order)07:05
stubThere are examples in 'man pg_restore' in the EXAMPLES section07:06
stubAlternatively, do your tests on mawson. Use 'createdb -E UNICODE --template=launchpad_dogfood_20041117 sabdfl_test' to duplicate the database.07:07
sabdfli need to get the data into my own db so i can massively vchange it and run lp against it07:09
sabdflstub: please make this easy for me. produce a blob somewhere that i / we can just pqsl -d lp_dev -f xxx 07:09
stubOh - quickest way of doing it in our case is to load trusted.sql into the database before restoring the backup. That should sort out the dependancies (in our case)07:11
stubI'm having net difficulties at the moment (nameservers seem screwed) 07:12
=== BradB is now known as BradB|lunch
lulunight all :o)07:24
carloslulu: night07:25
debonzilulu, night07:25
lulunight guys :o)07:25
=== lulu [~lu@host217-37-231-28.in-addr.btopenworld.com] has left #launchpad []
carlosBradB|lunch: the set_trace suggestion does not works, it just breaks the test and I'm not able to debug it08:02
dilysMerge to rocketfuel@canonical.com/launchpad--devel--0: Added support to change the fuzzy flag explicity by the translator. We have now all basic features to translate an application with Rosetta (finally) (patch-810)08:19
=== Kinnison waves
carlosany css specialist around?08:27
=== BradB|lunch is now known as BradB
BradBcarlos: I don't get it. What happens when you put a set_trace() in the setUp method of your class exactly?08:37
carlosError in test testPoExportAdapter (canonical.rosetta.ftests.test_poexport.POExportTestCase)08:38
carlosTraceback (most recent call last):08:38
carlos  File "/home/carlos/Work/dists/launchpad/lib/canonical/rosetta/ftests/test_poexport.py", line 156, in setUp08:38
carlos    pdb.set_trace()08:38
carlos  File "/usr/lib/python2.3/pdb.py", line 992, in set_trace08:38
carlos    Pdb().set_trace()08:38
carlos  File "/usr/lib/python2.3/bdb.py", line 52, in trace_dispatch08:38
carlos    return self.dispatch_return(frame, arg)08:38
carlos  File "/usr/lib/python2.3/bdb.py", line 80, in dispatch_return08:38
carlos    if self.quitting: raise BdbQuit08:38
carlosI don't have any chance to debug it, I think it's because the stdin/stdout are not connected to my terminal08:39
BradBcarlos: what exactly does your setUp look like?08:39
carlosimport pdb08:39
BradBcarlos: oh, hm, maybe it's because when i was doing that, I was running one test at a time or something08:40
carlosand then a call to super08:40
carlosBradB: yes, I suppose that's the difference08:40
dilysMerge to rocketfuel@canonical.com/launchpad--devel--0: Moved rosetta/sql.zcml to the common infrastructure (patch-811)09:01
dilysBug 1948 resolved: scripts to dump/restore user information from/to Launchpad DB09:25
dilysBug 1947 resolved: Implement cookie-based authentication for launchpad09:28
dilysBug 2076 resolved: Login status does not work in public pages09:29
=== kiko [~kiko@200-206-134-238.async.com.br] has joined #launchpad
carlostv time09:31
=== kiko [~kiko@200-206-134-238.async.com.br] has joined #launchpad
=== salgado [~salgado@200-206-134-238.async.com.br] has joined #launchpad
dilysMerge to rocketfuel@canonical.com/launchpad--devel--0: missed clausetables from malone/bugassignment (patch-812)09:41
=== kiko [~kiko@200-206-134-238.async.com.br] has joined #launchpad
BradBcprov: any news on the pagetest diff fix?09:44
BradBI'm fixing tests that broke from my bug status changes, and with all the false diff output it's hell.09:45
=== kiko [~kiko@200-206-134-238.async.com.br] has joined #launchpad
=== kiko [~kiko@200-206-134-238.async.com.br] has joined #launchpad
cprovBradB: sorry, but not yet, I can't see any smart way to handle the returned diff w/o lost information09:46
=== kiko [~kiko@200-206-134-238.async.com.br] has joined #launchpad
cprovBradB: just parse the data in test_on_merge should be the easiest way, but doesn't produce good results 09:47
BradBcprov: test_on_merge has nothing to do with this. It's a bug in the page test thing.09:48
cprovBradB: diff has no option (or I didn't found an appropriated)  to help me 09:48
BradBcprov: it wouldn't09:48
BradBthe key is to chop out stuff like:09:49
BradBi.e. when the *only* expected output was an elision, that's a decoy09:49
BradBwhich is what i was saying yesterday09:49
BradBcprov: have you written the test for this first? that's probably the best way to get thinking about how to solve the problem.09:50
cprovBradB: the test page works in the correct way verifying the page, i.e., the problem is just the returned output, I think ...09:50
BradBcprov: exactly09:50
cprovBradB: of course I wrote09:50
cprovBradB: the diff output style is problem, may we have better "on-the-fly" info 09:52
BradBcprov: i don't get it: what's hard about chopping out the diffs that look like:09:52
cprovBradB: since <p> ...</p> is different than <b> ... </b>, can you see my point ?09:53
=== SteveA [~steve@adsl-213-190-44-43.takas.lt] has joined #launchpad
BradBcprov: yeah, hm10:00
=== salgado [~salgado@200-206-134-238.async.com.br] has joined #launchpad
debonziSteveA, quick question for you :)10:01
cprovBradB: I can't simply "ignore lines w/ PATTERN(..., +blah, +baz", what is also something wierd to do w/ unified diff format10:01
debonziSteveA, should I move the app component classes from lanchpad/soyuz to somewhere else?10:02
debonziSteveA, if yes, where? 10:02
=== salgado [~salgado@200-206-134-238.async.com.br] has joined #launchpad
SteveAcan you give me an example of what you mean?10:03
debonziSteveA, yes... I have for exaple DistroReleaseSourceApp that is used as the context inside the zpt10:04
debonziI have one like this for each soyuz page10:05
debonziI saw a lot of malone stuff was moved to launchpad/database for example but I don't think this is the place for app components 10:06
debonziIm just trying to follow the standard moving the right things to launchpad/database launchpad/browse launchpad/zcml10:07
SteveAdebonzi: I'll take a look in a min10:08
debonziSteveA, maybe they should be keeped in soyuz directory as it is now but I whould like to have your opnion.. thanks10:09
SteveAI'm looking at distroapp.py10:12
SteveAthere are some unused imports, incidentally10:12
debonziSteveA, are there? Ill check them10:12
SteveAthere is definitely database code in there, in the sense that it is doing ad-hoc selects10:13
SteveAand, that won't get caught by the security stuff10:13
SteveAso, we should refactor these so that they are methods on classes in canonical/launchpad/database10:13
SteveAand then the code in distroapp.py would call those10:13
debonziSteveA, are you saying that I *can't* have select inside the app component classes ?10:14
SteveAbasically, the code should be calling only methods on the interface of the objects it gets in its __init__ method10:14
SteveAor of utilities it gets10:14
SteveAright, you shouldn't have those.  a select is database code, so it should be in the database area10:15
SteveAbut, the code as a whole is really functioning as an adapter of (for example) a distribution10:15
SteveAI think it might require a bit more thinking and talking to work out what's best to do here10:15
SteveAcan we have a meeting about it, say tomorrow, with maybe celso and kiko too?10:16
SteveAthen we can all discuss it and decide what's best to do10:16
debonziSteveA, would be nice as long as we have this kind of things in some other places too10:16
debonziSteveA, for me its perfect10:16
SteveAwhat time?  I have a rosetta meeting at 12:30 UTC10:17
debonziafter it is to late for you?10:17
SteveAI am two hours ahead of UTC10:17
SteveAwe could say 16:00 UTC, perhaps?10:17
SteveAor 16:3010:18
SteveAhow about 16:30 ?10:18
debonziFor me its ok10:18
SteveAcprov: how about you?10:18
cprovcprov: yes 10:18
SteveAok, great10:18
SteveAplease mention to kiko10:18
debonziSteveA, I will .. thanks a lot10:19
SteveAthanks for bringing this up debonzi10:19
SteveAand, perhaps you can remove the unused imports?10:19
SteveAthere is actually a tool to help with this somewhere10:20
debonziSteveA, yes.. Ill check all of them10:20
SteveAin the zope3 utilities I think10:20
debonziSteveA, cool :)10:20
SteveAit isn't perfect, but it is helpful10:20
cprovSteveA: any remarks related to zope.app.tests.test ? parsing unified diff format looks crap ...I'm kind of lost on it  10:26
SteveAcprov: I'm currently getting the ftp server ready to check in, so I can't look right now10:27
cprovSteveA: ok, let me know when you have time ... tks anyway :)10:28
BradBcprov: what's the name of the z3 method that compares expected to actual? I'm wondering if you can somehow only diff the bits that it says aren't equal, rather than diffing the entire input against the entire output10:29
cprovBradB: I wonder too, it seems to be not z3 ... at least not in zope.app.tests.test, its a great idea10:32
SteveA lib/zope/testing/doctest.py10:34
BradByeah, was just about to say...10:35
cprovSteveA: difflib ? ok, maybe we can have luck in that way10:38
BradBcprov: i think that the first thing that needs to be done would probably be to make sure there's a little method in the elision-aware machinery that knows how to return *only* the chunks that were truly different. at that point, the problem virtually solves itself. remember though, that elision is just a flag passed to this machinery, so that sometimes a "..." can literally mean a "...", which is why this fix needs to be fairly d10:41
BradBeep in the machinery.10:41
=== ddaa [~ddaa@deep-thought.xlii.org] has left #launchpad []
SteveAcan a '...' literally mean a '...' ?10:45
BradBi believe so10:45
SteveAI mean, sure, '...' will match '...' and also '......'10:45
SteveAand also '.'10:45
BradB           "ellipsis": r"""10:46
BradB                If the ellipsis flag is used, then '...' can be used to10:46
BradB                elide substrings in the desired output:10:46
BradB                    >>> print range(1000) #doctest: +ELLIPSIS10:46
BradB                    [0, 1, 2, ..., 999] 10:46
SteveAcprov: the first thing I'd do is prepare a text file of sample input, one of comparison input, and one of desired diff output10:46
BradBcprov: he said he's already written the tests10:46
SteveAthen write the test that shows what you'd like to happen10:46
SteveAif so, great!10:47
=== carlos [~carlos@69.Red-80-33-181.pooles.rima-tde.net] has joined #launchpad
cprovSteveA: BradB: can it be a real/current (small one) launchpad test ? keeping the things near of our work ?10:54
BradBcprov: basically it comes down to OutputChecker.check_output sucking, I think.10:54
BradBcprov: it should probably just be a few simple five line examples, demonstrating in an easy-to-digest way the edge cases that are proven to behave correctly.10:55
cprovBradB: I think too10:55
cprovBradB: ok10:56
cprovBradB: I need to go ... if you have some other idea, please write an email to me10:58
dilysMerge to rocketfuel@canonical.com/launchpad--devel--0: added ftp server.  added annotation-in-zodb support. (patch-813)11:14
SteveA>>> from canonical.launchpad.interfaces import IZODBAnnotation11:24
SteveA>>> IZODBAnnotation(some_bug)['soyuz.todolist']  = "Here is my todo list for some_bug"11:24
SteveA>>> del IZODBAnnotation(some_bug)['soyuz.todolist'] 11:25
SteveA>>> 'soyuz.todolist' in IZODBAnnotation(some_bug)11:25
SteveA>>> IZODBAnnotation(some_bug).get('soyuz.todolist')11:26
SteveA>>> IZODBAnnotation(some_bug)['soyuz.todolist']  = "Here is my todo list for some_bug"11:26
SteveA>>> print IZODBAnnotation(some_bug)['soyuz.todolist'] 11:26
SteveA"Here is my todo list for some_bug"11:26
=== SteveA notes that the soyuz team is not here
=== SteveA goes to bed
BradBhm, why do we want to store that in the ZDOB?11:35
BradBZODB even11:35
=== carlos [~carlos@69.Red-80-33-181.pooles.rima-tde.net] has joined #launchpad
=== elmo [~james@george.kkhotels.co.uk] has joined #launchpad

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