comparison mercurial/hgweb/server.py @ 29433:33770d2b6cf9

py3: conditionalize SocketServer import The SocketServer is renamed to socketserver in python 3
author Pulkit Goyal <7895pulkit@gmail.com>
date Mon, 27 Jun 2016 16:48:54 +0530
parents 032c4c2f802a
children cd3e58862cab
comparison
equal deleted inserted replaced
29432:34b914ac573e 29433:33770d2b6cf9
7 # GNU General Public License version 2 or any later version. 7 # GNU General Public License version 2 or any later version.
8 8
9 from __future__ import absolute_import 9 from __future__ import absolute_import
10 10
11 import BaseHTTPServer 11 import BaseHTTPServer
12 import SocketServer
13 import errno 12 import errno
14 import os 13 import os
15 import socket 14 import socket
16 import sys 15 import sys
17 import traceback 16 import traceback
21 from .. import ( 20 from .. import (
22 error, 21 error,
23 util, 22 util,
24 ) 23 )
25 24
25 socketserver = util.socketserver
26 urlerr = util.urlerr 26 urlerr = util.urlerr
27 urlreq = util.urlreq 27 urlreq = util.urlreq
28 28
29 from . import ( 29 from . import (
30 common, 30 common,
145 self.rfile = common.continuereader(self.rfile, self.wfile.write) 145 self.rfile = common.continuereader(self.rfile, self.wfile.write)
146 146
147 env['wsgi.input'] = self.rfile 147 env['wsgi.input'] = self.rfile
148 env['wsgi.errors'] = _error_logger(self) 148 env['wsgi.errors'] = _error_logger(self)
149 env['wsgi.multithread'] = isinstance(self.server, 149 env['wsgi.multithread'] = isinstance(self.server,
150 SocketServer.ThreadingMixIn) 150 socketserver.ThreadingMixIn)
151 env['wsgi.multiprocess'] = isinstance(self.server, 151 env['wsgi.multiprocess'] = isinstance(self.server,
152 SocketServer.ForkingMixIn) 152 socketserver.ForkingMixIn)
153 env['wsgi.run_once'] = 0 153 env['wsgi.run_once'] = 0
154 154
155 self.saved_status = None 155 self.saved_status = None
156 self.saved_headers = [] 156 self.saved_headers = []
157 self.sent_headers = False 157 self.sent_headers = False
238 self.wfile = socket._fileobject(self.request, "wb", self.wbufsize) 238 self.wfile = socket._fileobject(self.request, "wb", self.wbufsize)
239 239
240 try: 240 try:
241 import threading 241 import threading
242 threading.activeCount() # silence pyflakes and bypass demandimport 242 threading.activeCount() # silence pyflakes and bypass demandimport
243 _mixin = SocketServer.ThreadingMixIn 243 _mixin = socketserver.ThreadingMixIn
244 except ImportError: 244 except ImportError:
245 if util.safehasattr(os, "fork"): 245 if util.safehasattr(os, "fork"):
246 _mixin = SocketServer.ForkingMixIn 246 _mixin = socketserver.ForkingMixIn
247 else: 247 else:
248 class _mixin(object): 248 class _mixin(object):
249 pass 249 pass
250 250
251 def openlog(opt, default): 251 def openlog(opt, default):