|
Lines 51-56
_ = NullTranslation( 'univention.management.console' ).translate
Link Here
|
| 51 |
import locale |
51 |
import locale |
| 52 |
import notifier |
52 |
import notifier |
| 53 |
import notifier.threads as threads |
53 |
import notifier.threads as threads |
|
|
54 |
from socket import error as SocketError |
| 55 |
import errno |
| 56 |
|
| 54 |
|
57 |
|
| 55 |
class ModuleServer( Server ): |
58 |
class ModuleServer( Server ): |
| 56 |
"""Implements an UMC module server |
59 |
"""Implements an UMC module server |
|
Lines 98-104
class ModuleServer( Server ):
Link Here
|
| 98 |
self.__handler = self.__module.Instance() |
101 |
self.__handler = self.__module.Instance() |
| 99 |
self.__handler.signal_connect( 'success', notifier.Callback( self._reply, True ) ) |
102 |
self.__handler.signal_connect( 'success', notifier.Callback( self._reply, True ) ) |
| 100 |
self.__handler.signal_connect( 'failure', notifier.Callback( self._reply, True ) ) |
103 |
self.__handler.signal_connect( 'failure', notifier.Callback( self._reply, True ) ) |
| 101 |
except Exception, e: |
104 |
except Exception: |
| 102 |
import traceback |
105 |
import traceback |
| 103 |
traceback.print_exc() |
106 |
traceback.print_exc() |
| 104 |
sys.exit( 5 ) |
107 |
sys.exit( 5 ) |
|
Lines 126-135
class ModuleServer( Server ):
Link Here
|
| 126 |
notifier.timer_remove( self.__timer ) |
129 |
notifier.timer_remove( self.__timer ) |
| 127 |
self.__timer == None |
130 |
self.__timer == None |
| 128 |
|
131 |
|
| 129 |
data = socket.recv( RECV_BUFFER_SIZE ) |
132 |
try: |
|
|
133 |
data = socket.recv( RECV_BUFFER_SIZE ) |
| 134 |
except SocketError, ex: |
| 135 |
MODULE.error('Failed connection: %s' % (errno.errorcode.get(ex.errno, ex.errno),)) |
| 136 |
data = None |
| 130 |
|
137 |
|
| 131 |
# connection closed? |
138 |
# connection closed? |
| 132 |
if not len( data ): |
139 |
if not data: |
| 133 |
socket.close() |
140 |
socket.close() |
| 134 |
# remove socket from notifier |
141 |
# remove socket from notifier |
| 135 |
return False |
142 |
return False |
|
Lines 143-149
class ModuleServer( Server ):
Link Here
|
| 143 |
self.__buffer = msg.parse( self.__buffer ) |
150 |
self.__buffer = msg.parse( self.__buffer ) |
| 144 |
MODULE.info( "Received request %s" % msg.id ) |
151 |
MODULE.info( "Received request %s" % msg.id ) |
| 145 |
self.handle( msg ) |
152 |
self.handle( msg ) |
| 146 |
except IncompleteMessageError, e: |
153 |
except IncompleteMessageError: |
| 147 |
MODULE.info( 'Failed to parse incomplete message' ) |
154 |
MODULE.info( 'Failed to parse incomplete message' ) |
| 148 |
except ( ParseError, UnknownCommandError ), e: |
155 |
except ( ParseError, UnknownCommandError ), e: |
| 149 |
MODULE.error( 'Failed to parse message: %s' % str( e ) ) |
156 |
MODULE.error( 'Failed to parse message: %s' % str( e ) ) |
|
Lines 220-226
class ModuleServer( Server ):
Link Here
|
| 220 |
if 'acls' in msg.options and 'commands' in msg.options and 'credentials' in msg.options: |
227 |
if 'acls' in msg.options and 'commands' in msg.options and 'credentials' in msg.options: |
| 221 |
try: |
228 |
try: |
| 222 |
self.__handler.init() |
229 |
self.__handler.init() |
| 223 |
except BaseException, e: |
230 |
except BaseException: |
| 224 |
import traceback, sys |
231 |
import traceback, sys |
| 225 |
resp.status = MODULE_ERR |
232 |
resp.status = MODULE_ERR |
| 226 |
exc_info = sys.exc_info() |
233 |
exc_info = sys.exc_info() |
|
Lines 272-279
class ModuleServer( Server ):
Link Here
|
| 272 |
length = len( self.__queue ) |
279 |
length = len( self.__queue ) |
| 273 |
try: |
280 |
try: |
| 274 |
ret = self.__comm.send( self.__queue ) |
281 |
ret = self.__comm.send( self.__queue ) |
| 275 |
except socket.error, e: |
282 |
except SocketError, ex: |
| 276 |
if e[0] == 11: |
283 |
if ex.errno == errno.EWOULDBLOCK: |
| 277 |
return True |
284 |
return True |
| 278 |
raise |
285 |
raise |
| 279 |
|
286 |
|
| 280 |
- |
|
|