Storage Config: Use own section
Instead of configuring storage X by parameters in the main section "X_class = backend" and "X_param = value", use a new section in the config: "[storage:X]" and use "class = backend" and "param = value" there. This is the beginning, it includes a try at being backward compatible. But that try isn't really fully useful anyway.
This commit is contained in:
parent
d1e67890da
commit
ed7970696e
@ -1,7 +1,4 @@
|
|||||||
[mediagoblin]
|
[mediagoblin]
|
||||||
queuestore_base_dir = %(here)s/user_dev/media/queue
|
|
||||||
publicstore_base_dir = %(here)s/user_dev/media/public
|
|
||||||
publicstore_base_url = /mgoblin_media/
|
|
||||||
direct_remote_path = /mgoblin_static/
|
direct_remote_path = /mgoblin_static/
|
||||||
email_sender_address = "notice@mediagoblin.example.org"
|
email_sender_address = "notice@mediagoblin.example.org"
|
||||||
|
|
||||||
@ -14,5 +11,12 @@ allow_registration = true
|
|||||||
## Uncomment this to put some user-overriding templates here
|
## Uncomment this to put some user-overriding templates here
|
||||||
#local_templates = %(here)s/user_dev/templates/
|
#local_templates = %(here)s/user_dev/templates/
|
||||||
|
|
||||||
|
[storage:queuestore]
|
||||||
|
base_dir = %(here)s/user_dev/media/queue
|
||||||
|
|
||||||
|
[storage:publicstore]
|
||||||
|
base_dir = %(here)s/user_dev/media/public
|
||||||
|
base_url = /mgoblin_media/
|
||||||
|
|
||||||
[celery]
|
[celery]
|
||||||
# Put celery stuff here
|
# Put celery stuff here
|
||||||
|
@ -4,15 +4,10 @@ db_host = string()
|
|||||||
db_name = string(default="mediagoblin")
|
db_name = string(default="mediagoblin")
|
||||||
db_port = integer()
|
db_port = integer()
|
||||||
|
|
||||||
#
|
|
||||||
queuestore_base_dir = string(default="%(here)s/user_dev/media/queue")
|
|
||||||
publicstore_base_dir = string(default="%(here)s/user_dev/media/public")
|
|
||||||
|
|
||||||
# Where temporary files used in processing and etc are kept
|
# Where temporary files used in processing and etc are kept
|
||||||
workbench_path = string(default="%(here)s/user_dev/media/workbench")
|
workbench_path = string(default="%(here)s/user_dev/media/workbench")
|
||||||
|
|
||||||
#
|
|
||||||
publicstore_base_url = string(default="/mgoblin_media/")
|
|
||||||
|
|
||||||
# Where mediagoblin-builtin static assets are kept
|
# Where mediagoblin-builtin static assets are kept
|
||||||
direct_remote_path = string(default="/mgoblin_static/")
|
direct_remote_path = string(default="/mgoblin_static/")
|
||||||
@ -37,6 +32,13 @@ local_templates = string()
|
|||||||
# itself)
|
# itself)
|
||||||
celery_setup_elsewhere = boolean(default=False)
|
celery_setup_elsewhere = boolean(default=False)
|
||||||
|
|
||||||
|
[storage:publicstore]
|
||||||
|
base_dir = string(default="%(here)s/user_dev/media/public")
|
||||||
|
base_url = string(default="/mgoblin_media/")
|
||||||
|
|
||||||
|
[storage:queuestore]
|
||||||
|
base_dir = string(default="%(here)s/user_dev/media/queue")
|
||||||
|
|
||||||
[celery]
|
[celery]
|
||||||
# known booleans
|
# known booleans
|
||||||
celery_result_persistent = boolean()
|
celery_result_persistent = boolean()
|
||||||
|
@ -113,9 +113,23 @@ def get_staticdirector(app_config):
|
|||||||
|
|
||||||
def setup_storage():
|
def setup_storage():
|
||||||
app_config = mg_globals.app_config
|
app_config = mg_globals.app_config
|
||||||
|
global_config = mg_globals.global_config
|
||||||
|
|
||||||
public_store = storage_system_from_config(app_config, 'publicstore')
|
key_short = 'publicstore'
|
||||||
queue_store = storage_system_from_config(app_config, 'queuestore')
|
key_long = "storage:" + key_short
|
||||||
|
if global_config.has_key(key_long):
|
||||||
|
print "New style"
|
||||||
|
public_store = storage_system_from_config(global_config[key_long], None)
|
||||||
|
else:
|
||||||
|
print "old style"
|
||||||
|
public_store = storage_system_from_config(app_config, key_short)
|
||||||
|
|
||||||
|
key_short = 'queuestore'
|
||||||
|
key_long = "storage:" + key_short
|
||||||
|
if global_config.has_key(key_long):
|
||||||
|
queue_store = storage_system_from_config(global_config[key_long], None)
|
||||||
|
else:
|
||||||
|
queue_store = storage_system_from_config(app_config, key_short)
|
||||||
|
|
||||||
setup_globals(
|
setup_globals(
|
||||||
public_store = public_store,
|
public_store = public_store,
|
||||||
|
@ -472,7 +472,10 @@ def storage_system_from_config(paste_config, storage_prefix):
|
|||||||
base_url='/media/',
|
base_url='/media/',
|
||||||
base_dir='/var/whatever/media')
|
base_dir='/var/whatever/media')
|
||||||
"""
|
"""
|
||||||
prefix_re = re.compile('^%s_(.+)$' % re.escape(storage_prefix))
|
if storage_prefix is not None:
|
||||||
|
prefix_re = re.compile('^%s_(.+)$' % re.escape(storage_prefix))
|
||||||
|
else:
|
||||||
|
prefix_re = re.compile('^(.+)$')
|
||||||
|
|
||||||
config_params = dict(
|
config_params = dict(
|
||||||
[(prefix_re.match(key).groups()[0], value)
|
[(prefix_re.match(key).groups()[0], value)
|
||||||
@ -485,5 +488,7 @@ def storage_system_from_config(paste_config, storage_prefix):
|
|||||||
else:
|
else:
|
||||||
storage_class = "mediagoblin.storage:BasicFileStorage"
|
storage_class = "mediagoblin.storage:BasicFileStorage"
|
||||||
|
|
||||||
|
print storage_class, repr(config_params)
|
||||||
|
|
||||||
storage_class = util.import_component(storage_class)
|
storage_class = util.import_component(storage_class)
|
||||||
return storage_class(**config_params)
|
return storage_class(**config_params)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user