Mercurial > public > mercurial-scm > hg-stable
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): |