I am starting out with python and trying to construct an XML request for an ebay web service:
Now, my question is:
Say, this is my function:
def findBestMatchItemDetailsAcrossStores():
request = """<?xml version="1.0" encoding="utf-8"?>
<findBestMatchItemDetailsAcrossStoresRequest xmlns="http://www.ebay.com/marketplace/search/v1/services">
<siteResultsPerPage>50</siteResultsPerPage>
<entriesPerPage>50</entriesPerPage>
<ignoreFeatured>true</ignoreFeatured>
<keywords>ipod</keywords> <-----REQUIRED
<itemFilter>
<paramName>PriceMin</paramName>
<paramValue>50</paramValue>
<name>Currency</name>
<value>USD</value>
</itemFilter>
<itemFilter>
<paramName>PriceMax</paramName>
<paramValue>100</paramValue>
</itemFilter>
</findBestMatchItemDetailsAcrossStoresRequest>"""
return get_response(findBestMatchItemDetailsAcrossStores.__name__, request)
Where, keyword is the only required field. So, how should I construct the method? The ways can be:
- Create an object, pass it to the func(object) : The java way
- Pass all the arguments: func(a=val1, b=val2, c=val3, d=val4 etc)
- Use **kwargs and trust the person who calls the function, that he passes the right keys with the values, because I will use the keys to actually construct the XML tags.
Update:
All the xml tags you see in the request are needed to be passed by the user. But keywords should be passed and others maybe passed if required.
Any suggestions?
<keywords>ipod</keywords>
, which is mandatory. – Hardtop