def handle_object(self,obj): if type(obj) == dict and len(obj.keys())==1 and obj.has_key('_ref'): L.info("ReferenceFetcher: Attempting to fetch %r" % obj) url = obj['_ref'] if url.strip() == '': return None data = None try: data = internal_find(url,follow=False,lang=self.token.lang) if data != None: return data except Exception: L.exception("ReferenceFetcher: Failed to fetch %r" % obj) elif type(obj) == dict: return dict([ (k,self.handle_object(v)) for k,v in obj.iteritems()]) elif type(obj) == list: return [ self.handle_object(el) for el in obj] return obj
def handle_object(self, obj): if type(obj) == dict and len(obj.keys()) == 1 and obj.has_key('_ref'): L.info("ReferenceFetcher: Attempting to fetch %r" % obj) url = obj['_ref'] if url.strip() == '': return None data = None try: data = internal_find(url, follow=False, lang=self.token.lang) if data != None: return data except Exception: L.exception("ReferenceFetcher: Failed to fetch %r" % obj) elif type(obj) == dict: return dict([(k, self.handle_object(v)) for k, v in obj.iteritems()]) elif type(obj) == list: return [self.handle_object(el) for el in obj] return obj
def post(self): try: rec = g.db.find_one({self.META_PATH: self.token.path, self.META_ID: self.token.slug}) if rec == None: g.db.save( { self.META_EL: {self.PATH_EL: self.token.path, self.ID_EL: self.token.slug}, self.DATA_EL: self.token.data, } ) else: rec[self.DATA_EL] = self.token.data g.db.save(rec) self.token.response = True except: L.exception("db_op::post") self.token.response = False
def post(self): if self.token.slug == None: self.token.slug = uuid.uuid4() try: rec = g.db.find_one({self.META_PATH : self.token.path, self.META_ID : self.token.slug }) if rec == None: g.db.save( { self.META_EL : { self.PATH_EL : self.token.path, self.ID_EL : self.token.slug }, self.DATA_EL : self.token.data }) else: rec[self.DATA_EL] = self.token.data g.db.save(rec) self.token.response = True, self.token.path, self.token.slug except: L.exception('db_op::post') self.token.response = False