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 |
- |
|
|