e39071d91160bd332fdadb2fcf70dcf3d1e125b1
[debianmemberportfolio.git] / debianmemberportfolio / lib / app_globals.py
1 # -*- python -*-
2 # -*- coding: utf-8 -*-
3 #
4 # DDPortfolio service application Globals
5 # Copyright © 2009, 2010, 2011, 2012 Jan Dittberner <jan@dittberner.info>
6 #
7 # This file is part of DDPortfolio service.
8 #
9 # DDPortfolio service is free software: you can redistribute it and/or
10 # modify it under the terms of the GNU Affero General Public License
11 # as published by the Free Software Foundation, either version 3 of
12 # the License, or (at your option) any later version.
13 #
14 # DDPortfolio service is distributed in the hope that it will be
15 # useful, but WITHOUT ANY WARRANTY; without even the implied warranty
16 # of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
17 # Affero General Public License for more details.
18 #
19 # You should have received a copy of the GNU Affero General Public
20 # License along with this program.  If not, see
21 # <http://www.gnu.org/licenses/>.
22 #
23 """The application's Globals object"""
24
25 from beaker.cache import CacheManager
26 from beaker.util import parse_cache_config_options
27
28
29 class Globals(object):
30     """
31     Globals acts as a container for objects available throughout the
32     life of the application
33     """
34
35     def __init__(self, config):
36         """
37         One instance of Globals is created during application
38         initialization and is available during requests via the
39         'app_globals' variable
40         """
41         self.cache = CacheManager(**parse_cache_config_options(config))