diff options
author | Tony Garnock-Jones <tonyg@rabbitmq.com> | 2010-06-21 22:49:50 +1200 |
---|---|---|
committer | Tony Garnock-Jones <tonyg@rabbitmq.com> | 2010-06-21 22:49:50 +1200 |
commit | 53b0e8ad06d4e7d186c4e7452ff2d6dbe1fdb8f7 (patch) | |
tree | 93a8d4664ea5b8ef2266b7fa89cef9277c20a0f3 /amqp_codegen.py | |
parent | f0a7385ebf73d219d932c0ad6de01dcdfbf82727 (diff) | |
download | rabbitmq-codegen-53b0e8ad06d4e7d186c4e7452ff2d6dbe1fdb8f7.tar.gz |
Update class records in-placebug22876
Diffstat (limited to 'amqp_codegen.py')
-rw-r--r-- | amqp_codegen.py | 12 |
1 files changed, 5 insertions, 7 deletions
diff --git a/amqp_codegen.py b/amqp_codegen.py index 4300a2a..9da1aca 100644 --- a/amqp_codegen.py +++ b/amqp_codegen.py @@ -105,17 +105,15 @@ def class_merger(old, new): old["properties"] = properties_merger(old["name"], old.get("properties", []), new.get("properties", [])) - return old def classes_merger(key, old, new): - old_index = dict(zip((v["name"] for v in old), xrange(len(old)))) + old_dict = dict((v["name"], v) for v in old) result = list(old) # shallow copy - for v in new: - if v["name"] in old_index: - pos = old_index[v["name"]] - result[pos] = class_merger(result[pos], v) + for w in new: + if w["name"] in old_dict: + class_merger(old_dict[w["name"]], w) else: - result.append(v) + result.append(w) return result mergers = { |