瀏覽代碼

Import text_socket explicitly only where it is required

Mike Naberezny 10 年之前
父節點
當前提交
9ff7f51b86

+ 4 - 3
supervisor/datatypes.py

@@ -2,12 +2,13 @@ import grp
 import os
 import os
 import pwd
 import pwd
 import signal
 import signal
-import supervisor.medusa.text_socket as socket
+import socket
 import shlex
 import shlex
 
 
 from supervisor.compat import urlparse
 from supervisor.compat import urlparse
 from supervisor.compat import long
 from supervisor.compat import long
 from supervisor.loggers import getLevelNumByDescription
 from supervisor.loggers import getLevelNumByDescription
+from supervisor.medusa import text_socket
 
 
 here = None
 here = None
 
 
@@ -204,7 +205,7 @@ class InetStreamSocketConfig(SocketConfig):
         return self.host, self.port
         return self.host, self.port
 
 
     def create_and_bind(self):
     def create_and_bind(self):
-        sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
+        sock = text_socket.socket(socket.AF_INET, socket.SOCK_STREAM)
         try:
         try:
             sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
             sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
             sock.bind(self.addr())
             sock.bind(self.addr())
@@ -233,7 +234,7 @@ class UnixStreamSocketConfig(SocketConfig):
     def create_and_bind(self):
     def create_and_bind(self):
         if os.path.exists(self.path):
         if os.path.exists(self.path):
             os.unlink(self.path)
             os.unlink(self.path)
-        sock = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM)
+        sock = text_socket.socket(socket.AF_UNIX, socket.SOCK_STREAM)
         try:
         try:
             sock.bind(self.addr())
             sock.bind(self.addr())
             self._chown()
             self._chown()

+ 5 - 4
supervisor/http.py

@@ -2,7 +2,7 @@ import os
 import stat
 import stat
 import time
 import time
 import sys
 import sys
-import supervisor.medusa.text_socket as socket
+import socket
 import errno
 import errno
 import pwd
 import pwd
 import weakref
 import weakref
@@ -16,6 +16,7 @@ from supervisor.medusa import http_server
 from supervisor.medusa import producers
 from supervisor.medusa import producers
 from supervisor.medusa import filesys
 from supervisor.medusa import filesys
 from supervisor.medusa import default_handler
 from supervisor.medusa import default_handler
+from supervisor.medusa import text_socket
 
 
 from supervisor.medusa.auth_handler import auth_handler
 from supervisor.medusa.auth_handler import auth_handler
 
 
@@ -524,7 +525,7 @@ class supervisor_af_inet_http_server(supervisor_http_server):
     def __init__(self, ip, port, logger_object):
     def __init__(self, ip, port, logger_object):
         self.ip = ip
         self.ip = ip
         self.port = port
         self.port = port
-        sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
+        sock = text_socket.socket(socket.AF_INET, socket.SOCK_STREAM)
         self.prebind(sock, logger_object)
         self.prebind(sock, logger_object)
         self.bind((ip, port))
         self.bind((ip, port))
 
 
@@ -569,7 +570,7 @@ class supervisor_af_unix_http_server(supervisor_http_server):
             pass
             pass
 
 
         while 1:
         while 1:
-            sock = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM)
+            sock = text_socket.socket(socket.AF_UNIX, socket.SOCK_STREAM)
             try:
             try:
                 sock.bind(tempname)
                 sock.bind(tempname)
                 os.chmod(tempname, sockchmod)
                 os.chmod(tempname, sockchmod)
@@ -623,7 +624,7 @@ class supervisor_af_unix_http_server(supervisor_http_server):
         self.postbind()
         self.postbind()
 
 
     def checkused(self, socketname):
     def checkused(self, socketname):
-        s = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM)
+        s = text_socket.socket(socket.AF_UNIX, socket.SOCK_STREAM)
         try:
         try:
             s.connect(socketname)
             s.connect(socketname)
             s.send("GET / HTTP/1.0\r\n\r\n")
             s.send("GET / HTTP/1.0\r\n\r\n")

+ 1 - 1
supervisor/http_client.py

@@ -1,7 +1,7 @@
 # this code based on Daniel Krech's RDFLib HTTP client code (see rdflib.net)
 # this code based on Daniel Krech's RDFLib HTTP client code (see rdflib.net)
 
 
 import sys
 import sys
-import supervisor.medusa.text_socket as socket
+import socket
 
 
 from supervisor.compat import urlparse
 from supervisor.compat import urlparse
 from supervisor.compat import as_bytes
 from supervisor.compat import as_bytes

+ 1 - 1
supervisor/medusa/asynchat_25.py

@@ -46,7 +46,7 @@ method) up to the terminator, and then control will be returned to
 you - by calling your self.found_terminator() method.
 you - by calling your self.found_terminator() method.
 """
 """
 
 
