diff rhodecode/lib/celerypylons/loader.py @ 1002:3a7f5b1a19dd beta

made rhodecode work with celery 2.2, made some tasks optimizations(forget results) added celeryconfig.py with just the definitions of hosts, it seams just this is needed to get celery working nice, all other config options are taken from .ini files. This is a temp workaround until i get the proper soltuion to this problem.
author Marcin Kuzminski <marcin@python-works.com>
date Tue, 08 Feb 2011 02:57:21 +0100
parents f6c613fba757
children ffd45b185016
line wrap: on
line diff
--- a/rhodecode/lib/celerypylons/loader.py	Mon Feb 07 21:40:57 2011 +0100
+++ b/rhodecode/lib/celerypylons/loader.py	Tue Feb 08 02:57:21 2011 +0100
@@ -17,15 +17,29 @@
         pylons_key = to_pylons(key)
         try:
             value = config[pylons_key]
-            if key in LIST_PARAMS: return value.split()
+            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
@@ -35,7 +49,6 @@
         #cast to bool
         if value.lower() in ['true', 'false']:
             return value.lower() == 'true'
-
         return value
 
 class PylonsLoader(BaseLoader):