Example #1
0
 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))
Example #2
0
    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)