##// END OF EJS Templates
Update CodeMirror CSS and Javascript files to version 3.15, under MIT-permissive license....
Update CodeMirror CSS and Javascript files to version 3.15, under MIT-permissive license. These files are exactly as they appear the upstream release 3.15 of Codemirror, which was released under an MIT-permissive license. To extract these files, I did the following: I downloaded the following file: http://codemirror.net/codemirror-3.15.zip with sha256sum of: $ sha256sum codemirror-3.15.zip 8cf3a512899852fd4e3833423ea98d34918cbf7ee0e4e0b13f8b5e7b083f21b9 codemirror-3.15.zip And extracted from it the Javascript and CSS files herein committed, which are licensed under the MIT-permissive license, placing them into their locations in: rhodecode/public/{css,js}/ Using the procedure above, the only difference found between these files in RhodeCode 2.2.5 release and herein were a few comments and whitespace. Note that the file .../public/js/mode/meta_ext.js does *not* appear to be part of CodeMirror and therefore is not included in this commit.

File last commit:

r4116:ffd45b18 rhodecode-2.2.5-gpl
r4120:bb9ef063 rhodecode-2.2.5-gpl
Show More
loader.py
70 lines | 1.7 KiB | text/x-python | PythonLexer
# -*- coding: utf-8 -*-
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()