From 0c4a564d9c2ab7dd6eb36805525d01fd0832ded6 Mon Sep 17 00:00:00 2001
From: Joshua Harlow <harlowja@yahoo-inc.com>
Date: Wed, 9 Apr 2014 17:34:08 -0700
Subject: [PATCH] Use a for loop to set the defaults for __call__ params

Instead of setting the default kwargs based on a repeated
setdefault() call, just use a for loop to set the defaults.

Change-Id: I5c7fd22856912545bf5f95fd07568375dbecbe5b
---
 oslo/messaging/target.py | 9 +++------
 1 file changed, 3 insertions(+), 6 deletions(-)

diff --git a/oslo/messaging/target.py b/oslo/messaging/target.py
index 504ac932d..c4c7f81d4 100644
--- a/oslo/messaging/target.py
+++ b/oslo/messaging/target.py
@@ -69,12 +69,9 @@ class Target(object):
         self.fanout = fanout
 
     def __call__(self, **kwargs):
-        kwargs.setdefault('exchange', self.exchange)
-        kwargs.setdefault('topic', self.topic)
-        kwargs.setdefault('namespace', self.namespace)
-        kwargs.setdefault('version', self.version)
-        kwargs.setdefault('server', self.server)
-        kwargs.setdefault('fanout', self.fanout)
+        for a in ('exchange', 'topic', 'namespace',
+                  'version', 'server', 'fanout'):
+            kwargs.setdefault(a, getattr(self, a))
         return Target(**kwargs)
 
     def __eq__(self, other):