[10:29] <cjwatson> wgrant: Are you still around and intending to land account-status-api?  Otherwise I'll organise an NDT shortly.
[10:42] <wgrant> cjwatson: Ah, thanks for the review. I'd like to get that out this week, so might as well delay the ndt an hour.
[11:21] <cjwatson> OK, sure
[11:22] <cjwatson> Looks like you have one failure
[11:24] <wgrant> Yep
[11:24] <wgrant> Already fixed locally.
[12:27] <wgrant> cjwatson: All looks good to deploy.
[12:30] <cjwatson> wgrant: OK, will organise.
[12:30] <cjwatson> Thanks.
[12:30] <wgrant> Thank you.
[12:30] <wgrant> Sorry, QA took a bit longer than expected because I forgot about some earlier testing I'd done on qas.
[17:43] <cjwatson> wgrant: Bit stuck with some of the refactoring of txpkgupload.  I'm switching from the .tac file to the Twisted plugin system, as used by txlongpoll, because that makes it a lot easier to deal with the yaml config file stuff (basically because I get to have command-line options that way).  This is mostly OK, but I'm having trouble dealing with configuration state.
[17:45] <cjwatson> wgrant: The configuration isn't so much of a global thing now, and in particular it might vary from test to test within the same process.  SFTPServer is registered as an adapter for ISFTPServer, and instantiated using ISFTPServer(avatar) from the depths of twisted.conch.  But my specific SFTPServer instance needs to be able to get at the config to find out what its root directory should be.  I can't register the adapter more than ...
[17:45] <cjwatson> ... once, so can't use partial(SFTPServer, fs_root).  What's the usual way to handle this?
[17:53] <cjwatson> wgrant: Hm, I guess I could stuff it into a txpkgupload-specific subclass of LaunchpadAvatar, a bit like CodehostingAvatar.codehosting_proxy.  Maybe that's the right answer.
[17:56] <cjwatson> wgrant: OK, never mind.  Classic thing where asking a question is sufficient to unveil the answer.
[22:46] <wgrant> cjwatson: All good now?