On 05/27/11 - 10:06:47AM, Mark McLoughlin wrote:
If the config file wasn't found (e.g. if running from a git
checkout)
then we were returning an empty dict rather than the config defaults.
---
imagefactory/ApplicationConfiguration.py | 13 +++++--------
1 files changed, 5 insertions(+), 8 deletions(-)
diff --git a/imagefactory/ApplicationConfiguration.py
b/imagefactory/ApplicationConfiguration.py
index ddefa0e..6b0e5ea 100644
--- a/imagefactory/ApplicationConfiguration.py
+++ b/imagefactory/ApplicationConfiguration.py
@@ -106,20 +106,17 @@ class ApplicationConfiguration(object):
return self.argparser.parse_args([])
def __parse_arguments(self):
- self.configuration = {}
self.argparser = self.__new_argument_parser()
- arguments = self.__parse_args()
-
- config_file_path = arguments.config
- if (os.path.isfile(config_file_path)):
+ configuration = self.__parse_args()
+ if (os.path.isfile(configuration.config)):
try:
- config_file = open(config_file_path)
+ config_file = open(configuration.config)
uconfig = json.load(config_file)
# coerce this dict to ascii for python 2.6
config = {}
for k, v in uconfig.items():
config[k.encode('ascii')]=v.encode('ascii')
- return self.__parse_args(defaults=config).__dict__
+ configuration = self.__parse_args(defaults=config)
except IOError, e:
i.log.exception(e)
- return arguments
+ return configuration.__dict__
Makes sense to me. ACK
--
Chris Lalancette