[00:39] <psusi> when using the email interface to update bugs, how do you specify which task you are talking about?  it seems like the interface was written assuming a bug only had one task
[00:39] <wgrant> psusi: See the 'affects' command.
[00:40] <psusi> wgrant, I thought that was for adding a target?  it also modifies which target subsequent commands apply to?  what if you don't use affects?  does it apply them to all targets then?
[00:41] <wgrant> psusi: affects will create a new target or choose an existing one if it already exists.
[00:41] <wgrant> If you don't use affects, it guesses.
[00:41] <wgrant> Badly.
[00:41] <psusi> ahh, I see
[00:42] <psusi> what about when a bug is tracked in multiple distributions?  I'm still kind of fuzzy on the difference between that and milestones
[00:43] <wgrant> Multiple series, you mean?
[00:43] <wgrant> eg. Lucid, Maverick, Natty?
[00:43] <psusi> yea
[00:44] <wgrant> 'affects ubuntu/lucid/dpkg' should work, I think.
[00:44] <psusi> hrm... ok
[00:51] <psusi> does the mail interface support searching for bugs?
[00:51] <psusi> i.e. give me a list of all bugs affecting ubuntu/foo?
[00:53] <wgrant> No.
[01:58] <psusi> so I'm trying to figure out the launchpad python api... I seem to be able to find a bug by number with b = lp.bugs[1], but I can not for the life of me, figure out how to look up bugs by distribution/project
[02:04] <maxb> psusi: You have found https://launchpad.net/+apidoc/, yes?
[02:05] <psusi> maxb, I was reading https://help.launchpad.net/API/launchpadlib, will check that one now
[02:08] <maxb> psusi: I think you want something like lp.projects['launchpad'].searchTasks(importance="Critical")
[02:22] <psusi> maxb, I was just messing with searchTasks... it seems to return all bugs, even fixed ones unless you add status='New'.   can you search for any open status?
[02:22] <wgrant> psusi: The default is to search for only open bugs.
[02:23] <psusi> wgrant, it's returning invalid and fix released bugs too
[02:41] <psusi> ok, so I have a list of bugs ( in python )... I can print their status... now if I want to change their status, how do I do that?  for b in bugs: b.status = 'Invalid'?
[02:41] <psusi> what comment would be used?
[02:43] <wgrant> b.status = 'Invalid'; b.lp_save()
[02:43] <wgrant> Comments aren't associated with changes like that, so you can just add a comment before or after.
[02:44] <psusi> ohh...so how do I add a comment?  and I guess both comment and status change are written when I call lp_save()?
[02:48] <wgrant> psusi: Call newMessage on the bug (*not* the bug_task).
[02:48] <wgrant> Attributes are only saved when you call lp_save(), but methods are executed immediately.
[02:50] <achiang> what are the short URLs for LP?
[02:51] <wgrant> Short URLs?
[02:51] <achiang> don't we have a shortening service, like bit.ly?
[02:51] <achiang> istr something like that...
[02:51] <wgrant> pad.lv?
[02:51] <achiang> ah, yes, that is
[02:51] <achiang> that's it
[02:52] <psusi> wgrant, why does help(bugs[0]) not list newMessage()?
[02:52] <wgrant> psusi: Did you get that bugs collection from searchTasks?
[02:52] <psusi> wgrant, yep
[02:53] <spiv> I emailed a review to https://code.launchpad.net/~gz/bzr/smarter_smart_error_reporting_722416_B/+merge/51666 over 20 minutes ago and it still hasn't appeared.
[02:53] <wgrant> psusi: If you check the docs, you'll see that searchTasks returns a collection of bug_tasks, not bugs.
[02:53] <wgrant> psusi: Try help(bugs[0].bug)
[02:53] <psusi> well, I took what each searchTasks returned, converted it to a list(), and then concactenated them together, since it seems like you have to explicitly searchTasks on each status you want ( New, Confirmed, Incomplete )
[02:54] <spiv> Is it probably going to appear, or has Launchpad lost it?
[02:54] <psusi> ohh...
[02:54] <spiv> It's not my mail setup, another review I sent an hour ago worked just fine.
[02:57] <psusi> wgrant, print bugs[0]: https://api.staging.launchpad.net/1.0/ubuntu/+source/powernowd/+bug/153186
[02:57] <psusi> wgrant, print bugs[0].bug: big traceback
[02:58] <wgrant> Oh?
[02:59] <poolie> spiv, that's giving me a lot of deja vu
[03:03] <Ampelbein> hmm, https://bugs.launchpad.net/ubuntu/+source/zoneminder/+bug/507004/comments/4 looks like spam to me?
[03:11] <wgrant> spiv, poolie: process-mail is apparently failing to run.
[03:11] <wgrant> Looking.
[03:12] <wgrant> Oh no.
[03:12] <wgrant> thumper: Is that what you were looking at?
[03:12] <wgrant> With the emailaddress thing?
[03:13] <thumper> wgrant: no
[03:13] <thumper> wgrant: I was looking at something else
[03:13] <wgrant> What.
[03:13] <wgrant> 2011-03-02 01:39:21 ERROR   No mail box is configured. Please see mailbox.txt for info on how to configure one.
[03:27] <psusi> hrm... so I set bugs[0].status = 'Invalid' and called bugs[0].lp_save() and it returned without error... but the bug isn't being updated...
[03:30] <StevenK> Is bugs[0] a Bug or a BugTask?
[03:30] <wgrant> psusi: Is bugs[0] actually a list?
[03:31] <wgrant> Or is it a result from searchTasks?
[03:31] <wgrant> It's possible that it's fetching a fresh object each time. I forget exactly how it works.
[03:31] <wgrant> Try only retrieving it once.
[03:31] <psusi> bugs is a list, built from the results of multiple calls to searchTasks ( one for each active status )
[03:31] <spiv> wgrant: well, my reviews finally came through
[03:31] <wgrant> spiv: Yeah, we fixed it.
[03:31] <wgrant> Bug #727570
[03:31] <wgrant> Sorry, forgot to mention it here.
[03:31] <wgrant> Properly fixing now.
[03:32] <spiv> wgrant: cool, thanks!
[03:33] <psusi> in other words, I did bugs = list( d.searchTasks( status='New' ) then bugs += list( d.searchTasks( status = 'Confirmed' ) etc
[03:34] <lifeless> psusi: if you don't pass in status, you should get all bugs
[03:35] <psusi> lifeless, I just want all open ones, so I had to explicitly search on each open status
[03:35] <lifeless> or you can say status=any(New,confirmed,...)
[03:36] <wgrant> lifeless: Uh, can you?
[03:36] <psusi> at any rate, I have all of the bugs in a list that I want... and I have done bugs[0].status = 'Invalid' and bugs[0].lp_save() and it doesn't seem to be taking effect, but no errors
[03:36] <lifeless> if you can't say that, file a bug, but I'm pretty sure you can
[03:36] <lifeless> psusi: you're probably talking to staging
[03:36] <wgrant> psusi: You're not accidentally using staging?
[03:36] <wgrant> Heh.
[03:36] <psusi> it looks like I am, is that a problem?
[03:37] <wgrant> If you want to write to production, staging is possibly not the best place to be writing.
[03:37] <lifeless> only if you want to change production
[03:37] <wgrant> Check if your changes appear on staging.launchpad.net.
[03:38] <psusi> wait, what's staging again?  edge is unreleased version of lp, but on same db right?
[03:39] <StevenK> edge doesn't mean that anymore
[03:39] <lifeless> edge is not staging
[03:39] <lifeless> and never was
[03:39] <psusi> ohh, ok... yea, shows right on staging...
[03:39] <psusi> no, I mean edge = live db but with latest lp code right?
[03:39] <psusi> staging = not live db?
[03:39] <wgrant> edge used to run newer code.
[03:40] <wgrant> But now is identical to production.
[03:40] <psusi> ohh... odd
[03:40] <wgrant> staging is new code, and a copy of the DB that is overwritten weekly.
[03:40] <wgrant> edge is deprecated.
[03:40] <wgrant> But we can't remove it entirely, because people run API scripts against it.
[03:40] <psusi> right... ok... got ya... why is edge depreciated?
[03:40] <wgrant> Because we roll out to production once every day or two anyway.
[03:40] <wgrant> We used to only roll out there once a month, so edge was useful.
[03:40] <psusi> heh... ok
[03:40] <wgrant> But now we can roll out much more rapidly.
[03:41] <spm> s/rapidly/frequently/
[03:41] <psusi> ok, so basically, let's see... I need to start over and make the initial connection not to staging?
[03:41] <wgrant> Heh.
[03:41] <wgrant> psusi: Yes.
[03:41] <psusi> what do I use instead of 'staging' as the argument to Launchpad.login_with()?
[03:42] <wgrant> 'production'
[03:42] <psusi> ahh
[03:42] <spm> actually - and somewhat more widely than just the edge appservers too.
[03:42] <lifeless> we are going to delete edge
[03:42] <lifeless> entirely.
[03:42] <lifeless> at some point I'm going to blog and pull the plug
[03:43] <StevenK> Now?
[03:43] <StevenK> How about now?
[03:43] <lifeless> not today
[03:43] <lifeless> psusi: http://blog.launchpad.net/general/edge-is-deprecated
[03:44] <psusi> ok... now back to searchTasks()... how can I get just active bugs?  someone said that is what it returns by default?
[03:44] <psusi> but it seems to give all bugs
[03:44] <psusi> unless I explicitly add status="something"
[03:47] <wgrant> What are you calling it on?
[03:49] <wgrant> psusi: You may be able to pass in a list of statuses.
[03:49] <wgrant> Try that.
[03:49] <wgrant> I haven't use the Bugs API for a long time :/
[03:50] <poolie> psusi, wgrant, you do need to explicitly list all the active bugs
[03:50] <poolie> (just like the web ui :-/)
[03:50] <wgrant> :(
[03:50] <lifeless> poolie: you do?
[03:50] <psusi> wgrant, calling it on a distribution
[03:51] <poolie> there is a bug against lp asking for a better way to say that
[03:51] <lifeless> poolie: whats the bug #?
[03:51] <poolie> hm, or does it default to active and you have to list them all to get everything?
[03:51] <poolie> it's one or the other
[03:52] <lifeless> poolie: how are you listing multiples
[03:54] <poolie> i believe in python it's a list of strings
[03:54] <poolie> https://bugs.launchpad.net/lazr.restful/+bug/590561 is part of it
[03:54] <lifeless> psusi: ['new', 'complete'] etc
[03:54] <lifeless> if poolie is right
[03:55] <poolie> case sensitive :)
[03:55] <poolie> 'New' etc i think
[03:55] <poolie> https://bugs.launchpad.net/launchpad/+bug/672883
[03:55] <poolie> also https://bugs.launchpad.net/launchpad/+bug/613713
[03:56] <psusi> lifeless, ohh... ['foo','bar'] as opposed to the 'foo,bar' I had been trying? ;)
[03:56] <poolie> yeah
[03:56] <poolie> and https://bugs.launchpad.net/launchpadlib/+bug/256940
[04:00] <StevenK> Er, I think there is an lazr.enum branch that thumper was working on to make ['new', 'complete'] work
[04:00] <poolie> well
[04:00] <poolie> making clients hardcode all the values is obviously poor
[04:00] <poolie> because the available options do change over time, eg with 'opinion'
[04:00] <lifeless> this is a bug
[04:00] <lifeless> the values should not change in 1.0
[04:00] <lifeless> and outside 1.0, meh
[04:01] <poolie> i'll make 613713 the master
[04:02] <psusi> crap... addMessage() seems to take effect immediately rather than after lp_save()
[04:03] <wgrant> psusi: I did warn you about that :)
[04:03] <psusi> ohh
[04:04] <psusi> I thought I could change status, then addmessage, and finally lp_save to save one change that modified status with a commend
[04:05] <psusi> comment even
[04:05] <wgrant> They are always separate changes.
[04:05] <wgrant> Even if you do them in the web UI.
[04:05] <wgrant> They just happen at similar times.
[04:08] <psusi> boy I hope I did that right
[04:11] <psusi> looks like it worked... hooray python!
[04:14] <wgrant> Indeed, it seems to have worked.
[04:14] <wgrant> How many were there?
[04:15] <psusi> wgrant, looks liek 35
[04:16] <wgrant> Oh, you only did powernowd?
[04:16] <psusi> wgrant, should come in handy again soon though when the usplash package is dropped... it has 239 open bugs
[04:16] <psusi> yea
[04:16] <wgrant> :(
[04:17] <wgrant> I was apparently subscribed to 1.
[04:17] <psusi> bug 1, or one of the bugs against powernowd?
[04:18] <wgrant> One of the bugs against powernowd.
[04:19]  * psusi wonders why his mailbox has not yet been flooded with the changes
[04:23] <lifeless> wgrant: we've probably broken outbound mail too
[04:23] <wgrant> lifeless: Not likely.
[04:23] <wgrant> lifeless: I got one of the notifications.
[04:23] <lifeless> ok
[04:23] <lifeless> phew
[04:23] <wgrant> And that's all in-tree AFAIK
[07:35] <lxsameer> can i install the launchpad bug tracker on my server only?
[07:36] <lifeless> its an AGPLv3 project, so you can - but you need to rebrand it, and its pretty complex to run.
[07:36] <lifeless> (its a very complex project)
[07:36] <lifeless> dev.launchpad.net is where you need to read, if you want to do that.
[07:37] <lifeless> lxsameer: we can run private projects for you though (its a commercial service) if you want.
[07:37] <lifeless> lxsameer: or if its a public project, we host those for free as long as they are open source
[07:38] <lxsameer> lifeless: the main problem here is that i wan to know that can i just install bugtracker ? i don't need other stuff
[07:40] <lifeless> no
[07:40] <lifeless> the bugtracking component isn't a separate project
[07:41] <lifeless> you can run it and only have the bugs subdomain routed, but I wouldn't expect that to play well
[08:05] <fta2> is the publisher dead or something? build "Finished 1 hour ago" but still "Pending publication"
[08:06] <wgrant> fta2: Which build?
[08:07] <fta2> wgrant, https://launchpad.net/~chromium-daily/+archive/ppa/+sourcepub/1533137/+listing-archive-extra
[08:07] <wgrant> Thanks.
[08:07] <wgrant> fta2: Looks published to me.
[08:09] <fta2> oh, it just changed status, been waiting for nearly 2h in "Pending publication" mode
[08:10] <wgrant> Hmm.
[08:10] <wgrant> I'm waiting for logs to sync, then we'll hopefully be able to see what's going on.
[08:30] <wgrant> fta2: It looks like the publisher was running really slow for about half an hour.
[08:30] <fta2> hm, ok
[10:26] <mok0> Why doesn't a deleted PPA disappear? It's only greyed-out
[10:51] <bigjools> mok0: that part is not implemented (yet)
[10:51] <bigjools> deletion was done so that people could rename their accounts
[10:52] <mok0> bigjools: I see
[11:01] <shadeslayer> could someone have a look at OOPS-1887C1077
[11:02] <shadeslayer> Same thing with OOPS-1887O1093
[11:02] <shadeslayer> Trying to copy a package from a public PPA to a private ppa
[11:15] <wgrant> shadeslayer: That's a timeout. Were you copying more than one source?
[11:15] <bigjools> shadeslayer: it's timing out because you're copying too much at once.  This is a know bug.
[11:15] <shadeslayer> nope
[11:15] <wgrant> Wow.
[11:15] <shadeslayer> just one source
[11:15] <wgrant> Nice timing.
[11:15] <bigjools> does it have a lot of binaries?
[11:15] <wgrant> shadeslayer: Has copying this source worked recently?
[11:15] <shadeslayer> quit possibly yes ... /me checks
[11:15] <shadeslayer> wgrant: yeah
[11:15] <wgrant> The global timeout was reduced a few hours ago.
[11:15] <bigjools> that page really needs a job runner
[11:16] <wgrant> We may want to increase it by a couple of seconds for this page and see what happens.
[11:16] <wgrant> bigjools: No, it just needs me to find time to make it not suck.
[11:16] <shadeslayer> yeah loads of binaries
[11:16] <wgrant> There are two really easy fixes which half the query count.
[11:16] <bigjools> shadeslayer: that's the problem then :(
[11:16] <shadeslayer> this is the source : https://launchpad.net/ubuntu/+source/kdebindings
[11:16] <shadeslayer> :(
[11:16] <bigjools> wgrant: JFDI!
[11:16] <shadeslayer> hahah
[11:16] <wgrant> shadeslayer: Ah, KDE disorder.
[11:16] <wgrant> Of course.
[11:17] <shadeslayer> ;)
[11:17] <shadeslayer> i thought it was only with big sources
[11:17] <bigjools> it's the file count that matters
[11:17] <wgrant> It mostly depends on the number of binaries.
[11:17] <shadeslayer> didn't know large number of binaries cause timeouts as well
[11:17] <wgrant> Sources aren't so critical.
[11:17] <bigjools> it has to go checking each file for conflicts in the target archive
[11:17] <shadeslayer> yeah i just copied the sources over
[11:17] <shadeslayer> ah
[11:18] <bigjools> the code that does that sucks a bit
[11:18] <wgrant> It's fairly easy to fix, but difficult to write a test to ensure that it stays fixed.
[11:18] <shadeslayer> yeah ... the test part is fairly important
[11:19] <wgrant> I think I will give up on that for now and just fix the problem.
[11:19] <wgrant> Eventually we'll get the whole thing into a testable state.
[11:19] <shadeslayer> :D
[11:38] <shadeslayer> another issue, i can't open build logs in a private PPA, like this one https://launchpad.net/~kubuntu-ninjas/+archive/ppa/+buildjob/2295261
[11:40] <shadeslayer> nvm ... looks like a chromium issue
[11:43] <bigjools> yeah there's a bug in Chromium
[12:53] <crom> hello any help arround...Error ID: OOPS-1887O1263 while trying to import finger print
[12:57] <crom> any admin there?
[13:02] <crom> any admin there?
[13:03] <wgrant> crom: Have you tried it more than once?
[13:03] <crom> last week, but different error
[13:03] <crom> i cant manage to import the fingerprint
[13:05] <wgrant> crom: Could you try it again now?
[13:05] <crom> sure.... 1 sec
[13:07] <crom> did u change anything....i try all evening last week
[13:07] <crom> now works
[13:07] <wgrant> crom: What was the error you were getting last week?
[13:07] <wgrant> I don't think it was this same one.
[13:16] <stgraber> hello
[13:17] <stgraber> could someone rename https://launchpad.net/vmmanager to https://launchpad.net/weblive ?
[13:17] <stgraber> vmmanager doesn't have any blueprint or bugs at the moment, only two bzr branches
[13:17] <stgraber> so there shouldn't be any really broken link by doing so
[13:22] <stgraber> Just filed: https://answers.launchpad.net/launchpad/+question/147523
[13:25] <flower> gpg --clearsign UbuntuCodeofConduct-1.1.txt, but how do I specify a certain key?
[13:26] <flower> gpg --clearsign UbuntuCodeofConduct-1.1.txt, uses the first user key which is on the system, I need a other
[13:39] <raphink> flower, have you read the manpage?
[13:39] <raphink> it says how to do it
[13:40] <raphink> The key to  be  used  for
[13:40] <raphink>               signing is chosen by default or can be set with the --local-user and --default-key options.
[13:40] <flower> gpg --clearsign -u works
[13:41] <raphink> -u is the short for --local-user
[13:41] <raphink> as per manpage gpg
[13:41] <flower> allthough launchpad gives a general error :/
[13:42] <flower> ah
[14:04] <crom> so after confirming code of conduct....what next?
[16:45] <\sh> moins
[17:16] <\sh> could someone explain what the real contents of the cve collection is? is it imported from mitre or is it only a list of cves somehow reported via bug reports?
[17:17] <\sh> when the latter is true, the cve entry bugs collection should show somehow at least one bug entry per cve entry, right?
[19:48] <cody-somerville> When should I expect staging.launchpad.net to come back?
[20:06] <lifeless> don't know why its down yet
[20:55] <kees> hi! how do I configure my bzr branch to email merge requests somewhere? I don't seem to get any email notifications of merges.
[20:57] <tumbleweed> kees: it's an option when you subscribe to a branch
[20:57] <tumbleweed> (emailing them to you)
[20:58] <kees> tumbleweed: hm
[20:59] <Ampelbein> kees: https://code.launchpad.net/~USER/PACKET/BRANCH/+edit-subscription ? on the middle right corner "edit my subscription"
[21:00] <kees> Ampelbein, tumbleweed: I don't see an option for "just merge requests". won't this send all commits too?
[21:00] <kees> or are merge-requests considered "attribute" changes?
[21:01] <tumbleweed> kees: see  "code review level" I think
[21:03] <kees> tumbleweed: ah, so "Notification Level" is about the branch itself, and "Code review Level" is about merge requests? that makes sense.
[21:04] <tumbleweed> kees: I think so, I'm no LP dev :) The branches I get review mail on, I also subscribe to commits for
[21:52] <wgrant> kees: That UI isn't quite optimal, since merge proposals were added later. But yes, "Notification level" is all about commit notifications.