requests.post calls should use timeouts
method_call.py and upload.py call requests.post to do their work but don't pass a timeout argument to the call, but should. From the requests documentation:
You can tell Requests to stop waiting for a response after a given number of seconds with the timeout parameter. Nearly all production code should use this parameter in nearly all requests. Failure to do so can cause your program to hang indefinitely:
I did the simplest thing possible, just stuff in a hardcoded timeout of 75s (I was editing my flickr-api installation), but giving the caller a simple API for setting the timeout value would obviously be better. Defaulting to None would preserve the current behavior. I've attached my quick-n-dirty change but will try to work up a more reasonable PR.
I think that's a great idea. It can be much less than 75s imo. 10s would still be pretty conservative.
Yeah, I was kinda in a hurry and just wanted something I felt would work so I could ignore that issue. The timeout will be settable (see attached). timeout.txt
It would be a lot easier to look at with a pull request :) Globals are quite ugly, but given that there's a precedent with caching it's probably fine.
Yeah, I understand. Not sure if I can create a pull request without forking your repo. (I'm not much of a git expert.)