xref: /rk3399_rockchip-uboot/tools/buildman/bsettings.py (revision 1a4596601fd395f3afb8f82f3f840c5e00bdd57a)
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