[00:25] <RoAkSoAx> hi all I hope this is the right channel, but I was wondering if there's a way to obtain the list of packages that someone X uploaded, using the launchpadapi? If so, can someone point me out to what should I be reading for that? Thank you!
[00:25] <lifeless> this is the right channel
[00:25] <lifeless> api docs
[00:25] <lifeless> https://launchpad.net/+apidoc/devel.html
[00:26] <RoAkSoAx> lifeless: yeah I was looking there but I can't seem to find anything for what I'm lookin for :(
[00:27] <lifeless> it may not exist yet
[00:27] <lifeless> feel free to file a bug
[00:27] <RoAkSoAx> lifeless: will do! thanks!
[03:05] <MTecknology> Is there any way to see a list of downloadable files in a project?
[03:06] <lifeless> like on https://launchpad.net/bzr/+download
[03:06] <lifeless> ?
[03:12] <MTecknology> lifeless: can you use that in a debian/watch file?
[03:13] <lifeless> no, its paginated
[03:13] <lifeless> uhm
[03:13] <lifeless> have a look at the bzr packages watch file
[03:14] <lifeless> it probably has what you need
[03:15] <MTecknology> hm..
[03:16] <MTecknology> that opts looks a bit crazy
[03:18] <MTecknology> lifeless: any chance you could explain that part to me?
[03:18] <lifeless> I'd need to go read the manual
[03:18] <lifeless> I just knew it was an example using lp
[03:18] <MTecknology> opts="uversionmangle=s/rc/~rc/;s/b/.0~beta/" \
[03:21] <MTecknology> heh.. there's nothing even about that in http://wiki.debian.org/debian/watch/
[03:22] <lifeless> thats just for handling bzrs version numbers
[03:22] <MTecknology> just like using sed before it's evaluated?
[03:26] <MTecknology> lifeless: thanks :)
[10:49] <mwb_suse> hi.  is anyone around who is familiar with the launchpad API?
[10:50] <wgrant> mwb_suse: Sure.
[10:54] <mwb_suse> wgrant: I'm trying to figure out if it's possible to pull details (description and comments, primarily) for multiple bugs from Launchpad with a single call.  Is that even possible?
[10:55] <mwb_suse> with bugzilla it's just a matter of either tacking on extra id= parameters, or passing an array to their XMLRPC interface, but I can't find anything in the Launchpad docs about that
[10:56] <wgrant> mwb_suse: There's no way to do that at the moment. It's something that we want to do, though.
[10:57] <wgrant> It's mostly specced out, but not yet scheduled.
[10:58] <mwb_suse> ah, OK.  is there a vague ETA on that feature?
[10:58] <wgrant> I'm afraid not.
[10:59] <mwb_suse> Ah well.  Thanks!
[11:00] <lifeless> mwb_suse: you can use martin pools twisted api client
[11:00] <lifeless> which will do overlapping concurrent requests
[11:00] <lifeless> (but don't set the concurrency too high - it can generate a lot of server load)
[11:01] <m4n1sh> mwb_suse: you using launchpadlib?
[11:02] <mwb_suse> no, Qt/C++
[11:03] <mwb_suse> i'll just wait for server support; multiple requests wouldn't be a good use of server resources
[11:03] <m4n1sh> mwb_suse: you using the raw api?
[11:03] <m4n1sh> the restful api?
[11:05] <mwb_suse> yeah.  for context - i'd like to add launchpad support to a caching desktop bug tracker client (http://entomologist.sf.net).  so currently, i guess it would wind up being a single request for every bug a user has assigned to them
[11:06] <m4n1sh> yeah
[11:06] <m4n1sh> so you are writing the wrapper by hand?
[11:07] <m4n1sh> the Qt/C++ wrapper around RESTful API?
[11:07] <mwb_suse> yes.  it's actually a pretty easy API to work directly with once
[11:07] <mwb_suse> s/once//
[11:07] <m4n1sh> writing by hand or generating it?
[11:07] <m4n1sh> I am also writing the mono wrappers
[11:09] <mwb_suse> i'm doing it by hand.  it didn't even occur to me to look for a WADL -> QObject generator...
[11:10] <m4n1sh> Bugs part is done
[11:10] <m4n1sh> is there any?
[11:10] <m4n1sh> WADL -> QObject generator?
[11:10] <tsimpson> I'm doubtful one exists
[11:11] <tsimpson> besides, you run the risk of having to rewrite massive chunks of your code if LP changes
[11:12] <mwb_suse> isn't that the point of having API versions?
[11:12] <tsimpson> ok, _when_ LP changes then
[11:13] <lifeless> uhm
[11:13] <lifeless> you have to rewrite code no matter what
[11:13] <m4n1sh> I have written for mono wadl-sharp for generating C# code from WADL
[11:13] <m4n1sh> but WADL being a confusing spec
[11:13] <tsimpson> I mean I'd rather write something like obj.call("someLPCall", args...) than individual methods for LP calls
[11:13] <m4n1sh> I doubt what I made is actually correct
[11:13] <lifeless> if we change something, you have to change.
[11:13] <lifeless> however
[11:13] <lifeless> we release versions (like 1.0) that we guarantee for years (excepting very rare circumstances)
[11:13] <m4n1sh> I am using 1.0 for it
[11:13] <lifeless> gnight
[11:14] <m4n1sh> tsimpson: re-writing code is LP changes
[11:14] <tsimpson> but if you call LP methods dynamically, only the applications need to change, not the LP binding
[11:14] <m4n1sh> in which case?
[11:14] <m4n1sh> generation by tool or writing by hand?
[11:14] <m4n1sh> tsimpson: the problem is with statically typed languages
[11:14] <m4n1sh> like C#
[11:15] <m4n1sh> it is painful to do things dynamically
[11:15] <tsimpson> which is why I use python with Launchapd, and C++ with anything else :)
[11:15] <m4n1sh> I asked Leonard
[11:15] <m4n1sh> he said the API will change in a backward compactible way
[11:15] <m4n1sh> but not 100% guaranteed
[11:16] <tsimpson> when you do foo.someMethod(...) in launchpadlib, it actually translates to another method on foo which includes "someMethod" and the arguments
[11:16] <tsimpson> so it only looks like a static API on the client-side, but it's dynamically generated from the WADL
[11:17] <tsimpson> dynamically every request too
[11:17] <m4n1sh> so if the no of arguments for a method changes
[11:17] <m4n1sh> in this case the static method will fail
[11:17] <tsimpson> well, every request to the root URI, not *every* request
[11:17] <wgrant> m4n1sh: All args are named.
[11:17] <wgrant> Not positional.
[11:18] <m4n1sh> right now I am generating C# code from WADL
[11:18] <m4n1sh> what all bad things can happen
[11:18] <m4n1sh> it is generated once
[11:18] <m4n1sh> and then shipped
[11:18] <m4n1sh> it doesnt generate dynamically
[11:18] <tsimpson> you'd be better off giving a map/dict to each method as the arguments
[11:19] <tsimpson> but then you probably need some "variant" class, like QVariant in Qt to get a map of string->any_type
[11:29] <mwb_suse> one other question - does launchpad have an API call, or some other way to identify that a server is running a launchpad instance?
[11:31] <m4n1sh> mwb_suse: you have to specify which launchpad instance you want to use (IIRC)
[11:32] <wgrant> mwb_suse: There has traditionally only been a single production Launchpad instance, so not really :/
[11:33] <m4n1sh> but staging and edge
[11:33] <m4n1sh> I think edge is now no more
[11:33] <mwb_suse> m4n1sh: i mean if someone runs their own launchpad instance on bugs.example.com or something
[11:34] <m4n1sh> then it should be production
[11:34] <mwb_suse> wgrant: well, one more thing on the wishlist for v1.1, then :-)
[11:35] <mwb_suse> m4n1sh: but if there's no identifying call, eg. http://bugs.example.com/api, there's no way to distinguish whether or not a server is running a launchpad instance
[11:35] <m4n1sh> yeah
[11:37] <tsimpson> you can just use a standard GET to the service root with a header of "Accept: application/vnd.sun.wadl+xml"
[11:38] <tsimpson> if you get back a WADL definition, you can parse that and see if it's a launchpad instance or not
[11:38] <wgrant> True. THere are some reasonably definitive wadl:docs there.
[11:38] <mwb_suse> i don't see an identifier in there
[11:39] <tsimpson> there's an "About this service" wadl:doc with "Launchpad" in it
[11:40] <tsimpson> or you can just look at the wadl and see if it looks like an LP service
[11:43] <mwb_suse> yeah, that works
[11:44] <tsimpson> unless someone goes out of their way to customize the service definition, it should be fairly easily detectable
[11:44] <tsimpson> and the likelihood of you even getting a wadl definition on some random server is low anyway
[11:52] <mwb_suse> thanks again for the help!
[15:56] <crom> hello anyone can help me with the fingerprint, the webpage does not accept it (BTW i'm a noob LOL)
[16:18] <crom> any admin arround?
[16:37] <m4n1sh> crom: fingerprint?
[16:40] <m4n1sh> crom: Hi
[16:40] <m4n1sh> you issue?
[16:40] <m4n1sh> *your
[16:41] <crom> the page says that there is an error with the fingerprint....or wait 10 min for the fingerprint to be uploaded
[16:42] <crom> sorry?
[16:44] <crom> any idea?
[16:47] <m4n1sh> your RSA/DSA fingerprint?
[16:47] <m4n1sh> you uploading your GPG public key?
[16:48] <crom> yes i did by...
[16:48] <crom> gpg --send-keys --keyserver keyserver.ubuntu.com "pub-id"
[16:50] <crom> well nevermind the i have to go now ...thanks
[17:46] <luv> hi, how long does it take for a ppa to get completly deleted?
[17:50] <m4n1sh> luv: you deleted a PPA?
[17:50] <m4n1sh> in my case it still shows that the repo exists
[17:50] <m4n1sh> in my LP profile
[17:50] <m4n1sh> but others cannot see this
[17:51] <luv> hell
[17:51] <luv> i had a really cool for that ppa
[17:52] <luv> and now i was about to create one with the same name
[17:52] <luv> because i forgot password for my old openpgp key :-)
[17:52] <luv> and there is no way to change the key for a ppa
[17:53] <luv> anyway, at least, i can exercise my creativity again :-)
[17:53] <luv> thanks
[18:22] <maxb> luv: I'm afraid you've misunderstood - your openpgp key is not linked to a specific PPA
[18:23] <tsimpson> luv: you only need to sign the source package you upload to the PPA, with *any* of your registered pgp/gpg keys
[18:31] <luv> not really
[18:31] <luv> for example, add-apt-repository downloads a specific key when adding a ppa
[18:32] <luv> and you can see the ppa listed on your ppa launchpad website
[18:32] <luv> sorry
[18:32] <luv> and you can see the _key_ listed on your ppa launchpad website
[18:35] <tsimpson> luv: your key has nothing to do with the PPA key
[18:35] <tsimpson> you sign the package so LP knows it comes from you, then LP builds it and signs it so users know it comes from LP
[18:36] <tsimpson> you can change your keys all you want, as long as LP knows the key you are using to upload is associated with your account
[18:54] <luv> tsimpson:  and then add-apt-repository comes in
[18:55] <tsimpson> all add-apt-repository does is get's the PPA deb source, pulls the key for the PPA, and adds it to the keyring
[18:55] <tsimpson> it has nothing to do with what key you used to sign the source packages with when you upload
[19:07] <luv> the problem is in the part where add-apt-repository pulls the key for the ppa
[20:24] <falktx> hey there
[20:25] <falktx> it seems that some users are unable to reach my PPAs
[21:41] <ari-tczew> We need to add ubuntu-dev as member into ~ubuntu-branches to maintain statuses. is it possible?
[21:46] <lifeless> the tb owns ubuntu-branches
[22:01] <Ampelbein> hi there, I'm running into OOPSes like OOPS-1883F2268 when trying to access a list of bugs, in that case https://launchpad.net/ubuntu/+bugs?assignee_option=none&field.assignee=&field.component=1&field.component=2&field.component-empty-marker=1&field.has_no_package.used=&field.has_patch.used=&field.importance:list=Undecided&field.omit_dupes=on&field.omit_dupes.used=&field.owner=&field.searchtext=&field.status:list=New&orderby=-datecreated&se
[22:01] <Ampelbein> arch=Search&start=1575
[22:16] <tumbleweed> Hi. We have a merge proposal from a new contributor that's had a lot of back and forth (we have high standards), and eventually one of our developers decided to make the final changes necessary for acceptance, himself.
[22:16] <lifeless> Ampelbein: hi, just waiting for that to sync to be able to look at it for you
[22:16] <tumbleweed> He tried to mark the merge as superceded by his own branch, and ran into OOPS-1883A2286
[22:17] <tumbleweed> am I right in thinking that when his branch is merged, the original wone will be marked as merged? We don't really want to mark it as rejected, because it wasn't
[22:17] <Ampelbein> lifeless: no stress, I realise it's saturday evening for some people ;-
[22:17] <lifeless> Ampelbein: sunday morning in fact ;)
[22:17] <lifeless> tumbleweed: i think you are
[22:18] <tumbleweed> lifeless: ok, that's probably the best route out of here then. We don't want to alienate too much.
[22:39] <lifeless> Ampelbein: its a timeout
[22:40] <lifeless> Ampelbein: we have been working on search, still more to do. I'll make sure there is a bug dedicated to this later today.
[22:41] <Ampelbein> lifeless: ok, so it's nothing fancy going wrong. Will try to narrow down my search options a little in that case. thanks for checking!
[22:43] <lifeless> Ampelbein: its one query taking 10 seconds on its own
[22:45] <lifeless> ah
[22:45] <lifeless> you're at page 1575 of the search?!
[22:45] <lifeless> sorry, page 15
[22:45] <lifeless> thats probably it
[22:45] <Ampelbein> lifeless: in that case, yeah.
[22:46] <Ampelbein> lifeless: I start at page 1 and click through to see if I find anything interesting.