[Fedora-suds-list] Types not converting from a dict?

Joshua J. Kugler joshua at eeinternet.com
Fri Mar 26 21:03:06 UTC 2010


WSDL file: 
https://adwords.google.com/api/adwords/cm/v200909/CampaignService?wsdl

This code:

#ga_month_start/end are strings
#ga.Campaign is my 'client' object, dynamically finds the method, etc.
stats = ga.Campaign.client.get({'ids':[ga_campaign.id],
                                             'statsSelector':{
                                                 'dateRange':{
                                                     'min':ga_month_start,
                                                     'max':ga_month_end
                                                  }
                                               }
                                              })

Throws this error:
  File "build/bdist.linux-i686/egg/suds/client.py", line 539, in 
__call__
  File "build/bdist.linux-i686/egg/suds/client.py", line 592, in invoke
  File "build/bdist.linux-i686/egg/suds/bindings/binding.py", line 118, 
in get_message
  File "build/bdist.linux-i686/egg/suds/bindings/document.py", line 63, 
in bodycontent
  File "build/bdist.linux-i686/egg/suds/bindings/document.py", line 105, 
in mkparam
  File "build/bdist.linux-i686/egg/suds/bindings/binding.py", line 260, 
in mkparam
  File "build/bdist.linux-i686/egg/suds/mx/core.py", line 62, in process
  File "build/bdist.linux-i686/egg/suds/mx/core.py", line 75, in append
  File "build/bdist.linux-i686/egg/suds/mx/appender.py", line 102, in 
append
  File "build/bdist.linux-i686/egg/suds/mx/appender.py", line 243, in 
append
  File "build/bdist.linux-i686/egg/suds/mx/appender.py", line 182, in 
append
  File "build/bdist.linux-i686/egg/suds/mx/core.py", line 75, in append
  File "build/bdist.linux-i686/egg/suds/mx/appender.py", line 102, in 
append
  File "build/bdist.linux-i686/egg/suds/mx/appender.py", line 243, in 
append
  File "build/bdist.linux-i686/egg/suds/mx/appender.py", line 182, in 
append
  File "build/bdist.linux-i686/egg/suds/mx/core.py", line 74, in append
  File "build/bdist.linux-i686/egg/suds/mx/literal.py", line 87, in 
start
suds.TypeNotFound: Type not found: 'max'

This code:
selector = ga.Campaign.client.factory.create('CampaignSelector')
selector.ids = [ga_campaign.id]
selector.statsSelector.dateRange.min = ga_month_start
selector.statsSelector.dateRange.max = ga_month_end
campaign_stats = ga.Campaign.client.get(selector)

Works fine, and produces the following selector, which is accepted by 
the adwords API.

(CampaignSelector){
   ids[] = 
      18657145,
   campaignStatuses[] = <empty>
   statsSelector = 
      (StatsSelector){
         dateRange = 
            (DateRange){
               min = "20100201"
               max = "20100228"
            }
         StatsSelector.Type = None
      }
   paging = 
      (Paging){
         startIndex = None
         numberResults = None
      }
 }

I was sure I had this working before...Am I doing something wrong that I 
don't see (which is what I suspect), or is Suds doing something wrong 
with the type here?

By the way, this is suds/trunk revision 665.

j

-- 
Joshua Kugler
Part-Time System Admin/Programmer
http://www.eeinternet.com
PGP Key: http://pgp.mit.edu/  ID 0x73B13B6A


More information about the suds mailing list