[oauth] workaround for ctrl+c on Windows

pull/21/head
Mike Fährmann 7 years ago
parent 9759fe8c6b
commit d60781de7b
No known key found for this signature in database
GPG Key ID: 5680CA389D365A88

@ -10,6 +10,7 @@
from .common import Extractor, Message
from . import reddit, flickr
import os
import time
import hmac
import base64
@ -73,7 +74,16 @@ class OAuthBase(Extractor):
server.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
server.bind(("localhost", 6414))
server.listen(1)
self.client = server.accept()[0]
# workaround for ctrl+c not working during server.accept on Windows
if os.name == "nt":
server.settimeout(1.0)
while True:
try:
self.client = server.accept()[0]
break
except socket.timeout:
pass
server.close()
data = self.client.recv(1024).decode()

Loading…
Cancel
Save