greendns: Reduce code redundancy

This list of module dependencies are already present in the code three
times and I intend to make a change that will require the same
dependencies reused even more.

This patch is contributed by Smarkets Limited.
This commit is contained in:
Jakub Stasiak
2016-05-17 21:09:36 +02:00
parent edd8cfa417
commit 7e1dc8a1a5

View File

@@ -42,23 +42,21 @@ from eventlet.green import select
from eventlet.support import six
dns = patcher.import_patched('dns',
select=select,
time=time,
os=os,
socket=_socket_nodns)
dns.resolver = patcher.import_patched('dns.resolver',
select=select,
time=time,
os=os,
socket=_socket_nodns)
def import_patched(module_name):
return patcher.import_patched(module_name,
select=select,
time=time,
os=os,
socket=_socket_nodns)
dns = import_patched('dns')
dns.resolver = import_patched('dns.resolver')
for pkg in ('dns.entropy', 'dns.inet', 'dns.query'):
setattr(dns, pkg.split('.')[1], patcher.import_patched(pkg,
select=select,
time=time,
os=os,
socket=_socket_nodns))
setattr(dns, pkg.split('.')[1], import_patched(pkg))
del import_patched
import dns.rdtypes
for pkg in ['dns.rdtypes.IN', 'dns.rdtypes.ANY']:
setattr(dns.rdtypes, pkg.split('.')[-1], patcher.import_patched(pkg))