Невозможно извлечь имя метода в Suds, когда пользователю разрешено выбирать метод во время выполнения - PullRequest
1 голос
/ 07 апреля 2011
from suds.client import Client

from suds.transport.https import HttpAuthenticated

import urllib2

class methodinvokeclass():

    def methodinvokemethod(self,*args):

        method=args[1]         

        c=args[2]

        #method=LatLonListZipCode in the variable above
        response=c.service.method("90210")--How should I make this work ?

        #response=c.service.LatLonListZipCode("90210")
        #The above snippet works, but this not what I want
        #As I want to make it generic "method" and ask user in the run time to select     ---       #methodname

1 Ответ

0 голосов
/ 07 апреля 2011
#method constains a string (eg: 'LatLonListZipCode')
method_to_call = getattr(c.service, method)
response = method_to_call("90210")

Кроме того, вы должны выполнить некоторую проверку ошибок в случае, если метод не может быть найден.

...