remove unpleasant exec

This commit is contained in:
Chris Withers 2009-04-11 11:22:19 +00:00
parent f0f475da61
commit b524825788
1 changed files with 11 additions and 5 deletions

View File

@ -45,6 +45,8 @@ the setsockopt() and getsockopt() methods.
import _socket
from _socket import *
from functools import partial
from new import instancemethod
try:
import _ssl
@ -213,11 +215,15 @@ class _socketobject(object):
type = property(lambda self: self._sock.type, doc="the socket type")
proto = property(lambda self: self._sock.proto, doc="the socket protocol")
_s = ("def %s(self, *args): return self._sock.%s(*args)\n\n"
"%s.__doc__ = _realsocket.%s.__doc__\n")
for _m in _socketmethods:
exec _s % (_m, _m, _m, _m)
del _m, _s
def meth(name,self,*args):
return getattr(self._sock,name)(*args)
for _m in _socketmethods:
p = partial(meth,_m)
p.__name__ = _m
p.__doc__ = getattr(_realsocket,_m).__doc__
m = instancemethod(p,None,_socketobject)
setattr(_socketobject,_m,m)
socket = SocketType = _socketobject