[trigger/event] Correction d'erreurs

* Il faut faire des copies des dicos et des listes, sinon on les modifie in place
 * routing_key foireuse (trigger.announce au lieu de trigger.event)
 * Exchange erroné (trigger.event au lieu de trigger)
This commit is contained in:
Pierre-Elliott Bécue 2014-06-14 17:13:03 +02:00
parent d45f55dae6
commit bfd2f185e2

View file

@ -26,7 +26,7 @@ class Event(cmb.BasicProducer):
""" """
logger.info("Starting trigger Event program…") logger.info("Starting trigger Event program…")
super(Event, self).__init__(trigger_config.master, 'trigger.event', app_id) super(Event, self).__init__(trigger_config.master, 'trigger', app_id)
self._connection = self.connect() self._connection = self.connect()
self.get_chan() self.get_chan()
@ -49,7 +49,7 @@ class Event(cmb.BasicProducer):
raise raise
def announce(self, body): def announce(self, body):
self.send_message("trigger.announce", body) self.send_message("trigger.event", body)
def diff_o_matic(body=()): def diff_o_matic(body=()):
"""Fait un diff exhaustif des deux dicos""" """Fait un diff exhaustif des deux dicos"""
@ -57,26 +57,26 @@ def diff_o_matic(body=()):
if not body: if not body:
raise("diff_o_matic received %r as an argument, which is unusable." % (body,)) raise("diff_o_matic received %r as an argument, which is unusable." % (body,))
before = body[1] or {} before = dict(body[1]) or {}
after = body[2] or {} after = dict(body[2]) or {}
# set(dico) retourne un set de dico.keys() # set(dico) retourne un set de dico.keys()
keys_pool = set(before).union(set(after)) keys_pool = set(before).union(set(after))
diff = {} diff = {}
for key in key_pool: for key in keys_pool:
if before.has_key(key): if before.has_key(key):
if not isinstance(before[key], list): if not isinstance(before[key], list):
blist = [before[key]] blist = [before[key]]
else: else:
blist = before[key] blist = list(before[key])
else: else:
blist = [] blist = []
if after.has_key(key): if after.has_key(key):
if not isinstance(after[key], list): if not isinstance(after[key], list):
alist = [after[key]] alist = [after[key]]
else: else:
alist = after[key] alist = list(after[key])
else: else:
alist = [] alist = []
moins, plus = compare_lists(blist, alist) moins, plus = compare_lists(blist, alist)