-import supervisor.medusa.text_socket as socket
+import socket
 from supervisor.medusa import asyncore_25 as asyncore
 from supervisor.medusa import asyncore_25 as asyncore
 from supervisor.compat import long
 from supervisor.compat import long
 
 

+ 3 - 2
supervisor/medusa/asyncore_25.py

@@ -47,7 +47,7 @@ sophisticated high-performance network servers and clients a snap.
 """
 """
 
 
 import select
 import select
-import supervisor.medusa.text_socket as socket
+import socket
 import sys
 import sys
 import time
 import time
 
 
@@ -56,6 +56,7 @@ from errno import EALREADY, EINPROGRESS, EWOULDBLOCK, ECONNRESET, \
      ENOTCONN, ESHUTDOWN, EINTR, EISCONN, errorcode
      ENOTCONN, ESHUTDOWN, EINTR, EISCONN, errorcode
 
 
 from supervisor.compat import as_string, as_bytes
 from supervisor.compat import as_string, as_bytes
+from supervisor.medusa import text_socket
 
 
 try:
 try:
     socket_map
     socket_map
@@ -256,7 +257,7 @@ class dispatcher:
 
 
     def create_socket(self, family, type):
     def create_socket(self, family, type):
         self.family_and_type = family, type
         self.family_and_type = family, type
-        self.socket = socket.socket(family, type)
+        self.socket = text_socket.socket(family, type)
         self.socket.setblocking(0)
         self.socket.setblocking(0)
         self._fileno = self.socket.fileno()
         self._fileno = self.socket.fileno()
         self.add_channel()
         self.add_channel()

+ 1 - 1
supervisor/medusa/http_server.py

@@ -8,7 +8,7 @@ RCS_ID =  '$Id: http_server.py,v 1.12 2004/04/21 15:11:44 akuchling Exp $'
 
 
 # python modules
 # python modules
 import re
 import re
-import supervisor.medusa.text_socket as socket
+import socket
 import sys
 import sys
 import time
 import time
 
 

+ 1 - 1
supervisor/medusa/logger.py

@@ -1,7 +1,7 @@
 # -*- Mode: Python -*-
 # -*- Mode: Python -*-
 
 
 import supervisor.medusa.asynchat_25 as asynchat
 import supervisor.medusa.asynchat_25 as asynchat
-import supervisor.medusa.text_socket as socket
+import socket
 import time         # these three are for the rotating logger
 import time         # these three are for the rotating logger
 import os           # |
 import os           # |
 import stat         # v
 import stat         # v

+ 1 - 1
supervisor/options.py

@@ -1,4 +1,4 @@
-import supervisor.medusa.text_socket as socket
+import socket
 import getopt
 import getopt
 import os
 import os
 import sys
 import sys

+ 16 - 16
supervisor/socket_manager.py

@@ -1,10 +1,10 @@
-import supervisor.medusa.text_socket as socket
+import socket
 
 
 class Proxy:
 class Proxy:
     """ Class for wrapping a shared resource object and getting
     """ Class for wrapping a shared resource object and getting
         notified when it's deleted
         notified when it's deleted
     """
     """
-    
+
     def __init__(self, object, **kwargs):
     def __init__(self, object, **kwargs):
         self.object = object
         self.object = object
         self.on_delete = kwargs.get('on_delete', None)
         self.on_delete = kwargs.get('on_delete', None)
@@ -12,30 +12,30 @@ class Proxy:
     def __del__(self):
     def __del__(self):
         if self.on_delete:
         if self.on_delete:
             self.on_delete()
             self.on_delete()
-    
+
     def __getattr__(self, name):
     def __getattr__(self, name):
         return getattr(self.object, name)
         return getattr(self.object, name)
-        
+
     def _get(self):
     def _get(self):
         return self.object
         return self.object
-        
+
 class ReferenceCounter:
 class ReferenceCounter:
     """ Class for tracking references to a shared resource
     """ Class for tracking references to a shared resource
     """
     """
-    
+
     def __init__(self, **kwargs):
     def __init__(self, **kwargs):
         self.on_non_zero = kwargs['on_non_zero']
         self.on_non_zero = kwargs['on_non_zero']
         self.on_zero = kwargs['on_zero']
         self.on_zero = kwargs['on_zero']
         self.ref_count = 0
         self.ref_count = 0
-    
+
     def get_count(self):
     def get_count(self):
         return self.ref_count
         return self.ref_count
-    
+
     def increment(self):
     def increment(self):
         if self.ref_count == 0:
         if self.ref_count == 0:
             self.on_non_zero()
             self.on_non_zero()
         self.ref_count += 1
         self.ref_count += 1
-        
+
     def decrement(self):
     def decrement(self):
         if self.ref_count <= 0:
         if self.ref_count <= 0:
             raise Exception('Illegal operation: cannot decrement below zero')
             raise Exception('Illegal operation: cannot decrement below zero')
