alexis-mignon / python-flickr-api

A python implementation of the Flickr API
BSD 3-Clause "New" or "Revised" License
367 stars 108 forks source link

requests.post calls should use timeouts #131

Open smontanaro opened 1 year ago

smontanaro commented 1 year ago

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.

timeout.txt

beaufour commented 1 year ago

I think that's a great idea. It can be much less than 75s imo. 10s would still be pretty conservative.

smontanaro commented 1 year ago

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

beaufour commented 1 year ago

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.

smontanaro commented 1 year ago

Yeah, I understand. Not sure if I can create a pull request without forking your repo. (I'm not much of a git expert.)