0001-misc-move-duplicated-soap-utility-functions-to-main-.patch
passerelle/contrib/maarch/soap.py | ||
---|---|---|
28 | 28 |
from suds.transport.http import HttpAuthenticated |
29 | 29 |
from suds.transport import Reply |
30 | 30 |
from suds.client import Client |
31 |
from suds.sudsobject import asdict |
|
31 | ||
32 |
from passerelle.soap import recursive_asdict, client_to_jsondict |
|
33 | ||
32 | 34 | |
33 | 35 |
class Transport(HttpAuthenticated): |
34 | 36 |
def __init__(self, model, **kwargs): |
... | ... | |
64 | 66 |
transport = Transport(model) |
65 | 67 |
return Client(model.wsdl_url, transport=transport, cache=None) |
66 | 68 | |
67 |
def client_to_jsondict(client): |
|
68 |
"""return description of the client, as dict (for json export)""" |
|
69 |
res = {} |
|
70 |
for i, sd in enumerate(client.sd): |
|
71 |
d = {} |
|
72 |
d['tns'] = sd.wsdl.tns[1] |
|
73 |
d['prefixes'] = dict(p for p in sd.prefixes) |
|
74 |
d['ports'] = {} |
|
75 |
for p in sd.ports: |
|
76 |
d['ports'][p[0].name] = {} |
|
77 |
for m in p[1]: |
|
78 |
d['ports'][p[0].name][m[0]] = dict( |
|
79 |
(mp[0], sd.xlate(mp[1])) for mp in m[1]) |
|
80 |
d['types'] = {} |
|
81 |
for t in sd.types: |
|
82 |
ft = client.factory.create(sd.xlate(t[0])) |
|
83 |
d['types'][sd.xlate(t[0])] = unicode(ft) |
|
84 |
res[sd.service.name] = d |
|
85 |
return res |
|
86 | ||
87 |
def recursive_asdict(d): |
|
88 |
"""Convert Suds object into serializable format.""" |
|
89 |
out = {} |
|
90 |
for k, v in asdict(d).iteritems(): |
|
91 |
if hasattr(v, '__keylist__'): |
|
92 |
out[k] = recursive_asdict(v) |
|
93 |
elif isinstance(v, list): |
|
94 |
out[k] = [] |
|
95 |
for item in v: |
|
96 |
if hasattr(item, '__keylist__'): |
|
97 |
out[k].append(recursive_asdict(item)) |
|
98 |
else: |
|
99 |
out[k].append(item) |
|
100 |
else: |
|
101 |
out[k] = v |
|
102 |
return out |
|
103 | 69 |
passerelle/contrib/seisin_by_email/soap.py | ||
---|---|---|
30 | 30 |
from suds.client import Client |
31 | 31 |
from suds.sudsobject import asdict |
32 | 32 | |
33 |
from passerelle.soap import recursive_asdict, client_to_jsondict |
|
34 | ||
33 | 35 | |
34 | 36 |
class Transport(HttpAuthenticated): |
35 | 37 |
def __init__(self, model, **kwargs): |
... | ... | |
64 | 66 |
def get_client(model): |
65 | 67 |
transport = Transport(model) |
66 | 68 |
return Client(model.wsdl_url, transport=transport, cache=None) |
67 | ||
68 |
def client_to_jsondict(client): |
|
69 |
"""return description of the client, as dict (for json export)""" |
|
70 |
res = {} |
|
71 |
for i, sd in enumerate(client.sd): |
|
72 |
d = {} |
|
73 |
d['tns'] = sd.wsdl.tns[1] |
|
74 |
d['prefixes'] = dict(p for p in sd.prefixes) |
|
75 |
d['ports'] = {} |
|
76 |
for p in sd.ports: |
|
77 |
d['ports'][p[0].name] = {} |
|
78 |
for m in p[1]: |
|
79 |
d['ports'][p[0].name][m[0]] = dict( |
|
80 |
(mp[0], sd.xlate(mp[1])) for mp in m[1]) |
|
81 |
d['types'] = {} |
|
82 |
for t in sd.types: |
|
83 |
ft = client.factory.create(sd.xlate(t[0])) |
|
84 |
d['types'][sd.xlate(t[0])] = unicode(ft) |
|
85 |
res[sd.service.name] = d |
|
86 |
return res |
|
87 | ||
88 |
def recursive_asdict(d): |
|
89 |
"""Convert Suds object into serializable format.""" |
|
90 |
out = {} |
|
91 |
for k, v in asdict(d).iteritems(): |
|
92 |
if hasattr(v, '__keylist__'): |
|
93 |
out[k] = recursive_asdict(v) |
|
94 |
elif isinstance(v, list): |
|
95 |
out[k] = [] |
|
96 |
for item in v: |
|
97 |
if hasattr(item, '__keylist__'): |
|
98 |
out[k].append(recursive_asdict(item)) |
|
99 |
else: |
|
100 |
out[k].append(item) |
|
101 |
else: |
|
102 |
out[k] = v |
|
103 |
return out |
passerelle/contrib/teamnet_axel/soap.py | ||
---|---|---|
27 | 27 |
from suds.client import Client |
28 | 28 |
from suds.sudsobject import asdict |
29 | 29 | |
30 |
from passerelle.soap import recursive_asdict, client_to_jsondict |
|
31 | ||
30 | 32 | |
31 | 33 |
class Transport(HttpAuthenticated): |
32 | 34 | |
... | ... | |
64 | 66 |
return Client(model.wsdl_url, transport=transport, cache=None) |
65 | 67 | |
66 | 68 | |
67 |
def client_to_jsondict(client): |
|
68 |
"""return description of the client, as dict (for json export)""" |
|
69 |
res = {} |
|
70 |
for i, sd in enumerate(client.sd): |
|
71 |
d = {} |
|
72 |
d['tns'] = sd.wsdl.tns[1] |
|
73 |
d['prefixes'] = dict(p for p in sd.prefixes) |
|
74 |
d['ports'] = {} |
|
75 |
for p in sd.ports: |
|
76 |
d['ports'][p[0].name] = {} |
|
77 |
for m in p[1]: |
|
78 |
d['ports'][p[0].name][m[0]] = dict( |
|
79 |
(mp[0], sd.xlate(mp[1])) for mp in m[1]) |
|
80 |
d['types'] = {} |
|
81 |
for t in sd.types: |
|
82 |
ft = client.factory.create(sd.xlate(t[0])) |
|
83 |
d['types'][sd.xlate(t[0])] = unicode(ft) |
|
84 |
res[sd.service.name] = d |
|
85 |
return res |
|
86 | ||
87 | ||
88 |
def recursive_asdict(d): |
|
89 |
"""Convert Suds object into serializable format.""" |
|
90 |
out = {} |
|
91 |
for k, v in asdict(d).iteritems(): |
|
92 |
if hasattr(v, '__keylist__'): |
|
93 |
out[k] = recursive_asdict(v) |
|
94 |
elif isinstance(v, list): |
|
95 |
out[k] = [] |
|
96 |
for item in v: |
|
97 |
if hasattr(item, '__keylist__'): |
|
98 |
out[k].append(recursive_asdict(item)) |
|
99 |
else: |
|
100 |
out[k].append(item) |
|
101 |
else: |
|
102 |
out[k] = v |
|
103 |
return out |
|
104 | ||
105 | ||
106 | 69 |
def xml_to_dict(result): |
107 | 70 |
"""Converts AXEL simple XML responses into dict()""" |
108 | 71 |
d = {} |
passerelle/soap.py | ||
---|---|---|
6 | 6 |
from suds.client import Client |
7 | 7 |
from suds.transport.http import HttpAuthenticated |
8 | 8 |
from suds.transport import Reply |
9 |
from suds.sudsobject import asdict |
|
9 | 10 | |
10 | 11 | |
11 | 12 |
class Transport(HttpAuthenticated): |
... | ... | |
116 | 117 |
domains=self.domains), |
117 | 118 |
plugins=self.plugins, |
118 | 119 |
cache=self.cache) |
120 | ||
121 |
def client_to_jsondict(client): |
|
122 |
"""return description of the client, as dict (for json export)""" |
|
123 |
res = {} |
|
124 |
for i, sd in enumerate(client.sd): |
|
125 |
d = {} |
|
126 |
d['tns'] = sd.wsdl.tns[1] |
|
127 |
d['prefixes'] = dict(p for p in sd.prefixes) |
|
128 |
d['ports'] = {} |
|
129 |
for p in sd.ports: |
|
130 |
d['ports'][p[0].name] = {} |
|
131 |
for m in p[1]: |
|
132 |
d['ports'][p[0].name][m[0]] = dict( |
|
133 |
(mp[0], sd.xlate(mp[1])) for mp in m[1]) |
|
134 |
d['types'] = {} |
|
135 |
for t in sd.types: |
|
136 |
ft = client.factory.create(sd.xlate(t[0])) |
|
137 |
d['types'][sd.xlate(t[0])] = unicode(ft) |
|
138 |
res[sd.service.name] = d |
|
139 |
return res |
|
140 | ||
141 |
def recursive_asdict(d): |
|
142 |
"""Convert Suds object into serializable format.""" |
|
143 |
out = {} |
|
144 |
for k, v in asdict(d).iteritems(): |
|
145 |
if hasattr(v, '__keylist__'): |
|
146 |
out[k] = recursive_asdict(v) |
|
147 |
elif isinstance(v, list): |
|
148 |
out[k] = [] |
|
149 |
for item in v: |
|
150 |
if hasattr(item, '__keylist__'): |
|
151 |
out[k].append(recursive_asdict(item)) |
|
152 |
else: |
|
153 |
out[k].append(item) |
|
154 |
else: |
|
155 |
out[k] = v |
|
156 |
return out |
|
119 |
- |