pythonremotingpyamfkeyword-argument

Passing in **kwargs from Flex over PyAMF


Anyone know if it is easily possible to send **kwargs over PyAMF from NetConnection.call()? I would like it.

I could write a wrapper around the actual function and expose that and perform some parsing manually to determine the kwargs to pass in, but I don't want to do that. I will just use a normal argument list in that case.


Solution

  • Whilst ActionScript has the *args construct (params ...) there is no equivalent to **kwargs, although if you do need to send arbitrary named arguments, then you can always send a dict as a positional argument to the service. E.g.

    def some_service_function(kwargs): # <- note the lack of **
        foo = kwargs.get('foo')
        bar = kwargs.get('bar')
    

    And the calling ActionScript:

    nc.call("some_service_function", {foo: "some", bar: "thing"})