aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChristopher Allan Webber <cwebber@dustycloud.org>2014-11-30 16:40:10 -0600
committerChristopher Allan Webber <cwebber@dustycloud.org>2014-12-03 15:40:57 -0600
commitb8e2ab2f5502b68da2c50e62542bf743e66b1958 (patch)
tree01b9381cfbf1ce906230cbcec88d31407472ead6
parenta4768df0ca2e956f245e0833331ed8abb203937a (diff)
downloadmediagoblin-b8e2ab2f5502b68da2c50e62542bf743e66b1958.tar.lz
mediagoblin-b8e2ab2f5502b68da2c50e62542bf743e66b1958.tar.xz
mediagoblin-b8e2ab2f5502b68da2c50e62542bf743e66b1958.zip
Starting to deprecate the app_config, global_config by attaching stuff to app
- app.global_config, app.app_config - making setup_crypto use app.app_config - setting app.workbench_manager
-rw-r--r--mediagoblin/app.py28
-rw-r--r--mediagoblin/init/__init__.py7
-rw-r--r--mediagoblin/tools/crypto.py6
3 files changed, 23 insertions, 18 deletions
diff --git a/mediagoblin/app.py b/mediagoblin/app.py
index 3142224d..00aa4fab 100644
--- a/mediagoblin/app.py
+++ b/mediagoblin/app.py
@@ -85,11 +85,11 @@ class MediaGoblinApp(object):
##############
# Open and setup the config
- global_config, app_config = setup_global_and_app_config(config_path)
+ self.global_config, self.app_config = setup_global_and_app_config(config_path)
media_type_warning()
- setup_crypto()
+ setup_crypto(self.app_config)
##########################################
# Setup other connections / useful objects
@@ -108,9 +108,9 @@ class MediaGoblinApp(object):
# Set up the database
if DISABLE_GLOBALS:
- self.db_manager = setup_database(app_config['run_migrations'])
+ self.db_manager = setup_database(self.app_config['run_migrations'])
else:
- self.db = setup_database(app_config['run_migrations'])
+ self.db = setup_database(self.app_config['run_migrations'])
# Quit app if need to run dbupdate
## NOTE: This is currently commented out due to session errors..
@@ -118,11 +118,11 @@ class MediaGoblinApp(object):
# check_db_up_to_date()
# Register themes
- self.theme_registry, self.current_theme = register_themes(app_config)
+ self.theme_registry, self.current_theme = register_themes(self.app_config)
# Get the template environment
self.template_loader = get_jinja_loader(
- app_config.get('local_templates'),
+ self.app_config.get('local_templates'),
self.current_theme,
PluginManager().get_template_paths()
)
@@ -130,7 +130,7 @@ class MediaGoblinApp(object):
# Check if authentication plugin is enabled and respond accordingly.
self.auth = check_auth_enabled()
if not self.auth:
- app_config['allow_comments'] = False
+ self.app_config['allow_comments'] = False
# Set up storage systems
self.public_store, self.queue_store = setup_storage()
@@ -139,16 +139,16 @@ class MediaGoblinApp(object):
self.url_map = get_url_map()
# set up staticdirector tool
- self.staticdirector = get_staticdirector(app_config)
+ self.staticdirector = get_staticdirector(self.app_config)
# Setup celery, if appropriate
- if setup_celery and not app_config.get('celery_setup_elsewhere'):
+ if setup_celery and not self.app_config.get('celery_setup_elsewhere'):
if os.environ.get('CELERY_ALWAYS_EAGER', 'false').lower() == 'true':
setup_celery_from_config(
- app_config, global_config,
+ self.app_config, self.global_config,
force_celery_always_eager=True)
else:
- setup_celery_from_config(app_config, global_config)
+ setup_celery_from_config(self.app_config, self.global_config)
#######################################################
# Insert appropriate things into mediagoblin.mg_globals
@@ -167,14 +167,14 @@ class MediaGoblinApp(object):
# Workbench *currently* only used by celery, so this only
# matters in always eager mode :)
- setup_workbench()
+ self.workbench_manager = setup_workbench()
# instantiate application meddleware
self.meddleware = [common.import_component(m)(self)
for m in meddleware.ENABLED_MEDDLEWARE]
@contextmanager
- def gen_context(self, ctx=None):
+ def gen_context(self, ctx=None, **kwargs):
"""
Attach contextual information to request, or generate a context object
@@ -188,7 +188,7 @@ class MediaGoblinApp(object):
else:
yield self._gen_context(self.db, ctx)
- def _gen_context(self, db, ctx):
+ def _gen_context(self, db, ctx, **kwargs):
# Set up context
# --------------
diff --git a/mediagoblin/init/__init__.py b/mediagoblin/init/__init__.py
index e0711416..b6421e06 100644
--- a/mediagoblin/init/__init__.py
+++ b/mediagoblin/init/__init__.py
@@ -28,6 +28,8 @@ from mediagoblin.tools.pluginapi import hook_runall
from mediagoblin.tools.workbench import WorkbenchManager
from mediagoblin.storage import storage_system_from_config
+from mediagoblin.tools.transition import DISABLE_GLOBALS
+
class Error(Exception):
pass
@@ -154,4 +156,7 @@ def setup_workbench():
workbench_manager = WorkbenchManager(app_config['workbench_path'])
- setup_globals(workbench_manager=workbench_manager)
+ if not DISABLE_GLOBALS:
+ setup_globals(workbench_manager=workbench_manager)
+
+ return workbench_manager
diff --git a/mediagoblin/tools/crypto.py b/mediagoblin/tools/crypto.py
index c85ecd4a..1107e200 100644
--- a/mediagoblin/tools/crypto.py
+++ b/mediagoblin/tools/crypto.py
@@ -36,7 +36,7 @@ try:
except AttributeError:
getrandbits = random.getrandbits
-
+# TODO: This should be attached to the MediaGoblinApp
__itsda_secret = None
@@ -73,9 +73,9 @@ def create_key(key_dir, key_filepath):
_log.info("Saved new key for It's Dangerous")
-def setup_crypto():
+def setup_crypto(app_config):
global __itsda_secret
- key_dir = mg_globals.app_config["crypto_path"]
+ key_dir = app_config["crypto_path"]
key_filepath = os.path.join(key_dir, 'itsdangeroussecret.bin')
try:
load_key(key_filepath)