def post(self): for sd in SearchData.all(): db.delete(sd) appid = APPID if APPID == 'ebfmex-pub.appspot.com' or APPID == 'ebfmxorg.appspot.com': appid = 'movil.' + APPID url = 'http://' + appid + '/backend/generatesearch?kind=Oferta&field=Oferta' #result = urlfetch.fetch(url) url = 'http://' + appid + '/backend/generatesearch?kind=Oferta&field=Descripcion' #result = urlfetch.fetch(url) #self.redirect('/backend/generatesearch?kind=Oferta&field=Descripcion') #self.redirect('/backend/generatesearch?kind=Oferta&field=Oferta') for oferta in Oferta.all(): for palabra in OfertaPalabra.all().filter("IdOft =", oferta.IdOft): newsd = SearchData() newsd.Enlinea = oferta.Enlinea newsd.FechaHora = datetime.now() - timedelta(hours = H) newsd.Field = 'OfertaPalabra' newsd.IdCat = oferta.IdCat newsd.Kind = 'Oferta' newsd.Sid = str(oferta.key()) newsd.Value = palabra.Palabra.lower() newsd.put()
def token(self): token = self.request.get('token') if token and str(token) == 'ZWJmbWV4LXB1YnIeCxISX0FoQWRtaW5Yc3JmVG9rZW5fIgZfWFNSRl8M': try: gminutes = self.request.get('minutes') ghours = self.request.get('hours') gdays = self.request.get('days') if not gminutes: gminutes = 0 else: gminutes = int(gminutes) if not ghours: ghours = 0 else: ghours = int(ghours) if not gdays: gdays = 0 else: gdays = int(gdays) except ValueError: gminutes = 30 ghours = 0 gdays = 0 time = datetime.now() - timedelta(days = gdays, hours = ghours, minutes = gminutes) self.response.headers['Content-Type'] = 'application/json' #self.response.out.write (str(time)) changecontrol = ChangeControl.all().filter("FechaHora >=", time).filter("Kind =", 'Oferta').filter("Status IN", ["A","M"]) nbadded = 0 nbremoved = 0 for cc in changecontrol: #self.response.out.write(cc.Id + '\n') if cc.Status != 'B': ofertas = Oferta.all().filter("IdOft =", cc.Id) for oferta in ofertas: if cc.Status == 'M': searchdata = SearchData.all().filter("Sid =", str(oferta.key())) for sd in searchdata: db.delete(sd) nbremoved += 1 desc = oferta.Descripcion.replace('\n',' ').replace('\r',' ').replace('.',' ').replace(',',' ').split(' ') nombre = oferta.Oferta.replace('.',' ').replace(',',' ').split(' ') for palabra in desc: if len(palabra) > 3: newsd = SearchData() newsd.Enlinea = oferta.Enlinea newsd.FechaHora = datetime.now() - timedelta(hours = H) newsd.Field = 'Descripcion' newsd.IdCat = oferta.IdCat newsd.Kind = 'Oferta' newsd.Sid = str(oferta.key()) newsd.Value = palabra.lower() newsd.put() nbadded += 1 for palabra in nombre: if len(palabra) > 3: newsd = SearchData() newsd.Enlinea = oferta.Enlinea newsd.FechaHora = datetime.now() - timedelta(hours = H) newsd.Field = 'Oferta' newsd.IdCat = oferta.IdCat newsd.Kind = 'Oferta' newsd.Sid = str(oferta.key()) newsd.Value = palabra.lower() newsd.put() nbadded += 1 palabraclave = OfertaPalabra.all().filter("IdOft =", oferta.IdOft) for palabra in palabraclave.Palabra: if len(palabra) > 3: newsd = SearchData() newsd.Enlinea = oferta.Enlinea newsd.FechaHora = datetime.now() - timedelta(hours = H) newsd.Field = 'OfertaPalabra' newsd.IdCat = oferta.IdCat newsd.Kind = 'Oferta' newsd.Sid = str(oferta.key()) newsd.Value = palabra.Palabra.lower() newsd.put() nbadded += 1 logging.info("Finished updating. Added: %s. Removed: %s.", str(nbadded), str(nbremoved)) else: logging.error('Wrong token given.')