View | Details | Raw Unified | Return to bug 34047
Collapse All | Expand All

(-)a/ucs-4.0-0/management/univention-management-console/src/univention/management/console/modules/__init__.py (-8 / +1 lines)
 Lines 201-207   class Base(signals.Provider, Translation): Link Here 
201
	def __init__(self):
201
	def __init__(self):
202
		signals.Provider.__init__(self)
202
		signals.Provider.__init__(self)
203
		self.signal_new('success')
203
		self.signal_new('success')
204
		self.signal_new('failure')
205
		self._username = None
204
		self._username = None
206
		self._user_dn = None
205
		self._user_dn = None
207
		self._password = None
206
		self._password = None
 Lines 297-307   class Base(signals.Provider, Translation): Link Here 
297
296
298
	def result(self, response):
297
	def result(self, response):
299
		if response.id in self.__requests:
298
		if response.id in self.__requests:
300
			object, method = self.__requests[response.id]
299
			self.signal_emit('success', response)
301
			if response.status in (SUCCESS, SUCCESS_MESSAGE, SUCCESS_PARTIAL, SUCCESS_SHUTDOWN):
302
				response.module = ['ready']
303
				self.signal_emit('success', response)
304
			else:
305
				response.module = ['failure']
306
				self.signal_emit('failure', response)
307
			del self.__requests[response.id]
300
			del self.__requests[response.id]
(-)a/ucs-4.0-0/management/univention-management-console/src/univention/management/console/protocol/message.py (-3 / +3 lines)
 Lines 170-182   class Message(object): Link Here 
170
			else:
170
			else:
171
				self.body[key] = value
171
				self.body[key] = value
172
		else:
172
		else:
173
			PARSER.process('Attribute %s just available for MIME type %s' % (key, MIMETYPE_JSON))
173
			PARSER.info('Attribute %s just available for MIME type %s' % (key, MIMETYPE_JSON))
174
174
175
	def _get_key(self, key):
175
	def _get_key(self, key):
176
		if self.mimetype == MIMETYPE_JSON:
176
		if self.mimetype == MIMETYPE_JSON:
177
			return self.body.get(key)
177
			return self.body.get(key)
178
		else:
178
		else:
179
			PARSER.process('Attribute %s just available for MIME type %s' % (key, MIMETYPE_JSON))
179
			PARSER.info('Attribute %s just available for MIME type %s' % (key, MIMETYPE_JSON))
180
			return None
180
			return None
181
181
182
	#: contains a human readable error message
182
	#: contains a human readable error message
 Lines 308-314   class Response(Message): Link Here 
308
			self.parse(data)
308
			self.parse(data)
309
309
310
	def is_final(self):
310
	def is_final(self):
311
		return (self._id and self.status != SUCCESS_PARTIAL)
311
		return (self._id and (self.mimetype != MIMETYPE_JSON or self.status != SUCCESS_PARTIAL))
312
312
313
	recreate_id = None
313
	recreate_id = None
314
314
(-)a/ucs-4.0-0/management/univention-management-console/src/univention/management/console/protocol/modserver.py (-1 lines)
 Lines 110-116   class ModuleServer(Server): Link Here 
110
			self.__init_error_message = error
110
			self.__init_error_message = error
111
		else:
111
		else:
112
			self.__handler.signal_connect('success', notifier.Callback(self._reply, True))
112
			self.__handler.signal_connect('success', notifier.Callback(self._reply, True))
113
			self.__handler.signal_connect('failure', notifier.Callback(self._reply, True))
114
113
115
	def _reply(self, msg, final):
114
	def _reply(self, msg, final):
116
		if final:
115
		if final:
(-)a/ucs-4.0-0/management/univention-management-console/src/univention/management/console/protocol/server.py (-2 / +2 lines)
 Lines 53-59   from univention.lib.i18n import Translation Link Here 
53
_ = Translation('univention.management.console').translate
53
_ = Translation('univention.management.console').translate
54
54
55
# internal packages
55
# internal packages
56
from .message import Message, Response, IncompleteMessageError, ParseError, UnknownCommandError, InvalidArgumentsError, InvalidOptionsError
56
from .message import Message, Response, IncompleteMessageError, ParseError, UnknownCommandError, InvalidArgumentsError, InvalidOptionsError, MIMETYPE_JSON
57
from .session import State, Processor
57
from .session import State, Processor
58
from .definitions import (
58
from .definitions import (
59
	BAD_REQUEST_FORBIDDEN, BAD_REQUEST_INVALID_ARGS,
59
	BAD_REQUEST_FORBIDDEN, BAD_REQUEST_INVALID_ARGS,
 Lines 357-363   class MagicBucket(object): Link Here 
357
			return
357
			return
358
358
359
		# module process wants to exit
359
		# module process wants to exit
360
		if msg.status == SUCCESS_SHUTDOWN:
360
		if msg.mimetype == MIMETYPE_JSON and msg.status == SUCCESS_SHUTDOWN:
361
			module_name = state.processor.get_module_name(msg.arguments[0])
361
			module_name = state.processor.get_module_name(msg.arguments[0])
362
			if module_name:
362
			if module_name:
363
				state.processor._purge_child(module_name)
363
				state.processor._purge_child(module_name)

Return to bug 34047