Statistics
| Branch: | Tag: | Revision:

root / snf-common / synnefo / settings / __init__.py @ c24ca4e8

History | View | Annotate | Download (2.8 kB)

1
# Copyright 2011 GRNET S.A. All rights reserved.
2
#
3
# Redistribution and use in source and binary forms, with or
4
# without modification, are permitted provided that the following
5
# conditions are met:
6
#
7
#   1. Redistributions of source code must retain the above
8
#      copyright notice, this list of conditions and the following
9
#      disclaimer.
10
#
11
#   2. Redistributions in binary form must reproduce the above
12
#      copyright notice, this list of conditions and the following
13
#      disclaimer in the documentation and/or other materials
14
#      provided with the distribution.
15
#
16
# THIS SOFTWARE IS PROVIDED BY GRNET S.A. ``AS IS'' AND ANY EXPRESS
17
# OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
18
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
19
# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL GRNET S.A OR
20
# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
21
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
22
# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
23
# USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
24
# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
25
# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
26
# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
27
# POSSIBILITY OF SUCH DAMAGE.
28
#
29
# The views and conclusions contained in the software and
30
# documentation are those of the authors and should not be
31
# interpreted as representing official policies, either expressed
32
# or implied, of GRNET S.A.
33

    
34
import os
35
import sys
36

    
37
from synnefo.util.entry_points import extend_settings
38

    
39
# set synnefo package __file__ to fix django related bug
40
import synnefo
41
synnefo.__file__ = os.path.join(synnefo.__path__[0], '__init__.py')
42

    
43
# import default settings
44
from synnefo.settings.default import *
45

    
46
# autodetect default settings provided by synnefo applications
47
extend_settings(__name__, 'synnefo')
48

    
49
# extend default settings with settings provided within *.conf user files
50
# located in directory specified in the SYNNEFO_SETTINGS_DIR
51
# environment variable
52
SYNNEFO_SETTINGS_DIR = os.environ.get('SYNNEFO_SETTINGS_DIR', "/etc/synnefo/")
53
if os.path.exists(SYNNEFO_SETTINGS_DIR):
54
    try:
55
        entries = [os.path.join(SYNNEFO_SETTINGS_DIR, x) for x in
56
                   os.listdir(SYNNEFO_SETTINGS_DIR)]
57
        conffiles = [f for f in entries if os.path.isfile(f) and
58
                     f.endswith(".conf")]
59
    except Exception as e:
60
        print >>sys.stderr, "Failed to list *.conf files under %s" % \
61
                            SYNNEFO_SETTINGS_DIR
62
        raise SystemExit(1)
63
    conffiles.sort()
64
    for f in conffiles:
65
        try:
66
            execfile(os.path.abspath(f))
67
        except Exception as e:
68
            print >>sys.stderr, "Failed to read settings file: %s [%s]" % \
69
                                (os.path.abspath(f), e)
70
            raise SystemExit(1)