Commit | Line | Data |
---|---|---|
fc3dc255 | 1 | # GNU MediaGoblin -- federated, autonomous media hosting |
cf29e8a8 | 2 | # Copyright (C) 2011, 2012 MediaGoblin contributors. See AUTHORS. |
fc3dc255 WKG |
3 | # |
4 | # This program is free software: you can redistribute it and/or modify | |
5 | # it under the terms of the GNU Affero General Public License as published by | |
6 | # the Free Software Foundation, either version 3 of the License, or | |
7 | # (at your option) any later version. | |
8 | # | |
9 | # This program is distributed in the hope that it will be useful, | |
10 | # but WITHOUT ANY WARRANTY; without even the implied warranty of | |
11 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
12 | # GNU Affero General Public License for more details. | |
13 | # | |
14 | # You should have received a copy of the GNU Affero General Public License | |
15 | # along with this program. If not, see <http://www.gnu.org/licenses/>. | |
df9809c2 CAW |
16 | """ |
17 | In some places, we need to access the database, public_store, queue_store | |
18 | """ | |
19 | ||
b77eec65 CAW |
20 | import gettext |
21 | import pkg_resources | |
c80982c7 | 22 | import threading |
b77eec65 | 23 | |
218b8124 | 24 | |
df9809c2 CAW |
25 | ############################# |
26 | # General mediagoblin globals | |
27 | ############################# | |
28 | ||
29 | # mongokit.Connection | |
30 | db_connection = None | |
31 | ||
32 | # mongokit.Connection | |
33 | database = None | |
34 | ||
0533f117 CAW |
35 | # beaker's cache manager |
36 | cache = None | |
37 | ||
df9809c2 CAW |
38 | # should be the same as the |
39 | public_store = None | |
40 | queue_store = None | |
41 | ||
49285baf E |
42 | # A WorkBenchManager |
43 | workbench_manager = None | |
44 | ||
c80982c7 JK |
45 | # A thread-local scope |
46 | thread_scope = threading.local() | |
47 | ||
7b9f9d1e SS |
48 | # gettext (this will be populated on demand with gettext.Translations) |
49 | thread_scope.translations = None | |
b77eec65 | 50 | |
218b8124 CAW |
51 | # app and global config objects |
52 | app_config = None | |
53 | global_config = None | |
54 | ||
55 | # The actual app object | |
56 | app = None | |
57 | ||
df9809c2 CAW |
58 | |
59 | def setup_globals(**kwargs): | |
68bf5b19 CAW |
60 | """ |
61 | Sets up a bunch of globals in this module. | |
62 | ||
63 | Takes the globals to setup as keyword arguments. If globals are | |
64 | specified that aren't set as variables above, then throw an error. | |
65 | """ | |
6e7ce8d1 | 66 | from mediagoblin import mg_globals |
df9809c2 CAW |
67 | |
68 | for key, value in kwargs.iteritems(): | |
49285baf E |
69 | if not hasattr(mg_globals, key): |
70 | raise AssertionError("Global %s not known" % key) | |
df9809c2 | 71 | setattr(mg_globals, key, value) |