##// END OF EJS Templates
html: move "Submit a bug" to make it more clear that it is for RhodeCode, not the repo...
html: move "Submit a bug" to make it more clear that it is for RhodeCode, not the repo RhodeCode _could_ contain a bug tracker and this link _could_ be for filing bugs for the hosted projects. Moving the link to the RhodeCode info makes it more clear that it is for RhodeCode bugs. The server instance is however something local, not directly related to the upstream.

File last commit:

r1002:3a7f5b1a beta
r3779:e61a656b beta
Show More
loader.py
68 lines | 1.7 KiB | text/x-python | PythonLexer
Celery is configured by the .ini files and run from paster now...
r776 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]
made rhodecode work with celery 2.2, made some tasks optimizations(forget results)...
r1002 if key in LIST_PARAMS:return value.split()
Celery is configured by the .ini files and run from paster now...
r776 return self.type_converter(value)
except KeyError:
raise AttributeError(pylons_key)
made rhodecode work with celery 2.2, made some tasks optimizations(forget results)...
r1002 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()
Celery is configured by the .ini files and run from paster now...
r776 def __setattr__(self, key, value):
pylons_key = to_pylons(key)
config[pylons_key] = value
made rhodecode work with celery 2.2, made some tasks optimizations(forget results)...
r1002 def __setitem__(self, key, value):
self.__setattr__(key, value)
Celery is configured by the .ini files and run from paster now...
r776
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()