From 8125b60bd2ba248653da3541746339c8b81c258a Mon Sep 17 00:00:00 2001 From: Thomas Leonard Date: Thu, 4 Sep 2008 20:11:37 +0100 Subject: [PATCH] Reintroduce download hack for Windows --- zeroinstall/injector/download.py | 29 ++++++++++++++++++----------- 1 file changed, 18 insertions(+), 11 deletions(-) diff --git a/zeroinstall/injector/download.py b/zeroinstall/injector/download.py index fdf0112..46edeef 100644 --- a/zeroinstall/injector/download.py +++ b/zeroinstall/injector/download.py @@ -203,17 +203,24 @@ if __name__ == '__main__': else: raise Exception('Unsupported URL protocol in: ' + url) - try: - fd = src.fileno() - except AttributeError, ex: - # Hack: fileno on sockets broken in Python 2.4 and 2.5 - # http://bugs.python.org/issue1327971 - fd = src.fp._sock.fp.fileno() - - while True: - data = os.read(fd, 256) - if not data: break - os.write(1, data) + if hasattr(src, 'fileno'): + try: + fd = src.fileno() + except AttributeError, ex: + # Hack: fileno on sockets broken in Python 2.4 and 2.5 + # http://bugs.python.org/issue1327971 + fd = src.fp._sock.fp.fileno() + + while True: + data = os.read(fd, 256) + if not data: break + os.write(1, data) + else: + # Windows doesn't have fileno + while True: + data = src.read(1) + if not data: break + os.write(1, data) sys.exit(0) except (HTTPError, URLError, HTTPException), ex: -- 2.11.4.GIT