• Eli Schwartz's avatar
    config: allow reading both the defaults file and the modified config · 97c5bcec
    Eli Schwartz authored and Lukas Fleischer's avatar Lukas Fleischer committed
    In the process, rename config.proto to config.defaults (because that is
    what it is now).
    Also use dict.get('key', default_value) when querying os.environ, rather
    than an if block, as it is more pythonic/readable/concise, and reduces
    the number of dict lookups.
    This change allows aurweb configuration to be done via either:
    - copying config.defaults to config and modifying values
    - creating a new config only containing modified values, next to a
      config.defaults containing unmodified values
    The motivation for this change is to enable ansible configuration in our
    flagship deployment by storing only changed values, and deferring to
    config.defaults otherwise.
    A side benefit is, it is easier to see what has changed by inspecting
    only the site configuration file.
    If a config.defaults file does not exist next to $AUR_CONFIG or in
    $AUR_CONFIG_DEFAULTS, it is ignored and *all* values are expected to
    live in the modified config file.