🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: pl.comp.lang.python
3 messages
3 total messages Started by horhe Thu, 06 Mar 2014 14:55
[newbie][soap via suds] Jak użyć doSearch z api allegro używając python-allegro-webapi / allegro_webapi
#28496
Author: horhe
Date: Thu, 06 Mar 2014 14:55
55 lines
3316 bytes
Cześć,
próbuję napisać prosty i krótki program, który wyświetli mi listę 
aukcji. Użyłem do tego klasy 
https://github.com/mattrick/python-allegro-webapi. O ile udaje się mi 
użyć metod z niezagnieżdzonymi parametrami to mam problem nad składnią 
dla metody doSearch 
(http://allegro.pl/webapi/documentation.php/show/id,116#method-input,camel).
Mam tak:
allegro=AllegroWebAPI('sss','login','haslo')
a nastepnie próbuję wyszukać, przykładowa, błędna próba to:

 >>> print 
allegro.doSearch(allegro.session_id,searchquery='searchString=aaa')
Traceback (most recent call last):
   File "<stdin>", line 1, in <module>
   File "allegro_webapi.py", line 55, in _service
     return component(*args, **kwargs)
   File "/usr/lib64/python2.7/site-packages/suds/client.py", line 542, 
in __call__
     return client.invoke(args, kwargs)
   File "/usr/lib64/python2.7/site-packages/suds/client.py", line 602, 
in invoke
     result = self.send(soapenv)
   File "/usr/lib64/python2.7/site-packages/suds/client.py", line 649, 
in send
     result = self.failed(binding, e)
   File "/usr/lib64/python2.7/site-packages/suds/client.py", line 702, 
in failed
     r, p = binding.get_fault(reply)
   File "/usr/lib64/python2.7/site-packages/suds/bindings/binding.py", 
line 265, in get_fault
     raise WebFault(p, faultroot)
suds.WebFault: Server raised fault: 'Element 
'{https://webapi.allegro.pl/service.php}searchQuery': Missing child 
element(s). Expected is one of ( 
{https://webapi.allegro.pl/service.php}searchString, 
{https://webapi.allegro.pl/service.php}searchOptions, 
{https://webapi.allegro.pl/service.php}searchOrder, 
{https://webapi.allegro.pl/service.php}searchOrderType, 
{https://webapi.allegro.pl/service.php}searchCountry, 
{https://webapi.allegro.pl/service.php}searchCategory, 
{https://webapi.allegro.pl/service.php}searchOffset, 
{https://webapi.allegro.pl/service.php}searchCity, 
{https://webapi.allegro.pl/service.php}searchState, 
{https://webapi.allegro.pl/service.php}searchPriceFrom ).
'


Moje pytanie jest takie, jaka jest prawidłowa składnia aby móc zbudować 
i przekazać search-query (wraz z dodatkowymi parametrami) aby otrzymać 
wynik wyszukania?
Sama metoda jest opisana tak (print allegro.client)
[...]
doSearch(xs:string sessionHandle, SearchOptType searchQuery, )
[...]
Re: [newbie][soap via suds] Jak użyć doSearch z api allegro używając python-allegro-webapi / allegro_webapi
#28497
Author: horhe
Date: Mon, 10 Mar 2014 13:40
68 lines
3750 bytes
W dniu 06.03.2014 15:55, horhe pisze:
> Cześć,
> próbuję napisać prosty i krótki program, który wyświetli mi listę
> aukcji. Użyłem do tego klasy
> https://github.com/mattrick/python-allegro-webapi. O ile udaje się mi
> użyć metod z niezagnieżdzonymi parametrami to mam problem nad składnią
> dla metody doSearch
> (http://allegro.pl/webapi/documentation.php/show/id,116#method-input,camel).
>
> Mam tak:
> allegro=AllegroWebAPI('sss','login','haslo')
> a nastepnie próbuję wyszukać, przykładowa, błędna próba to:
>
>  >>> print
> allegro.doSearch(allegro.session_id,searchquery='searchString=aaa')
> Traceback (most recent call last):
>    File "<stdin>", line 1, in <module>
>    File "allegro_webapi.py", line 55, in _service
>      return component(*args, **kwargs)
>    File "/usr/lib64/python2.7/site-packages/suds/client.py", line 542,
> in __call__
>      return client.invoke(args, kwargs)
>    File "/usr/lib64/python2.7/site-packages/suds/client.py", line 602,
> in invoke
>      result = self.send(soapenv)
>    File "/usr/lib64/python2.7/site-packages/suds/client.py", line 649,
> in send
>      result = self.failed(binding, e)
>    File "/usr/lib64/python2.7/site-packages/suds/client.py", line 702,
> in failed
>      r, p = binding.get_fault(reply)
>    File "/usr/lib64/python2.7/site-packages/suds/bindings/binding.py",
> line 265, in get_fault
>      raise WebFault(p, faultroot)
> suds.WebFault: Server raised fault: 'Element
> '{https://webapi.allegro.pl/service.php}searchQuery': Missing child
> element(s). Expected is one of (
> {https://webapi.allegro.pl/service.php}searchString,
> {https://webapi.allegro.pl/service.php}searchOptions,
> {https://webapi.allegro.pl/service.php}searchOrder,
> {https://webapi.allegro.pl/service.php}searchOrderType,
> {https://webapi.allegro.pl/service.php}searchCountry,
> {https://webapi.allegro.pl/service.php}searchCategory,
> {https://webapi.allegro.pl/service.php}searchOffset,
> {https://webapi.allegro.pl/service.php}searchCity,
> {https://webapi.allegro.pl/service.php}searchState,
> {https://webapi.allegro.pl/service.php}searchPriceFrom ).
> '
>
>
> Moje pytanie jest takie, jaka jest prawidłowa składnia aby móc zbudować
> i przekazać search-query (wraz z dodatkowymi parametrami) aby otrzymać
> wynik wyszukania?
> Sama metoda jest opisana tak (print allegro.client)
> [...]
> doSearch(xs:string sessionHandle, SearchOptType searchQuery, )
> [...]
>


Mam...:

szukaj= {
         'searchString':'foo',
         'searchOrder':'4',
         'searchOrderType':'1'
}
wynik=allegro.doSearch(sessionHandle=allegro.session_id,searchQuery=szukaj)
Re: [newbie][soap via suds] Jak użyć doSearch z api allegro używając python-allegro-webapi / allegro_webapi
#28498
Author: nierozwazny
Date: Wed, 09 Apr 2014 13:25
8 lines
1757 bytes
W dniu czwartek, 6 marca 2014 15:55:18 UTC+1 użytkownik horhe napisał:
> Moje pytanie jest takie, jaka jest prawidłowa składnia aby móc zbudować 
> i przekazać search-query (wraz z dodatkowymi parametrami) aby otrzymać
> wynik wyszukania?

search_opt = allegro.client.factory.create('SearchOptType')
search_opt.searchString = 'żywot briana'
result = allegro.doSearch(allegro.session_id, search_opt)
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads