Skip to content

Commit

Permalink
fix MRO issue
Browse files Browse the repository at this point in the history
  • Loading branch information
icgood committed Jun 28, 2017
1 parent 549902e commit eb766ee
Show file tree
Hide file tree
Showing 2 changed files with 6 additions and 3 deletions.
5 changes: 4 additions & 1 deletion slimta/edge/__init__.py
Expand Up @@ -119,7 +119,10 @@ class EdgeServer(Edge, gevent.Greenlet):
def __init__(self, listener, queue, pool=None, hostname=None):
super(EdgeServer, self).__init__(queue, hostname)
spawn = 'default' if pool is None else pool
self.server = StreamServer(listener, self._handle, spawn=spawn)
if listener is not None:
self.server = StreamServer(listener, self._handle, spawn=spawn)
else:
self.server = None

def _handle(self, socket, address):
log.accept(self.server.socket, socket, address)
Expand Down
4 changes: 2 additions & 2 deletions slimta/edge/wsgi.py
Expand Up @@ -111,7 +111,7 @@ def _build_http_response(smtp_reply):
return WsgiResponse('500 Internal Server Error', headers)


class WsgiEdge(Edge, EdgeServer, WsgiServer):
class WsgiEdge(EdgeServer, WsgiServer):
"""This class is intended to be instantiated and used as an app on top of a
WSGI server engine such as :class:`gevent.pywsgi.WSGIServer`. It will only
acccept ``POST`` requests that provide a ``message/rfc822`` payload.
Expand Down Expand Up @@ -163,7 +163,7 @@ class WsgiEdge(Edge, EdgeServer, WsgiServer):

def __init__(self, queue, hostname=None, validator_class=None,
uri_pattern=None, listener=None, pool=None, context=None):
super(WsgiEdge, self).__init__(queue, hostname)
super(WsgiEdge, self).__init__(None, queue, hostname=hostname)
self.validator_class = validator_class
if isinstance(uri_pattern, str):
self.uri_pattern = re.compile(uri_pattern)
Expand Down

0 comments on commit eb766ee

Please sign in to comment.