def get(self, tenant): user = self.login_required() if user.tenant != tenant: raise RuntimeError('404') designator = self.request.get('designator') if designator: query1 = Akte.all().filter('tenant =', tenant).filter('designator =', designator) query2 = Dokument.all().filter('tenant =', tenant).filter('designator =', designator) query3 = Dokument.all().filter('tenant =', tenant).filter('ref =', designator) query4 = Dokument.all().filter('tenant =', tenant).filter('ref =', designator) results = list(set(query1.fetch(10) + query2.fetch(10) + query3.fetch(10) + query4.fetch(10))) values = dict(results=[x.as_dict(self.abs_url) for x in results], success=True) else: results = [] # 'Term1 "Term2 and Term3"'.split() -> ['Term1', 'Term2 and Term3'] for part in gaetk.tools.split(self.request.get('q')): # would be aswsome to run this in paralell for model in [Akte, Dokument]: for field in ['designator', 'name1', 'plz', 'email', 'ref', 'name2', 'ort']: query = model.all().filter('tenant =', tenant ).filter('%s >=' % field, part ).filter('%s <=' % field, part + u'\ufffd') results.extend([x.as_dict(self.abs_url) for x in query.fetch(25)]) # TODO: scoring and deduping values = dict(results=results, success=True) self.response.headers['Content-Type'] = 'application/json' self.response.out.write(json.dumps(values))
def get(self, tenant, akte_id): user = self.login_required() if (user.tenant != tenant): raise RuntimeError('404') documents = Dokument.all().filter('tenant =', tenant).filter( 'akte =', db.Key.from_path('Akte', "%s-%s" % (tenant, akte_id))).fetch(50) documents = [x.as_dict(self.abs_url) for x in documents if tenant == x.tenant] values = dict(documents=documents, success=True) self.response.headers['Content-Type'] = 'application/json' self.response.out.write(json.dumps(values))
def get(self, tenant): user = self.login_required() if user.tenant != tenant: raise RuntimeError('404') designator = self.request.get('designator') if designator: query1 = Akte.all().filter('tenant =', tenant).filter('designator =', designator) query2 = Dokument.all().filter('tenant =', tenant).filter( 'designator =', designator) query3 = Dokument.all().filter('tenant =', tenant).filter('ref =', designator) query4 = Dokument.all().filter('tenant =', tenant).filter('ref =', designator) results = list( set( query1.fetch(10) + query2.fetch(10) + query3.fetch(10) + query4.fetch(10))) values = dict(results=[x.as_dict(self.abs_url) for x in results], success=True) else: results = [] # 'Term1 "Term2 and Term3"'.split() -> ['Term1', 'Term2 and Term3'] for part in gaetk.tools.split(self.request.get('q')): # would be aswsome to run this in paralell for model in [Akte, Dokument]: for field in [ 'designator', 'name1', 'plz', 'email', 'ref', 'name2', 'ort' ]: query = model.all().filter('tenant =', tenant).filter( '%s >=' % field, part).filter('%s <=' % field, part + u'\ufffd') results.extend( [x.as_dict(self.abs_url) for x in query.fetch(25)]) # TODO: scoring and deduping values = dict(results=results, success=True) self.response.headers['Content-Type'] = 'application/json' self.response.out.write(json.dumps(values))
def get(self, tenant, akte_id): user = self.login_required() if (user.tenant != tenant): raise RuntimeError('404') documents = Dokument.all().filter('tenant =', tenant).filter( 'akte =', db.Key.from_path('Akte', "%s-%s" % (tenant, akte_id))).fetch(50) documents = [ x.as_dict(self.abs_url) for x in documents if tenant == x.tenant ] values = dict(documents=documents, success=True) self.response.headers['Content-Type'] = 'application/json' self.response.out.write(json.dumps(values))