Hi,

I'm trying to implement a soap interface that will allow me to pass
pure sqlalchemy objects as a reponse. I'm using the declarative based
table definition and a soaplib library to do that. The project is a
pylons project.

The problem is that when i do:

from project.model.meta import Base # declarative base
from soaplib.serializers.clazz import ClassSerializer
from soaplib.serializers.primitive import Integer

<quote>
class Resource(Base, ClassSerializer):

# ...field definitions follow...

# then i define soap types of the fields
class types:
        id     = Integer
        subid      = Integer

</quote>

I had a problem with multiple __metaclass__ definitions, which i
overcame with this snippet:

http://code.activestate.com/recipes/204197-solving-the-metaclass-conflict/

so I added:

__metaclass__ = classmaker()

after:

class Resource(Base, ClassSerializer):

and the problem was solved. But now in my controller, when I try to
return this object:

<quote>
    @soap_method(soap_str, _returns = Resource)
    def get(self, name):
        agent =
db_session.query(Resource).filter(Resource.name==name).first()
        return agent
</quote>

I get an error:

type object 'Resource' has no attribute 'soap_members'

which is set by the soaplib's ClassSerializer's __metaclass__ in
theory (I looked through the code). So it seems that the multiple
__metaclass__ hack (mentioned above) is not firing the __call__ method
of ClassSerializer's __metaclass__

Does any one have any idea how to overcome that? Is it even possible?

-- 
You received this message because you are subscribed to the Google Groups 
"sqlalchemy" group.
To post to this group, send email to sqlalch...@googlegroups.com.
To unsubscribe from this group, send email to 
sqlalchemy+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/sqlalchemy?hl=en.

Reply via email to