示例#1
0
文件: views.py 项目: mdornseif/Ablage
 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))
示例#2
0
文件: views.py 项目: mdornseif/Ablage
 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))
示例#3
0
 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))
示例#4
0
 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))