def test_item_search(self): search_term = 'iphone' category = 'default' condition = 'Used' max_price = '1000' Zip = '27104' data = EbayItems.search_items(search_term=search_term, category=category, condition=condition, max_price=max_price, Zip=Zip) self.assertIn(search_term, str(data))
def update_items(cls): try: Statistics.update_time_when_DB_was_updated() q = Filter.query() q.order(Filter._key) # overall_saved = 0 old_key_list = cls.get_all_keys() current_key_list_backup = old_key_list[:] saved_items_keys = [] for counter, entity in enumerate(q): # saved_items = 0 logging.info(entity.search_term) data = EbayItems.search_items(search_term=entity.search_term, category=entity.category, condition=entity.condition, max_price=entity.max_price) for item in data: item_key = ndb.Key(cls.__name__, item["itemID"], parent=ndb.Key('Filter', item["search_term"])) if item_key in current_key_list_backup: try: old_key_list.remove(item_key) except ValueError as e: logging.info(str(e)) pass continue if item_key in saved_items_keys: logging.info('Doubled save key: ' + str(item_key)) continue saved_key = cls.save_item(item) if saved_key: saved_items_keys.append(saved_key) # overall_saved += len(saved_items_keys) deleted = len([item_key.delete() for item_key in old_key_list]) logging.info('Entities=' + str(counter) + '; Recorded Items=' + str(len(saved_items_keys)) + '; Deleted Items=' + str(deleted)) # logging.info('Saved keys: ' + str(saved_items_keys)) except UpdateItemsError as e: error_info = sys.exc_info() logging.info(str(error_info)) logging.info(e)