1fc3fe1c2SSimon Glass# Copyright (c) 2012 The Chromium OS Authors. 2fc3fe1c2SSimon Glass# 3*1a459660SWolfgang Denk# SPDX-License-Identifier: GPL-2.0+ 4fc3fe1c2SSimon Glass# 5fc3fe1c2SSimon Glass 6fc3fe1c2SSimon Glassimport ConfigParser 7fc3fe1c2SSimon Glassimport os 8fc3fe1c2SSimon Glass 9fc3fe1c2SSimon Glass 10fc3fe1c2SSimon Glassdef Setup(fname=''): 11fc3fe1c2SSimon Glass """Set up the buildman settings module by reading config files 12fc3fe1c2SSimon Glass 13fc3fe1c2SSimon Glass Args: 14fc3fe1c2SSimon Glass config_fname: Config filename to read ('' for default) 15fc3fe1c2SSimon Glass """ 16fc3fe1c2SSimon Glass global settings 17fc3fe1c2SSimon Glass global config_fname 18fc3fe1c2SSimon Glass 19fc3fe1c2SSimon Glass settings = ConfigParser.SafeConfigParser() 20fc3fe1c2SSimon Glass config_fname = fname 21fc3fe1c2SSimon Glass if config_fname == '': 22fc3fe1c2SSimon Glass config_fname = '%s/.buildman' % os.getenv('HOME') 23fc3fe1c2SSimon Glass if config_fname: 24fc3fe1c2SSimon Glass settings.read(config_fname) 25fc3fe1c2SSimon Glass 26fc3fe1c2SSimon Glassdef GetItems(section): 27fc3fe1c2SSimon Glass """Get the items from a section of the config. 28fc3fe1c2SSimon Glass 29fc3fe1c2SSimon Glass Args: 30fc3fe1c2SSimon Glass section: name of section to retrieve 31fc3fe1c2SSimon Glass 32fc3fe1c2SSimon Glass Returns: 33fc3fe1c2SSimon Glass List of (name, value) tuples for the section 34fc3fe1c2SSimon Glass """ 35fc3fe1c2SSimon Glass try: 36fc3fe1c2SSimon Glass return settings.items(section) 37fc3fe1c2SSimon Glass except ConfigParser.NoSectionError as e: 38fc3fe1c2SSimon Glass print e 39fc3fe1c2SSimon Glass print ("Warning: No tool chains - please add a [toolchain] section " 40fc3fe1c2SSimon Glass "to your buildman config file %s. See README for details" % 41fc3fe1c2SSimon Glass config_fname) 42fc3fe1c2SSimon Glass return [] 43fc3fe1c2SSimon Glass except: 44fc3fe1c2SSimon Glass raise 45