Skip to content

Instantly share code, notes, and snippets.

@rrx
Created October 9, 2017 21:45
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save rrx/b1e4d5d31646ea10c7f7f47289b134f5 to your computer and use it in GitHub Desktop.
Save rrx/b1e4d5d31646ea10c7f7f47289b134f5 to your computer and use it in GitHub Desktop.
import ebaysdk
from ebaysdk.utils import getNodeText
from ebaysdk.exception import ConnectionError
from ebaysdk.trading import Connection as Trading
import simplejson as json
import datetime
import sys
if __name__ == '__main__':
DEBUG=False
api = Trading(debug=DEBUG, config_file="ebay.yaml", warnings=True, timeout=60)
d1 = datetime.datetime(2017, 1, 1) # start date
d2 = datetime.datetime.now()
assert d1 < d2
start = d1
end = d1 + datetime.timedelta(days=90)
orders = []
while start < d2:
print d1.isoformat(), d2.isoformat(), start.isoformat(), end.isoformat()
start = end
end = start + datetime.timedelta(days=90)
pageNumber = 1
while True:
api.execute('GetOrders', {'CreateTimeFrom': start.isoformat(), 'CreateTimeTo': end.isoformat(), 'OrderRole': 'Buyer', 'Pagination': {'PageNumber': pageNumber, 'EntriesPerPage': 100}})
pageNumber += 1
data = json.loads(api.response.json())
print 'data', data
orderArray = data.get('OrderArray') or {}
for order in orderArray.get('Order', []):
orders.append(order)
if data['HasMoreOrders'] == 'false':
break
with open("out.json", "wb") as fp:
json.dump(orders,fp)
print len(orders)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment