[00:15] <wgrant> lifeless: Why's the bugsupervisor not -committers?
[00:16] <lifeless> wgrant: launchpad-security has an external address, as its also the private bug contact
[00:16] <lifeless> wgrant: committer access is sufficient to know about security bugs, even if you don't get notified
[00:17] <lifeless> wgrant: (been like this for ages, not a recent change)
[00:17] <wgrant> lifeless: wut
[00:17] <wgrant> lifeless: Bugsupervisor != security
[00:18] <wgrant> Bugsupervisor also != notifications unless the project is misconfigured.
[00:18] <lifeless> yes, I know that too; short story - I'm too lazy to reconfigure 30 projects bugsupervisors for no functional gain.
[00:18] <lifeless> *we* don't need separate teams for this, so using separate teams would add complexity.
[00:18] <wgrant> Right
[00:19] <wgrant> Launchpad Security shouldn't exist
[00:19] <wgrant> It only exists because notifications suck
[00:19] <wgrant> Its rationale for existence should disappear shortlyu.
[00:19] <lifeless> indeed
[00:20] <lifeless> but today, going and changing a bunch of stuff - pointless pain
[00:20] <lifeless> we can probably just merge launchpad-security into canonical-launchpad-committers in a months time
[00:20] <wgrant> Yeah
[00:20] <lifeless> or reconfigure 30 odd projects.
[00:20] <lifeless> Give you a hint which route *I* would take
[00:21] <wgrant> API :)
[00:21] <lifeless> merge is massively easier ;)
[00:21] <wgrant> That's a bug.
[00:21] <lifeless> you'll need to expand on that rather massively
[00:21] <wgrant> That project setup is so awful has to be considered a bug.
[00:22] <lifeless> indeed
[00:22] <lifeless> but changing one thing easier than changing 30, is natural, not a bug
[00:22] <lifeless> doing a cascading change from -project might make sense
[00:22] <wgrant> It involves a project group.
[00:22] <lifeless> if project groups were to get fleshed out in any direction
[00:23] <wgrant> Therefore it is a fundamentally nonsensical operation.
[00:23] <lifeless> hah, troll
[00:23] <lifeless> LUNCHTIME
[00:34] <wgrant> lifeless: Do we want to close bug #982938, or leave it open for a better fix later?
[00:35] <lifeless> is that the optimisation we did yestarday
[00:35] <wgrant> Yes
[00:35] <lifeless> close it
[00:35] <lifeless> we're now at what, 36 seconds latency on average
[00:35] <wgrant> Roughly.
[00:35] <lifeless> the bug will get noisy if we talk about killing that there.
[00:35] <wgrant> The HIB has caused load so we're seeing some minor issues occasionally.
[00:35] <wgrant> Yeah, true.
[00:35] <lifeless> You may want to file another bug saying that it takes ~36seconds on average
[00:35] <wgrant> wallyworld_: The new JS on +filebug is marvellous.
[00:36] <lifeless> so ca don't need to.
[00:36] <lifeless> It would be a kindness.
[00:36] <wallyworld_> wgrant: yeah. and it will be better soon when i also enhance the info type buttons
[00:40] <wgrant> wallyworld_: Did you tweak the markup for the tag edit icon?
[00:40] <wgrant> wallyworld_: It's now immediately adjacent to the final tag, rather than having a small gap.
[00:40] <wgrant> I'm pretty sure it wasn't like that this morning.
[00:40] <wallyworld_> wgrant: which page?
[00:40] <wgrant> https://bugs.launchpad.net/launchpad/+bug/827973
[00:40] <_mup_> Bug #827973: Unify custom-upload filename parsing and handling <qa-untestable> <tech-debt> <Launchpad itself:Fix Committed by cjwatson> < https://launchpad.net/bugs/827973 >
[00:40] <wgrant> Or any bug
[00:41] <wgrant> Note "tech-debt(!)" rather than "tech-debt (!)"
[00:41] <wallyworld_> wgrant: ah, possibly a small regression, removing a nbsp. i'll fix
[00:41] <wgrant> Yeah, that's what I suspected. Thanks!
[00:41] <wallyworld_> thnks for noticing
[00:41] <lifeless> nbsp rather than a style?
[00:41] <wgrant> Found an old tab -- there was indeed a space there before.
[00:41] <wallyworld_> lifeless: the current meme is to use nbsp
[00:42] <wallyworld_> but style is better of course
[00:42] <wallyworld_> legacy markup from years ago i suspect
[00:42] <lifeless> perhaps you can fix using a style then ? :)
[00:42] <wallyworld_> there's a lot of places
[00:43] <wallyworld_> and a lot of disclosure stuff todo, but we can do as a slack time effort perhaps
[01:29] <StevenK> steven@undermined:~/launchpad/lp-branches/branch-information_type-factory% zcat ~/Desktop/branch-information_type-factory-r15326.subunit.gz | testr load >/dev/null
[01:29] <StevenK> String or Integer object expected for key, unicode found
[01:30]  * StevenK stabs testr for being crap.
[01:46] <lifeless> StevenK: yeah, so thats fixed, add the ppa
[01:46] <lifeless> StevenK: and blame python for breaking API in 2.7.
[01:49] <StevenK> lifeless: Which ppa?
[01:54] <lifeless> testing cabal
[01:54] <lifeless> or yellow
[02:22] <StevenK> mwhudson: Is lp/codehosting/inmemory.py only testing fakes?
[02:22] <mwhudson> StevenK: yes
[02:22] <StevenK> Excellent
[02:23] <StevenK> Maybe it should move to lp/codehosting/tests then :-)
[02:23] <mwhudson> yeah probably
[02:23] <wgrant> testing
[02:23] <wgrant> normally
[02:23] <wgrant> Not tests
[02:23] <mwhudson> it implements a very restricted kind of privacy for branches iirc...
[02:35] <bigjools> what was Python thinking when it decided that it was a good idea to emulate the C ?
[02:35] <bigjools> arse
[02:35] <bigjools> what was Python thinking when it decided that it was a good idea to emulate the C ?: operator
[02:35] <mwhudson> i have no idea
[02:36] <mwhudson> i raised my hang to vote for the "this is a bad idea" option during a guido keynote
[02:36] <mwhudson> more than once, i think...
[02:37] <lifeless> bigjools: they were thinking 'how much worse can it possibly be'?
[02:41] <bigjools> And while I am ranting, Django is making me want to be violent with inanimate objects.
[02:42] <lifeless> howso?
[02:43] <bigjools> because it's enchanted
[02:43] <StevenK> s/enchanted/cursed/
[02:43] <bigjools> there's loads of magic you need to know about
[02:44] <bigjools> I prefer explicit
[02:45]  * wallyworld_ likes the ?: operator 
[02:46] <wallyworld_> nice and compact
[02:46] <lifeless> wallyworld_: have you *seen* the python version ?
[02:46] <wallyworld_> yes, i use it and i don't like it but i like the concept
[02:46] <wallyworld_> it's arse about
[02:46] <lifeless> wallyworld_: trueclause if condition else falseclause
[02:46] <bigjools> eschew obfuscation
[02:46] <wallyworld_> yes, i know
[02:46] <lifeless> wallyworld_: its insane
[02:46] <wallyworld_> i prefer the C/java variant
[02:47] <lifeless> wallyworld_: a major feature of condition ? trueclause : falseclause is its brevity ;)
[02:47] <wallyworld_> i though the original comment was directed at not liking the ?: operator at all
[02:47] <lifeless> python's version totally fails
[02:47] <wallyworld_> yes
[02:48] <wallyworld_> seems like they wanted the idea but *had* to do it differentl out of princioal
[02:48] <bigjools> ?: is fairly evil too, it encourages unreadable code except if you have the most basic needs
[02:49] <bigjools> it was summarily banned in one of my previous jobs
[02:50] <wallyworld_> hmm. i like it
[02:50] <wallyworld_> any construct can be abused
[02:51] <StevenK> wallyworld_: But you like Java ...
[02:51] <wgrant> wallyworld_: There is some speculation that it was done awkwardly because Guido didn't really want to do it. So he made it terrible so people would shut up but not use it.
[02:51] <wallyworld_> wgrant: that i would believe
[02:51] <wallyworld_> StevenK: sigh
[02:52]  * wallyworld_ off for a bit - kid needs to go to orthodontist $$$$$$$$ :-(
[04:49] <StevenK> wallyworld_: Are you back?
[04:49] <wallyworld_> StevenK: yep
[04:49] <StevenK> wallyworld_: How was the orthodontist, aside from hellishly expensive?
[04:50] <wallyworld_> StevenK: no money has exchanged hands yet. we need to make a decision. it we be in the order of $7000 if we go ahead :-(
[04:50] <wallyworld_> i can't see why it costs so muh
[04:50] <wallyworld_> much
[04:50] <StevenK> Does private health care handle any of it?
[04:50] <wgrant> Because they can :)
[04:51] <wallyworld_> private health will cover some but not much, maybe 20%. have t check
[04:52] <StevenK> wallyworld_: Ouch, that's still ~ $5500
[04:52] <StevenK> wallyworld_: So you might need to sell that shiny new phone and a kidney?
[04:52] <wallyworld_> yeah. and it may be less than 20%. i just made that up. but it won't be more than that afaik
[04:59] <StevenK> wallyworld_: Medibank Private will cover up to $3,000 depending on your extras cover
[04:59] <StevenK> But that's a lifetime limit
[05:00] <StevenK> Not sure how it works for family cover
[05:00] <wallyworld_> StevenK: i'm with ghmba. need to look into it
[05:00] <wallyworld_> extras cover is soooo expensive for the top level
[05:02] <StevenK> s/ for the top level//
[05:02]  * StevenK stabs the branch scanner
[05:14] <wallyworld_> StevenK: looking in a minute, justing finishing a mp
[05:15] <StevenK> wallyworld_: Thanks, I was waiting for the branch to actually scan.
[05:15]  * StevenK prepares the lynch mob
[05:19] <lifeless> EOW, have a good weekend
[05:20] <wgrant> Night lifeless.
[05:22] <wallyworld_> StevenK: i think "If this branch is public " can be removed from the comment
[05:22] <wallyworld_> s/can/should perhaps
[05:23] <StevenK> wallyworld_: If this branch is stacked on a private branch ...
[05:23] <wallyworld_> StevenK: yes, i think so
[05:26] <StevenK> wallyworld_: Thanks for the approve, I've pushed up the comment change.
[05:26] <wallyworld_> np
[05:41] <StevenK> wallyworld_: How are you enjoying the new phone?
[05:41] <wallyworld_> StevenK: shared shitless of scratching it
[05:42] <StevenK> Don't be
[05:42] <wallyworld_> need to buy a case etc
[05:42] <wallyworld_> it's very, very nice though
[05:42] <wallyworld_> well made, fast, excellent screen
[05:42] <StevenK> wallyworld_: www.youtube.com/watch?v=kmqe9G5TIOg
[05:42] <wallyworld_> also need to root it
[05:42] <bigjools> wallyworld_: pervert
[05:43] <StevenK> wallyworld_: That's for the Galaxy S, but the S2 and S3 have the same glass
[05:43] <StevenK> bigjools: Says the guy who wanted to have sex with his phone
[05:43] <wallyworld_> StevenK: bigjools says his nexus screen is quite badly scratched
[05:43] <StevenK> Strange, my S2 has no scratches
[05:43] <wallyworld_> StevenK: S3 gas Gorilla Glass 2 afaik
[05:44] <bigjools> scratched mine when I dropped it when it when flying at about 30km/h on a bike trail
[05:44] <wallyworld_> perhaps nexus didn't have gg
[05:44] <wallyworld_> i seem to recall that from somewhere
[05:44] <StevenK> wallyworld_: Watch the video and try not to cringe
[05:44] <wallyworld_> i just did :-)
[05:44] <bigjools> impressive
[05:45] <wallyworld_> i'm not going to "try this at home" though
[05:45] <StevenK> There was a better one
[05:45] <wallyworld_> although i did vut my sim card with a pair of scissors to make it into a micro sim :-)
[05:45] <wallyworld_> cut
[05:48] <StevenK> wallyworld_: http://www.youtube.com/watch?v=xaNWuGtAaxM was what I was thinking
[05:49] <wallyworld_> StevenK: those crazy koreans
[05:50] <wallyworld_> the knife did leave some scratches
[05:50] <bigjools> wallyworld_: now you're in the real world with a smartphone, I can start recommending apps
[05:50] <StevenK> Yeah, but are you going to try that? :-)
[05:50] <StevenK> Cut the Rope!
[05:51] <bigjools> Facebook!  lol
[05:51] <wallyworld_> i've got the Whip already
[05:51] <StevenK> Soundhound
[05:51] <wallyworld_> nooooo. none of that social networking rubbish
[05:51] <bigjools> Where's My Water is great
[05:51] <wallyworld_> got soundhound and shazam already, and the night sky one
[05:51] <bigjools> at least install G+?
[05:51] <wallyworld_> nope
[05:51] <wgrant> Hahahah
[05:51] <bigjools> google sky map?
[05:51] <wallyworld_> yep
[05:51] <bigjools> GPS Status
[05:51] <StevenK> bigjools: Meh. Where's My Water did not do it for me like Cut the Rope did
[05:52] <bigjools> juice defender
[05:52]  * wallyworld_ detests social networking
[05:52] <StevenK> Ohh, ++ for juice defender
[05:52] <bigjools> StevenK: did it not cut the mustard? :)
[05:52] <bigjools> wallyworld_: luddite
[05:52] <bigjools> Any.DO
[05:52] <StevenK> Wind Up Knight is pretty awesome
[05:52] <bigjools> Cardio Trainer
[05:52] <wallyworld_> if i never see another tweet or facebook update along the lines of "doing a big dump this morning" it will be too soon
[05:52] <bigjools> StevenK: I uninstalled that as it wanted micro payments
[05:53] <wallyworld_> bigjools: i love technology so i'm no luddite
[05:53] <StevenK> bigjools: I only paid for Book II, Book III and IV I unlocked by playing
[05:53] <bigjools> Sprinkle
[05:53] <wallyworld_> well, i know what i'll be doing this weekend
[05:53] <bigjools> WhatsApp
[05:53] <bigjools> Wifi Analyzer
[05:54] <wallyworld_> StevenK: bigjools: the other thing is - i need to get stuff off my ubuntu laptop and ubuntu doesn't like the galaxy phones
[05:54] <bigjools> Authenticator for the 2FA stuff
[05:54] <wallyworld_> i have used bluetooth but that's slow as
[05:54] <wallyworld_> i really must look into a samba set up or something
[05:54] <bigjools> wallyworld_: really? why?  My GN is fine
[05:55] <wallyworld_> bigjools: it rcognises the phone but wont mount it
[05:55] <stub> We are moving away from big dumps to point in time recovery.
[05:55] <bigjools> Data Counter
[05:55] <wallyworld_> lol
[05:55] <bigjools> haha
[05:55] <StevenK> wallyworld_: Turn on USB debugging
[05:55] <bigjools> wallyworld_: it uses MTP, rather than USB Mass Storage :/
[05:55] <wallyworld_> StevenK: will that make it work?
[05:55] <bigjools> lol
[05:56] <wallyworld_> so ubunti doesn't support MTP?
[05:56] <StevenK> wallyworld_: Then it will prompt you when you plug in the cable and you can say mount
[05:56] <bigjools> it does
[05:56] <bigjools> just makes it harder IMO
[05:56] <bigjools> ironically :/
[05:57] <wallyworld_> i'll try getting it sorted out later tonight
[05:57] <bigjools> at least it's plug and go for 3G data
[05:57] <wallyworld_> i did install an ftp app and ftped some stuff across also
[05:57] <wallyworld_> i'm scared of rooting it cause some people have said doing that can fuck the security chip used for wireless payments
[05:58] <bigjools> yeah it'll stop working
[05:58] <wgrant> If wireless payment security depends on a DRMed handset, their wireless payment system has some pretty terrible problems.
[05:58] <bigjools> won't fuck it, just depends on boot loader sig or something
[05:58] <bigjools> since when have people implementing DRM been rational?
[05:59] <wallyworld_> i'll wait till people figure stuff out properly, bt i do want to root it so i cab block ads properly and install a full backup app etc
[05:59] <bigjools> I have a backup app that doesn't need root
[05:59] <bigjools> MyBackup
[05:59] <bigjools> pay-for
[05:59] <wallyworld_> sure, but ones which do "everything" do
[05:59] <wallyworld_> or so i thought
[05:59] <bigjools> mine does everything
[05:59] <bigjools> I have even used it in anger :)
[06:00] <wallyworld_> hmmm. will have to take another look then. but i'm sure i've seen them and they say "well we can get most stuff but if you want app settings and aps or whatever, you need root"
[06:00] <StevenK> Titanium
[06:00] <bigjools> well, that's bollocks
[06:01] <wallyworld_> i tried one on belinda's S2 and it couldn't do everything without root
[06:01] <wallyworld_> can recall the details
[06:01] <wallyworld_> can't
[06:01] <bigjools> get MyBackup
[06:01] <wallyworld_> wil do, or titanium
[06:01] <bigjools> I even have it set to auto backup in the middle of every night
[06:01] <wallyworld_> but aren't you using your porn then?
[06:02] <bigjools> my phone has a backuip schedule.... ffs
[07:02] <wgrant> wallyworld_: Won't that a.sprite margin introduce some oddness with eg. person links?
[07:02] <wallyworld_> wgrant: they use span i'm pretty sure - i checked that i think
[07:02] <wallyworld_> that's why is used a.sprite and not .sprite
[07:03] <wgrant> Nope, person and bug links are straight a.sprites.
[07:03] <wgrant> We want the margin only on a special class which trails the thing we're editing, I guess.
[07:03] <wgrant> I don't know if that class exists :/
[07:04] <wallyworld_> hmmm. yes you are right. i can't recall where i found spans now, but i did see tham
[07:04] <wgrant> You may be thinking of team links, where the custom icon is an img.
[07:04] <wgrant> They probably use a span.
[07:07] <wallyworld_> could be
[07:07] <wallyworld_> i wonder if we can add a class "nopadding" or something
[07:13] <wallyworld_> wgrant: adding a nopadding class and new style to exclde the padding seems to work fine
[07:19] <wgrant> wallyworld_: That seems pretty wrong.
[07:19] <wallyworld_> or i could go the other way
[07:19] <wgrant> wallyworld_: Seems more like we want an actionicon class or something like that.
[07:20] <wallyworld_> a padding style for sprite icons classes
[07:20] <wgrant> Because the thing with the special case is detached action icons.
[07:20] <wallyworld_> i can just enumerate the srpite classes in a css selector
[07:20] <wallyworld_> and introduce padding for those
[07:20] <wgrant> Won't work
[07:21] <wgrant> We have some edit icons with text in the <a>
[07:21] <wallyworld_> why does that affect anything?
[07:24] <adeuring> good morning
[07:30] <wgrant> wallyworld_: Not all edit sprites are icons that trail the thing they're editing.
[07:30] <wallyworld_> wgrant: sure, but they still need a little bit of left padding
[07:30] <wgrant> wallyworld_: The trait that makes them require the margin is that they trail the thing they're editing.
[07:30] <wgrant> Not that they're an edit sprite.
[07:31] <wallyworld_> in the cases i've seen, a little bit of left padding is fine
[07:32] <wgrant> Perhaps, but we should put padding where we want it.
[07:32] <wgrant> Not where it accidentally appears and doesn't look terrible.
[11:48] <jml> oh btw
[11:48] <jml> I did a bunch of ec2 test runs yesterday and got no email
[11:48] <jml> for all I know, the instances are still running.
[12:12] <bac> hi adeuring
[12:12] <adeuring> morning bac
[12:12] <bac> adeuring: done many reviews today?
[12:12] <adeuring> bac: just two
[12:13] <bac> cool.  i'll take colin's in a bit, unless you want to
[13:05] <sinzui> czajkowski, a "timeout" is not an "oops". Lots of problems show up in oops reports. We use the "oops" tags for exceptions. Other critical shown in the oops reports are "404", "403", and "timeout"
[13:17] <flacoste> jcsackett, sinzui: nice work on the new privacy banner :-)
[13:18] <sinzui> flacoste, I will convey that to the team. We expect to show information types on all Lp next week.
[13:19] <flacoste> sinzui: it works very smoothly on the filebug screen!
[13:20] <sinzui> flacoste, It will be very nice when we complete the field updates so that there is one consistent way of showing the information
[13:22] <czajkowski> sinzui: ok thanks.
[13:23] <sinzui> czajkowski, maybe we should replace the "oops" tags with "exception"
[13:25] <wallyworld_> sinzui: "What sprite is not an action?" Answer - person links <a class="sprite person">Fred</a>
[13:25] <czajkowski> sinzui: I don't know tbh, am only doing this while diogo is away so rather new to me to be honest and the tags still baffling me
[13:25] <czajkowski> *baffle
[13:26] <sinzui> wallyworld_, that is an action since I can "activate" it. maybe you mean js-action?
[13:26] <wallyworld_> sinzui: and also product links etc. those foiled my plans to add left margin to all a.sprite elements
[13:27] <wallyworld_> i mean the little yellow/red/gree/blue icons to the right of some text
[13:27] <wallyworld_> which initiate a popup or add or help overlay etc
[13:32] <jml> (repeat) I did a bunch of ec2 test runs yesterday and got no email
[13:32] <jml> is this a known issue?
[13:33] <wallyworld_> jml: sometimes that happens if there are too many failures and the attachment becomes too large. well, that's been the case for me on occasion
[13:36] <jml> wallyworld_: hmm. thanks. if so, I'm in a poor situation.
[13:36] <jml> because I'll never know what's wrong with my code.
[13:36] <wallyworld_> jml: you have to run the test run with the console left open
[13:36] <wallyworld_> so you csan see the errors and/or access the log
[13:37] <jml> on that machine that I keep up all the time
[13:37] <wallyworld_> yeah, that's the one :-)
[13:37] <jml> now where did I put it?
[13:37] <wallyworld_> jml: you can also log on via a web browser
[13:38] <wallyworld_> even after the console session is closed, ie later on
[13:38] <wallyworld_> it logs the web address to use when ec2 starts
[13:38] <wallyworld_> from there, you can load the log into the browser
[13:38] <wallyworld_> so long as you do it before everything terminates at the end of the run
[13:39] <jml> right.
[13:40] <jml> instances are down atm.
[13:40] <jml> so that data is irrevocably lost.
[13:40] <wallyworld_> :-(
[13:40] <jml> putting me another day behind :\
[13:41] <wallyworld_> but i was just guess when i suggested the reason for not getting email
[13:41] <wallyworld_> it's been the case for me but you may well have a different issue
[13:44] <wgrant> jml: It may also be that your bzr mail config is unsuitable.
[13:45] <jml> wgrant: that's very likely.
[13:45] <jml> wgrant: although I would have guessed that ec2 would have warned me.
[13:45] <jml> it does a *lot* of verification
[13:45] <wgrant> jml: Heh
[13:46] <wgrant> jml: email must be @canonical.com, smtp_{server,username,password} must be normal Canonical ones.
[13:46] <wgrant> (well, it could probably also be a personal one, but the Canonical one is known to work :))
[18:00] <cjwatson> bac: did you get a chance to review my branch?  you said something earlier that you were going to
[18:01] <bac> cjwatson: sorry i got tied up with something else.  i can take a break and look at it now.
[18:02] <cjwatson> np, just wondering
[18:10] <bac> cjwatson: it looks good.  i'll approve it in a bit.  thanks!
[18:11] <cjwatson> awesome, thanks
[18:12] <cjwatson> Now if only I can make LFA webservice serialisation bend to my will ...
[18:15] <cjwatson> I wonder if exported(List(value_type=Bytes())) just doesn't work
[20:06] <Beret> anyone happen to know if searchTasks(search_text=bugidnumber) is reliable?
[20:09] <abentley> Beret, I suggest doing bugs[bugidnumber] instead.
[20:09] <Beret> ok, thanks
[20:29] <sinzui> The rain is falling hard. I expect to fall off the net in a few minutes
[20:41] <cjwatson> Any lazr.restful experts about?  I'm having a hard time representing something on the webservice
[20:41] <cjwatson> I have an object one of whose properties is a list of LibraryFileAliases
[20:42] <cjwatson> I'd like to expose this; the most elegant representation seems to be a list of Bytes, so that they become HostedFile objects on the client end
[20:44] <cjwatson> However, this doesn't seem to work.  Firstly, the individual Bytes objects don't get sensible URLs, and I'm not sure how to get them into a useful tree (short of going off and defining extra collection objects, which I was hoping to avoid).  Secondly, even if I hardcode a URL suffix with Bytes(__name__="foo") (which obviously won't work properly for >1 element, but as a test), the URL in the JSON representation still ...
[20:44] <cjwatson> ... doesn't seem to get deserialised properly.
[20:44] <cjwatson> Am I just fundamentally out of luck with this approach?  Do I need to punt and return a list of URLs instead?
[20:53] <cjwatson> Or maybe a collection of little PackageUploadFile objects so that I don't have to anger wgrant by exporting the existing PackageUploadSource etc. interfaces (oh look, I've made the problem concrete)
[21:00] <lifeless> cjwatson: so, LFAs and the API are horrible IMO
[21:01] <lifeless> cjwatson: I have no idea what will work well
[21:01] <lifeless> cjwatson: note that the api client has to talk to LP for each one anyway, if they are private, to get a time limited token
[21:01] <lifeless> cjwatson: and we really don't want to generate TLTs for things that are not being accessed
[21:27] <cjwatson> would URLs be better?  they seem less convenient from the client's point of view
[21:28] <cjwatson> I dunno, I guess you can take the URL and stream the contents of the resource it points to more conveniently than you can get HostedFile to stream
[21:29] <cjwatson> I have trouble caring about private uploads for this beyond making sure I don't inadvertently expose anything that should be private; I'm mostly trying to get the Ubuntu upload queues more usable and none of the uploads there will be private
[21:31] <cjwatson> I was hoping that if bug 1007195 were fixed then there might be some definite value in using HostedFiles
[21:31] <_mup_> Bug #1007195: Librarian-backed HostedFile objects do not expose SHA-1 hash <soyuz-build> <Launchpad itself:Triaged> < https://launchpad.net/bugs/1007195 >
[21:36] <lifeless> if you know that all the things this api deals with will be public, urls would be fine; TBH I'd need to page in some horrible stuff to even advise properly here
[21:37] <lifeless> and its saturday, and both girls are sick, so I'm not really here enough to do that
[21:41] <cjwatson> heh, mind you it's a devel API with one expected client of any interest
[21:42] <cjwatson> well, one set of clients under the same maintenance
[21:42] <cjwatson> so I could just say screw it, do URLs for now, and if we need something more elaborate later, do that
[21:42] <cjwatson> less LoC in LP that way too :)
[21:42] <cjwatson> er, fewer, whatever
[21:46] <lifeless> sure
[21:48] <cjwatson> Thanks for the advice
[21:49] <cjwatson> Hope the girls are better soon
[21:49] <cjwatson> My little ones are away so I'm hacking late ;-)
[22:08] <lifeless> hmm, jaunty->lucid on my old firewall, by hand. Should be fun.
[23:53] <cjwatson> upgrading mawson for some QA (though I might not actually get to said QA before tomorrow morning, but I have to leave on time ...)