ebay-ml-lister/id_update.py

71 lines
1.9 KiB
Python

import os
import requests
import json
import ebaysdk
from ebaysdk.trading import Connection as Trading
from ebaysdk.finding import Connection as Finding
import time
import concurrent.futures
# (categoryId = women's shoes = 3034)
# Initialize loop to get number of pages needed in for loop
start = time.time()
fapi = Finding(config_file = "ebay.yaml")
tapi = Trading(config_file = 'ebay.yaml')
fresponse = fapi.execute(
'findItemsAdvanced',
{
'itemFilter':{
'name':'Seller',
'value':'chesshoebuddy'
},
'paginationInput':{
'entriesPerPage':'100',
'pageNumber':'1'
}
}
).dict()
page_results = int(fresponse['paginationOutput']['totalPages'])
pages = []
for i in range(0, page_results):
i += 1
pages.append(i)
''' Begin definitions for getting ItemIds and SKU: '''
def id_up(n):
ids = []
fresponse = fapi.execute(
'findItemsAdvanced',
{
'itemFilter':{
'name':'Seller',
'value':'chesshoebuddy'
},
'paginationInput':{
'entriesPerPage':'100',
'pageNumber':str(n)
}
}
).dict()
for item in (fresponse['searchResult']['item']):
itemID = item['itemId']
#response = tapi.execute('GetItem',{'ItemID':itemID}).dict()
ids.append(itemID)
return ids
def main():
ids = []
skus = []
with concurrent.futures.ThreadPoolExecutor() as executor:
for future in executor.map(id_up, pages):
ids.extend(future)
with open('ebay_ids.txt', 'w') as outfile:
json.dump(ids, outfile)
if __name__ == '__main__':
main()