Nieuws:

We zijn er weer.

Na lange tijd van afwezigheid zijn we er weer  :laugh:
We hebben alle wachtwoorden gereset, je oude wachtwoord werkt niet meer.Je moet via het "wachtwoord vergeten"-linkje je wachtwoord resetten. Je krijgt hiervoor een mailtje op het adres dat je bij ons geregistreerd hebt.

De komende tijd zijn we nog druk bezig om de rest van de site op te bouwen, dus het kan zijn dat sommige onderdelen (tijdelijk) niet werken.

Welkom, Gast. Alsjeblieft inloggen of registreren.
Heb je de activerings-mail niet ontvangen?

Auteur Topic: Python Stingarray?  (gelezen 339 keer)

Offline MKe

  • Lid
  • Steunpunt: Nee
Python Stingarray?
« Gepost op: 2014/06/25, 13:06:08 »
Wat is in hemelsnaam een stringArray?
Nou ben ik al lang bezig met python, maar ik weet absoluut niet wat een stringArray is. Ik kwam dit tegen bij het gebruik van suds, een library om een soap client te maken.  De server maakt een list en zend het terug. In mijn results kreeg ik zo ineens een stringArray:

De serverside was trouwens gemaakt van dit voorbeeld: http://soaplib.github.io/soaplib/2_0/pages/helloworld.html (gebruikt soaplib 2.0_beta)
import soaplib
from soaplib.core.service import soap,rpc, DefinitionBase
from soaplib.core.model.primitive import String, Integer
from soaplib.core.server import wsgi
from soaplib.core.model.clazz import Array


class HelloWorldService(DefinitionBase):
    @soap(String,Integer,_returns=Array(String))
    def say_hello(self,name,times):
        results = []
        for i in range(0,times):
            results.append('Hello, %s'%name)
        return results

if __name__=='__main__':
    try:
        from wsgiref.simple_server import make_server
        soap_application = soaplib.core.Application([HelloWorldService], 'tns')
        wsgi_application = wsgi.Application(soap_application)
        server = make_server('localhost', 7789, wsgi_application)
        server.serve_forever()
    except ImportError:
        print "Error: example server code requires Python >= 2.5"

En de ontvanger:
>>> from suds.client import Client
>>> hello_client = Client('http://localhost:7789/?wsdl')
>>> result = hello_client.service.say_hello("Dave", 5)
>>> print result

(stringArray){
   string[] =
      "Hello, Dave",
      "Hello, Dave",
      "Hello, Dave",
      "Hello, Dave",
      "Hello, Dave",
 }

Offline Nunslaughter

  • Lid
    • timovwb
  • Steunpunt: Nee
Re: Python Stingarray?
« Reactie #1 Gepost op: 2014/06/25, 20:30:37 »
Blijkbaar een custom instance van Suds, een array van strings zoals de naam al aangeeft.

De StringArray object heeft blijkbaar maar 1 custom attribuut - string. En in dit geval is dat zelfs een list...

print type(result.string)
for item in result.string:
    print item

Offline MKe

  • Lid
  • Steunpunt: Nee
Re: Python Stingarray?
« Reactie #2 Gepost op: 2014/06/28, 14:12:59 »
Bedankt, het lijk idd een eigen object te zijn. Was er ff van in de war.