Blame pagure/config.py

Pierre-Yves Chibon b130e5
# -*- coding: utf-8 -*-
Pierre-Yves Chibon b130e5
Pierre-Yves Chibon b130e5
"""
Pierre-Yves Chibon b130e5
 (c) 2017 - Copyright Red Hat Inc
Pierre-Yves Chibon b130e5
Pierre-Yves Chibon b130e5
 Authors:
Pierre-Yves Chibon b130e5
   Pierre-Yves Chibon <pingou@pingoured.fr></pingou@pingoured.fr>
Pierre-Yves Chibon b130e5
Pierre-Yves Chibon b130e5
"""
Pierre-Yves Chibon b130e5
Pierre-Yves Chibon 67d1cc
from __future__ import unicode_literals, absolute_import
Aurélien Bompard dcf6f6
Pierre-Yves Chibon b130e5
import os  # noqa: E402
Pierre-Yves Chibon b130e5
import flask  # noqa: E402
Pierre-Yves Chibon b130e5
Pierre-Yves Chibon b130e5
Pierre-Yves Chibon b130e5
def reload_config():
Pierre-Yves Chibon b130e5
    """ Reload the configuration. """
Pierre-Yves Chibon b130e5
    config = flask.config.Config(
Pierre-Yves Chibon 9c2953
        os.path.dirname(os.path.abspath(__file__)), flask.Flask.default_config
Pierre-Yves Chibon b130e5
    )
Pierre-Yves Chibon b130e5
Pierre-Yves Chibon 9c2953
    config.from_object("pagure.default_config")
Pierre-Yves Chibon b130e5
Pierre-Yves Chibon 9c2953
    if "PAGURE_CONFIG" in os.environ:
Pierre-Yves Chibon 9c2953
        config.from_envvar("PAGURE_CONFIG")
Pierre-Yves Chibon b130e5
Slavek Kabrda adea20
    # These were previously respected config values, but as explained
Slavek Kabrda adea20
    # in https://pagure.io/pagure/issue/2991 they don't really work
Slavek Kabrda adea20
    # as expected and their values must be based on GIT_FOLDER.
Slavek Kabrda adea20
    # To prevent large changes throughout the codebase, we omitted them
Slavek Kabrda adea20
    # from config and we add them here.
Pierre-Yves Chibon 9c2953
    if config["ENABLE_DOCS"]:
Pierre-Yves Chibon 9c2953
        config["DOCS_FOLDER"] = os.path.join(config["GIT_FOLDER"], "docs")
Pierre-Yves Chibon 9c2953
    if config["ENABLE_TICKETS"]:
Pierre-Yves Chibon 9c2953
        config["TICKETS_FOLDER"] = os.path.join(
Pierre-Yves Chibon 9c2953
            config["GIT_FOLDER"], "tickets"
Slavek Kabrda adea20
        )
Pierre-Yves Chibon 9c2953
    config["REQUESTS_FOLDER"] = os.path.join(config["GIT_FOLDER"], "requests")
Slavek Kabrda adea20
Patrick Uiterwijk ad0b72
    if "GITOLITE_BACKEND" in config:
Patrick Uiterwijk ad0b72
        # This is for backwards compatibility purposes
Patrick Uiterwijk ad0b72
        config["GIT_AUTH_BACKEND"] = config["GITOLITE_BACKEND"]
Patrick Uiterwijk ad0b72
Pierre-Yves Chibon b130e5
    return config
Pierre-Yves Chibon b130e5
Pierre-Yves Chibon b130e5
Pierre-Yves Chibon b130e5
config = reload_config()