Files
@ 39798d53c65d
Branch filter:
Location: kallithea/rhodecode/lib/celerypylons/loader.py - annotation
39798d53c65d
1.7 KiB
text/x-python
When using apply to children flag in repo group permission
change prompt, RhodeCode only applied this to user groups if
repository was private. Only thing that shouldn't be allowed is
to change the DEFAULT user permission when repository is private.
change prompt, RhodeCode only applied this to user groups if
repository was private. Only thing that shouldn't be allowed is
to change the DEFAULT user permission when repository is private.
f6c613fba757 f6c613fba757 f6c613fba757 f6c613fba757 f6c613fba757 f6c613fba757 f6c613fba757 f6c613fba757 f6c613fba757 f6c613fba757 f6c613fba757 f6c613fba757 f6c613fba757 f6c613fba757 f6c613fba757 f6c613fba757 f6c613fba757 f6c613fba757 f6c613fba757 3a7f5b1a19dd f6c613fba757 f6c613fba757 f6c613fba757 f6c613fba757 3a7f5b1a19dd 3a7f5b1a19dd 3a7f5b1a19dd 3a7f5b1a19dd 3a7f5b1a19dd 3a7f5b1a19dd 3a7f5b1a19dd 3a7f5b1a19dd 3a7f5b1a19dd 3a7f5b1a19dd 3a7f5b1a19dd 3a7f5b1a19dd f6c613fba757 f6c613fba757 f6c613fba757 f6c613fba757 3a7f5b1a19dd 3a7f5b1a19dd f6c613fba757 f6c613fba757 f6c613fba757 f6c613fba757 f6c613fba757 f6c613fba757 f6c613fba757 f6c613fba757 f6c613fba757 f6c613fba757 f6c613fba757 f6c613fba757 f6c613fba757 f6c613fba757 f6c613fba757 f6c613fba757 f6c613fba757 f6c613fba757 f6c613fba757 f6c613fba757 f6c613fba757 f6c613fba757 f6c613fba757 f6c613fba757 f6c613fba757 f6c613fba757 | from celery.loaders.base import BaseLoader
from pylons import config
to_pylons = lambda x: x.replace('_', '.').lower()
to_celery = lambda x: x.replace('.', '_').upper()
LIST_PARAMS = """CELERY_IMPORTS ADMINS ROUTES""".split()
class PylonsSettingsProxy(object):
"""Pylons Settings Proxy
Proxies settings from pylons.config
"""
def __getattr__(self, key):
pylons_key = to_pylons(key)
try:
value = config[pylons_key]
if key in LIST_PARAMS:return value.split()
return self.type_converter(value)
except KeyError:
raise AttributeError(pylons_key)
def get(self, key):
try:
return self.__getattr__(key)
except AttributeError:
return None
def __getitem__(self, key):
try:
return self.__getattr__(key)
except AttributeError:
raise KeyError()
def __setattr__(self, key, value):
pylons_key = to_pylons(key)
config[pylons_key] = value
def __setitem__(self, key, value):
self.__setattr__(key, value)
def type_converter(self, value):
#cast to int
if value.isdigit():
return int(value)
#cast to bool
if value.lower() in ['true', 'false']:
return value.lower() == 'true'
return value
class PylonsLoader(BaseLoader):
"""Pylons celery loader
Maps the celery config onto pylons.config
"""
def read_configuration(self):
self.configured = True
return PylonsSettingsProxy()
def on_worker_init(self):
"""
Import task modules.
"""
self.import_default_modules()
|