From 8ca10be7ebbe612c21875ef914a6b1d9b5447872 Mon Sep 17 00:00:00 2001 From: Tony Mack Date: Sun, 3 May 2009 01:06:19 +0000 Subject: [PATCH] changed default location of registries.xml file to /etc/geni/ --- geni/registry.py | 27 +++++++++++++++++++++++---- 1 file changed, 23 insertions(+), 4 deletions(-) diff --git a/geni/registry.py b/geni/registry.py index 307637a5..3bbbe0ad 100644 --- a/geni/registry.py +++ b/geni/registry.py @@ -46,14 +46,33 @@ class Registries(dict): required_fields = ['hrn', 'addr', 'port'] - def __init__(self, api): + def __init__(self, api, file = "/etc/geni/registries.xml"): dict.__init__(self, {}) self.api = api - registries_file = self.api.server_basedir + os.sep + 'registries.xml' + + # create default connection dict connection_dict = {} for field in self.required_fields: - connection_dict[field] = '' - self.registry_info = XmlStorage(registries_file, {'registries': {'registry': [connection_dict]}}) + connection_dict[field] = '' + registries_dict = {'registries': {'registry': [connection_dict]}} + + # get possible config file locations + loaded = False + path = os.path.dirname(os.path.abspath(__file__)) + filename = file.split(os.sep)[-1] + alt_file = path + os.sep + filename + files = [file, alt_file] + + for f in files: + try: + if os.path.isfile(f): + self.registry_info = XmlStorage(f, registries_dict) + loaded = True + except: pass + + # if file is missing, just recreate it in the right place + if not loaded: + self.registry_info = XmlStorage(file, registries_dict) self.registry_info.load() self.connectRegistries() -- 2.43.0