Ok mam funkcję _api_method() która przyjmuje jako argument nazwę funkcji do wywołania (component -> np. "doLogIn"), a w niej jest zagnieżdżona inna funkcja _service() która się z automatu wykonuje kożystając z "Basic parameters" gdyż jest zwracana.
Jestem nowy w pythonie i mam pytanie jak w jaki sposób stworzyć wywołanie tej metody głównej _api_method() tak żeby przekazać do argumentu **kwargs funkcji _service() (która jest wewnątrz funkcji _api_method()) dodatkowe parametry? Jak np. :
a = { 'location': x, 'sorttype': y, 'range': 100 }
Bo zakładam ze trzeba to podać w słowniku
Poniżej funkcja o której mówię:
def _api_method(self, component):
"""
A wrapper around suds components. Adds common parameters
to each call as well as handles session expiration gracefully.
"""
def _service(*args, **kwargs):
# Prefill basic parameters.
kwargs['countryCode'] = self.country_code
kwargs['countryId'] = self.country_id
kwargs['webapiKey'] = self.api_key
kwargs['localVersion'] = self.versions.get(self.country_id)
try:
return component(*args, **kwargs)
except WebFault as exc:
# Session expired - login again and retry.
if exc.fault.faultcode in ['ERR_NO_SESSION', 'ERR_SESSION_EXPIRED']:
self.sign_in()
return component(*args, **kwargs)
raise
return _service
Funkcja jest znaleziona na gitlabie i łączy się ale tylko z podstawowymi parametrami. Niby jest "pomoc" w komentarzu ale jej kompletnie nie rozumiem :(