Add python-eventlet package to MOS 8.0 repository
[packages/trusty/python-eventlet.git] / python-eventlet / eventlet / green / urllib / request.py
1 from eventlet import patcher
2 from eventlet.green import ftplib, os, socket, time
3 from eventlet.green.http import client as http_client
4 from eventlet.green.urllib import error, parse, response
5
6 # TODO should we also have green email version?
7 # import email
8
9
10 to_patch = [
11     ('http.client', http_client),
12     ('os', os),
13     ('socket', socket),
14     ('time', time),
15     ('urllib.error', error),
16     ('urllib.parse', parse),
17     ('urllib.response', response),
18 ]
19
20 try:
21     from eventlet.green import ssl
22 except ImportError:
23     pass
24 else:
25     to_patch.append(('ssl', ssl))
26
27 patcher.inject('urllib.request', globals(), *to_patch)
28 del to_patch
29
30 to_patch_in_functions = [('ftplib', ftplib)]
31 del ftplib
32
33 FTPHandler.ftp_open = patcher.patch_function(FTPHandler.ftp_open, *to_patch_in_functions)
34 URLopener.open_ftp = patcher.patch_function(URLopener.open_ftp, *to_patch_in_functions)
35
36 ftperrors = patcher.patch_function(ftperrors, *to_patch_in_functions)
37
38 ftpwrapper.init = patcher.patch_function(ftpwrapper.init, *to_patch_in_functions)
39 ftpwrapper.retrfile = patcher.patch_function(ftpwrapper.retrfile, *to_patch_in_functions)
40
41 del error
42 del parse
43 del response
44 del to_patch_in_functions