@@ -45,11 +45,11 @@ class ReferenceCounter:
 
 
 class SocketManager:
 class SocketManager:
     """ Class for managing sockets in servers that create/bind/listen
     """ Class for managing sockets in servers that create/bind/listen
-        before forking multiple child processes to accept() 
+        before forking multiple child processes to accept()
         Sockets are managed at the process group level and referenced counted
         Sockets are managed at the process group level and referenced counted
         at the process level b/c that's really the only place to hook in
         at the process level b/c that's really the only place to hook in
     """
     """
-    
+
     def __init__(self, socket_config, **kwargs):
     def __init__(self, socket_config, **kwargs):
         self.logger = kwargs.get('logger', None)
         self.logger = kwargs.get('logger', None)
         self.socket = None
         self.socket = None
@@ -58,7 +58,7 @@ class SocketManager:
         self.ref_ctr = ReferenceCounter(
         self.ref_ctr = ReferenceCounter(
             on_zero=self._close, on_non_zero=self._prepare_socket
             on_zero=self._close, on_non_zero=self._prepare_socket
             )
             )
-        
+
     def __repr__(self):
     def __repr__(self):
         return '<%s at %s for %s>' % (self.__class__,
         return '<%s at %s for %s>' % (self.__class__,
                                       id(self),
                                       id(self),
@@ -66,7 +66,7 @@ class SocketManager:
 
 
     def config(self):
     def config(self):
         return self.socket_config
         return self.socket_config
-        
+
     def is_prepared(self):
     def is_prepared(self):
         return self.prepared
         return self.prepared
 
 
@@ -74,15 +74,15 @@ class SocketManager:
         self.ref_ctr.increment()
         self.ref_ctr.increment()
         self._require_prepared()
         self._require_prepared()
         return Proxy(self.socket, on_delete=self.ref_ctr.decrement)
         return Proxy(self.socket, on_delete=self.ref_ctr.decrement)
-        
+
     def get_socket_ref_count(self):
     def get_socket_ref_count(self):
         self._require_prepared()
         self._require_prepared()
         return self.ref_ctr.get_count()
         return self.ref_ctr.get_count()
-        
+
     def _require_prepared(self):
     def _require_prepared(self):
         if not self.prepared:
         if not self.prepared:
             raise Exception('Socket has not been prepared')
             raise Exception('Socket has not been prepared')
-    
+
     def _prepare_socket(self):
     def _prepare_socket(self):
         if not self.prepared:
         if not self.prepared:
             if self.logger:
             if self.logger:

+ 1 - 1
supervisor/supervisorctl.py

@@ -26,7 +26,7 @@ import cmd
 import sys
 import sys
 import getpass
 import getpass
 
 
-import supervisor.medusa.text_socket as socket
+import socket
 import errno
 import errno
 import threading
 import threading
 
 

+ 1 - 1
supervisor/tests/test_datatypes.py

@@ -2,6 +2,7 @@
 
 
 import os
 import os
 import signal
 import signal
+import socket
 import tempfile
 import tempfile
 import unittest
 import unittest
 
 
@@ -9,7 +10,6 @@ from supervisor.tests.base import Mock, patch, sentinel
 from supervisor.compat import maxint
 from supervisor.compat import maxint
 
 
 from supervisor import datatypes
 from supervisor import datatypes
-import supervisor.medusa.text_socket as socket
 
 
 class ProcessOrGroupName(unittest.TestCase):
 class ProcessOrGroupName(unittest.TestCase):
     def _callFUT(self, arg):
     def _callFUT(self, arg):

+ 1 - 1
supervisor/tests/test_http.py

@@ -2,7 +2,7 @@ import base64
 import os
 import os
 import stat
 import stat
 import sys
 import sys
-import supervisor.medusa.text_socket as socket
+import socket
 import tempfile
 import tempfile
 import unittest
 import unittest
 
 

+ 1 - 1
supervisor/tests/test_options.py

@@ -4,7 +4,7 @@ import logging
 import os
 import os
 import sys
 import sys
 import tempfile
 import tempfile
-import supervisor.medusa.text_socket as socket
+import socket
 import unittest
 import unittest
 import signal
 import signal
 import shutil
 import shutil

+ 1 - 1
supervisor/tests/test_socket_manager.py

@@ -4,7 +4,7 @@ import gc
 import sys
 import sys
 import os
 import os
 import unittest
 import unittest
-import supervisor.medusa.text_socket as socket
+import socket
 import tempfile
 import tempfile
 
 
 try:
 try:

+ 6 - 6
supervisor/tests/test_supervisorctl.py

@@ -123,7 +123,7 @@ class ControllerTests(unittest.TestCase):
 
 
     def test__upcheck_catches_socket_error_ECONNREFUSED(self):
     def test__upcheck_catches_socket_error_ECONNREFUSED(self):
         options = DummyClientOptions()
         options = DummyClientOptions()
-        import supervisor.medusa.text_socket as socket
+        import socket
         import errno
         import errno
         def raise_fault(*arg, **kw):
         def raise_fault(*arg, **kw):
             raise socket.error(errno.ECONNREFUSED, 'nobody home')
             raise socket.error(errno.ECONNREFUSED, 'nobody home')
@@ -140,7 +140,7 @@ class ControllerTests(unittest.TestCase):
 
 
     def test__upcheck_catches_socket_error_ENOENT(self):
     def test__upcheck_catches_socket_error_ENOENT(self):
         options = DummyClientOptions()
         options = DummyClientOptions()
-        import supervisor.medusa.text_socket as socket
+        import socket
         import errno
         import errno
         def raise_fault(*arg, **kw):
         def raise_fault(*arg, **kw):
             raise socket.error(errno.ENOENT, 'nobody home')
             raise socket.error(errno.ENOENT, 'nobody home')
@@ -157,7 +157,7 @@ class ControllerTests(unittest.TestCase):
 
 
     def test__upcheck_reraises_other_socket_faults(self):
     def test__upcheck_reraises_other_socket_faults(self):
         options = DummyClientOptions()
         options = DummyClientOptions()
-        import supervisor.medusa.text_socket as socket
+        import socket
         import errno
         import errno
         def f(*arg, **kw):
         def f(*arg, **kw):
             raise socket.error(errno.EBADF, '')
             raise socket.error(errno.EBADF, '')
@@ -1226,7 +1226,7 @@ class TestDefaultControllerPlugin(unittest.TestCase):
 
 
     def test_shutdown_catches_socket_error_ECONNREFUSED(self):
     def test_shutdown_catches_socket_error_ECONNREFUSED(self):
         plugin = self._makeOne()
         plugin = self._makeOne()
-        import supervisor.medusa.text_socket as socket
+        import socket
         import errno
         import errno
 
 
         def raise_fault(*arg, **kw):
         def raise_fault(*arg, **kw):
@@ -1241,7 +1241,7 @@ class TestDefaultControllerPlugin(unittest.TestCase):
 
 
     def test_shutdown_catches_socket_error_ENOENT(self):
     def test_shutdown_catches_socket_error_ENOENT(self):
         plugin = self._makeOne()
         plugin = self._makeOne()
-        import supervisor.medusa.text_socket as socket
+        import socket
         import errno
         import errno
 
 
         def raise_fault(*arg, **kw):
         def raise_fault(*arg, **kw):
@@ -1256,7 +1256,7 @@ class TestDefaultControllerPlugin(unittest.TestCase):
 
 
     def test_shutdown_reraises_other_socket_errors(self):
     def test_shutdown_reraises_other_socket_errors(self):
         plugin = self._makeOne()
         plugin = self._makeOne()
-        import supervisor.medusa.text_socket as socket
+        import socket
         import errno
         import errno
 
 
         def raise_fault(*arg, **kw):
         def raise_fault(*arg, **kw):

+ 3 - 2
supervisor/xmlrpc.py

@@ -1,6 +1,7 @@
 import types
 import types
 import re
 import re
 import traceback
 import traceback
+import socket
 import sys
 import sys
 import datetime
 import datetime
 import time
 import time
@@ -16,10 +17,10 @@ from supervisor.compat import encodestring
 from supervisor.compat import decodestring
 from supervisor.compat import decodestring
 from supervisor.compat import httplib
 from supervisor.compat import httplib
 
 
-import supervisor.medusa.text_socket as socket
 from supervisor.medusa.http_server import get_header
 from supervisor.medusa.http_server import get_header
 from supervisor.medusa.xmlrpc_handler import xmlrpc_handler
 from supervisor.medusa.xmlrpc_handler import xmlrpc_handler
 from supervisor.medusa import producers
 from supervisor.medusa import producers
+from supervisor.medusa import text_socket
 
 
 from supervisor.http import NOT_DONE_YET
 from supervisor.http import NOT_DONE_YET
 
 
@@ -498,7 +499,7 @@ class SupervisorTransport(xmlrpclib.Transport):
 
 
 class UnixStreamHTTPConnection(httplib.HTTPConnection):
 class UnixStreamHTTPConnection(httplib.HTTPConnection):
     def connect(self): # pragma: no cover
     def connect(self): # pragma: no cover
-        self.sock = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM)
+        self.sock = text_socket.socket(socket.AF_UNIX, socket.SOCK_STREAM)
         # we abuse the host parameter as the socketname
         # we abuse the host parameter as the socketname
         self.sock.connect(self.socketfile)
         self.sock.connect(self.socketfile)