[Soap-Python] Pulling my branch
burak.arslan at arskom.com.tr
burak.arslan at arskom.com.tr
Thu Dec 9 22:50:59 CET 2010
On Thu, 9 Dec 2010 15:05:01 -0600, Brad Allen <bradallen137 at gmail.com>
wrote:
> Folks, this is the time for changes that break backward
> compatibility.
> Since we have not yet released 2.0 beta, there is still time to get
> in
> those kinds of changes. After the 2.0 beta release, changes that
> break
> backward compatibility should be deferred to the next major release
> (3.0).
>
> I'm all in favor of getting rid of the unnecessary underscores in
> parameter names; those are supposed to be used for private methods,
> so
> I don't see how they make sense for keyword parameters. Maybe someone
> with greater historical perspective could chime in an explain the
> thinking?
>
_returns and its ilk have an underscore because they are considered to
be keywords with special meanings. i think the plan was to have
@rpc(some_param=String, some_other=Double, _returns=SomeClass)
def my_function(**kwargs):
in an effort to avoid duplication in definitions. you can still do it,
i think it looks nice.
burak
> Also, for the __attributes__, those are generally reserved for Python
> itself, right? A lot of framework developers use them but I don't
> think it's a good idea, and not in keeping with PEP 8.
>
>>From PEP 8, the Python Style Guide at
>> http://www.python.org/dev/peps/pep-0008/
>
> - __double_leading_and_trailing_underscore__: "magic" objects or
> attributes that live in user-controlled namespaces. E.g.
> __init__,
> __import__ or __file__. Never invent such names; only use them
> as documented.
>
> On Thu, Dec 9, 2010 at 2:48 PM, Chris Austin <chris at sydneysys.com>
> wrote:
>> On Thu, Dec 9, 2010 at 2:14 PM, Tres Seaver <tseaver at palladion.com>
>> wrote:
>>>
>>> -----BEGIN PGP SIGNED MESSAGE-----
>>> Hash: SHA1
>>>
>>> On 12/09/2010 12:18 PM, Chris Austin wrote:
>>>
>>> > For some reason I didn't get an email for the pull request. Give
>>> me a
>>> > little bit and I'll take a look at it.
>>>
>>> Thanks for merging it! I've got more changes coming, some of which
>>> need
>>> some discussion:
>>>
>>> 1. I want method descriptors to keep the list of faults passed to
>>> the
>>> 'rpc' decorator. I have this one working already.
>>>
>>
>> This would be fine with me. While we are at it, is everybody fine
>> with
>> dropping the single underscore from the decorator for items like
>> _returns?
>> I am asking because I am in the mist of a huge overhaul for the wsdl
>> engine
>> along with some supporting changes to the rpc decorator.
>>
>>>
>>> 2. I want to emit the WSDL for faults of operations: types,
>>> messages,
>>> and parts. I'm part way hacking through this. AFAICT,
>>> application-
>>> defined faults are effectively unused: for instance, calling
>>> 'fault.add_to_schema(schema_entries)' blows up because the
>>> emitted
>>> WSDL is broken. Can anyone contradict me, here? I.e., is anyone
>>> using application-defined faults at all?
>>
>> This sounds right with the new tests I have been writing around the
>> wsdl
>> engine. There are lots of other little issues like it currently
>> stuffing
>> all of the services into a single service named after the App .
>>
>>>
>>> 3. I want some way to suppress the wrapping of returned objects in
>>> sequences (see issue 4,
>>> https://github.com/soaplib/soaplib/issues#issue/4). I'm thinking
>>> of maybe spelling that as a '_returns_direct' argument to
>>> 'rpc()'.
>>>
>>> For my enlightenment: does anybody know the rationale for adding
>>> the
>>> sequence wrapper?
>>
>> I can't comment on the historical decisions however; I just don't
>> know but I
>> can make up stuff if needed :)
>> This sounds fine with me. Let's think about dropping the
>> underscore on
>> the parameter however. Does anybody have an objection for altering
>> the
>> syntax in the rpc decorator slightly
>> currently -> @rpc(String, Integer, Double, ..., _returns=String)
>> proposed -> @rpc(String, Integer, Double, ..., _returns=String)
>>
>> Also, I'd like to modify the way the instances of ClassSerializer
>> declare
>> class attributes by dropping the double underscore.
>> for example currently things look like this:
>> class MyModel(ClassSerializer):
>> __namespace__ = 'foo'
>> I'd like to make it cleaner like so:
>> class MyModel(ClassSerializer):
>> namespace = 'foo'
>>
>> Also, to properly support ports and separate services I am
>> currently finishing tests for adding 'ports' and
>> 'service_interface'
>> attributes to DefinitionBase along with a 'port' attribute for the
>> 'rpc' decorator.
>> If no one objects I'll drop the (in my
>> opinion) superfluous underscores.
>> Cheers
>>
>>
>>>
>>> Tres.
>>> - --
>>> ===================================================================
>>> Tres Seaver +1 540-429-0999 tseaver at palladion.com
>>> Palladion Software "Excellence by Design" http://palladion.com
>>> -----BEGIN PGP SIGNATURE-----
>>> Version: GnuPG v1.4.10 (GNU/Linux)
>>> Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/
>>>
>>> iEYEARECAAYFAk0BOJcACgkQ+gerLs4ltQ7dRwCghFeR3QxWHU0Q37bzzuPd7kao
>>> PBsAn2UEl204jYfghXHEmfM4z5LTxHK5
>>> =YuNZ
>>> -----END PGP SIGNATURE-----
>>>
>>> _______________________________________________
>>> Soap mailing list
>>> Soap at python.org
>>> http://mail.python.org/mailman/listinfo/soap
>>
>>
>> _______________________________________________
>> Soap mailing list
>> Soap at python.org
>> http://mail.python.org/mailman/listinfo/soap
>>
>>
> _______________________________________________
> Soap mailing list
> Soap at python.org
> http://mail.python.org/mailman/listinfo/soap
More information about the Soap
mailing list