=== Peng__ is now known as Peng [09:29] cjwatson, juliank - downloaded SKS webserver source code, to browse what it supports.... And I think everything what we need already exists [09:30] https://keyserver.ubuntu.com/pks/lookup?op=get&exact=on&search=0x2d9df1e22f3416238d46f49f157951fe4031d287 [09:30] bah wrong url [09:30] https://keyserver.ubuntu.com/pks/lookup?op=get&options=mr&exact=on&search=0x2d9df1e22f3416238d46f49f157951fe4031d287 [09:30] downlaods ASC armored public key, with exact match on the fingerprint. [09:31] it's not clean, but it's perfectly usable by the new enough apt. [09:31] (in the web-browser that gets downloaded as gpgkey.asc) [10:06] xnox: I mean, we could, but I'd rather just use the existing interfaces that LP already uses. [10:06] i.e. retrieve the key in the usual way (which is op=get&exact=on) and then format it ourselves [10:07] that way we can cache it using our existing strategies [10:07] as in launchpad.net to proxy the results for that. [10:08] without 'options=mp' one gets and html page with header bar; with 'options=mp' one gets plain text, armored key [10:08] so if you are adding code in launchpad to fetch keys, 'options=mp' is useful. [10:09] We already have code in Launchpad to fetch keys [10:09] lib/lp/services/gpg/handler.py [10:09] * xnox looks [10:09] So I'd rather fetch the key in the usual way we already do, and then use gpgme to armor it [10:10] Because that way the same keyserver result can be cached locally and has a better chance of being useful for other requests [10:11] ack [10:13] In fact we already have all the necessary code. [10:13] PymeKey.export will do it [10:14] (Because PymeKey._getContext sets armor = True [10:14] ) [10:15] So it should literally be just handler = getUtility(IGPGHandler); pub_key = handler.retrieveKey(fingerprint); key_text = pub_key.export() [10:15] Sorry, I didn't realise you thought we thought we'd need any special keyserver support for this. [10:15] Could have saved you the bother. [20:43] wgrant: Could you re-review https://code.launchpad.net/~cjwatson/launchpad/job-oops-timeline/+merge/341554, please? I added some gadgetry to avoid BranchScanJob producing giant timelines, since that seems likely to be the worst offender. [21:35] cjwatson: Ah, clever. [22:08] Thanks. [22:08] Also, if you reference any kind of model object from your timeline then the resulting reference cycles are *hell* to debug. [22:09] I tried using objgraph which sort of vaguely helped a little but also produced enormous output.