def get(self): phone = self.request.get('phone') phone = adsparser.format_phone(phone) ads = Ad.all().filter("phone =", phone).filter("rating =", 0) if ads.count() > 0: self.render_json({'agent': True}) else: self.render_json({'agent': False})
def get(self): phone = self.request.get("phone") phone = adsparser.format_phone(phone) ads = Ad.all().filter("phone =", phone).filter("rating =", 0) if ads.count() > 0: self.render_json({"agent": True}) else: self.render_json({"agent": False})
def post(self): phones = self.request.get('phones').rsplit(" ") for_put = [] source = self.request.get('source') or 'form' region = self.request.get('region') for phone in phones: if phone.strip(): phone = adsparser.format_phone(phone) try: for_put.append(Ad(key_name=phone, phone=phone, created_at = datetime.datetime.now(), source=source, rating=0, region=region)) except: continue db.put(for_put) for phone in phones: taskqueue.add(queue_name = 'quick', url = '/ad/check', params = {'key': phone}) self.redirect("/")
def get_ads(cursor = None, count = 0): print "getting ads %d" % count ads = Ad.all().filter("source =", "avito").order("-created_at") print ads[0].created_at if cursor: ads = ads.with_cursor(cursor) ads_for_put = [] ads_for_delete = [] for ad in ads.fetch(10): try: parser = adsparser.parse(ad.key().name(), 'spb') except StandardError as e: msg = e.__str__() if msg == 'HTTP Error 404: Not found': print "deleting" ad.deleted = True ads_for_put.append(ad) continue if parser.phone_key is None: continue phone_url = "%s?pkey=%s" % (ad.key().name().replace('items/', 'items/phone/'), parser.phone_key) phone_cmd = command.replace("__url__", phone_url) print ad.key().name() fin, fout = os.popen4(phone_cmd) phone = fout.read() time.sleep(2) f = open("result.txt", "r") phone = adsparser.format_phone(f.read()) f.close() if parser.is_real_agent: ad.rating = 0 else: if ad.phone is None or ad.phone == '': ad.rating = 100 if ad.phone is not None and ad.phone != '' and ad.phone != phone: new_ad = clone_entity(ad, key_name = "%s?v2" % ad.key().name(), parent = ad) new_ad.phone = phone new_ad.created_at = datetime.datetime.now() ads_for_put.append(new_ad) if ad.phone is None or ad.phone == '': ad.phone = phone ad.created_at = datetime.datetime.combine(ad.created_at.date(), datetime.datetime.now().time()) ads_for_put.append(ad) print "saving ads" db.put(ads_for_put) print "ads saved" for ad in ads_for_put: try: print "adding task" taskqueue.add(queue_name = 'quick', url = '/ad/check', params = {'key': ad.key().name() }) except: pass print "tasks added" get_ads(ads.cursor(), count + 10)
def get_ads(cursor=None, count=0): print "getting ads %d" % count ads = Ad.all().filter("source =", "avito").order("-created_at") print ads[0].created_at if cursor: ads = ads.with_cursor(cursor) ads_for_put = [] ads_for_delete = [] for ad in ads.fetch(10): try: parser = adsparser.parse(ad.key().name(), 'spb') except StandardError as e: msg = e.__str__() if msg == 'HTTP Error 404: Not found': print "deleting" ad.deleted = True ads_for_put.append(ad) continue if parser.phone_key is None: continue phone_url = "%s?pkey=%s" % (ad.key().name().replace( 'items/', 'items/phone/'), parser.phone_key) phone_cmd = command.replace("__url__", phone_url) print ad.key().name() fin, fout = os.popen4(phone_cmd) phone = fout.read() time.sleep(2) f = open("result.txt", "r") phone = adsparser.format_phone(f.read()) f.close() if parser.is_real_agent: ad.rating = 0 else: if ad.phone is None or ad.phone == '': ad.rating = 100 if ad.phone is not None and ad.phone != '' and ad.phone != phone: new_ad = clone_entity(ad, key_name="%s?v2" % ad.key().name(), parent=ad) new_ad.phone = phone new_ad.created_at = datetime.datetime.now() ads_for_put.append(new_ad) if ad.phone is None or ad.phone == '': ad.phone = phone ad.created_at = datetime.datetime.combine( ad.created_at.date(), datetime.datetime.now().time()) ads_for_put.append(ad) print "saving ads" db.put(ads_for_put) print "ads saved" for ad in ads_for_put: try: print "adding task" taskqueue.add(queue_name='quick', url='/ad/check', params={'key': ad.key().name()}) except: pass print "tasks added" get_ads(ads.cursor(), count + 10)