/usr/share/pyshared/ZSI/TCapache.py is in python-zsi 2.1~a1-3.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 | # $Header$
'''Apache typecodes.
'''
from ZSI import _copyright, _child_elements, _get_idstr
from ZSI.TC import TypeCode, Struct as _Struct, Any as _Any
class Apache:
NS = "http://xml.apache.org/xml-soap"
class _Map(TypeCode):
'''Apache's "Map" type.
'''
parselist = [ (Apache.NS, 'Map') ]
def __init__(self, pname=None, aslist=0, **kw):
TypeCode.__init__(self, pname, **kw)
self.aslist = aslist
self.tc = _Struct(None, [ _Any('key'), _Any('value') ], inline=1)
def parse(self, elt, ps):
self.checkname(elt, ps)
if self.nilled(elt, ps): return None
p = self.tc.parse
if self.aslist:
v = []
for c in _child_elements(elt):
d = p(c, ps)
v.append((d['key'], d['value']))
else:
v = {}
for c in _child_elements(elt):
d = p(c, ps)
v[d['key']] = d['value']
return v
def serialize(self, elt, sw, pyobj, name=None, **kw):
objid = _get_idstr(pyobj)
n = name or self.pname or ('E' + objid)
# nillable
el = elt.createAppendElement(self.nspname, n)
if self.nillable is True and pyobj is None:
self.serialize_as_nil(el)
return None
# other attributes
self.set_attributes(el, pyobj)
# soap href attribute
unique = self.unique or kw.get('unique', False)
if unique is False and sw.Known(orig or pyobj):
self.set_attribute_href(el, objid)
return None
# xsi:type attribute
if kw.get('typed', self.typed) is True:
self.set_attribute_xsi_type(el, **kw)
# soap id attribute
if self.unique is False:
self.set_attribute_id(el, objid)
if self.aslist:
for k,v in pyobj:
self.tc.serialize(el, sw, {'key': k, 'value': v}, name='item')
else:
for k,v in pyobj.items():
self.tc.serialize(el, sw, {'key': k, 'value': v}, name='item')
Apache.Map = _Map
if __name__ == '__main__': print _copyright
|