|
|
|
@ -15,8 +15,10 @@
|
|
|
|
|
# limitations under the License.
|
|
|
|
|
from calculate.core.server.loaded_methods import LoadedMethods
|
|
|
|
|
|
|
|
|
|
from soaplib.serializers.primitive import String, Integer, Boolean
|
|
|
|
|
from soaplib.serializers.primitive import String, Integer, Boolean, string_encoding
|
|
|
|
|
from soaplib.serializers.clazz import Array, ClassSerializer
|
|
|
|
|
from soaplib.serializers import nillable_value, nillable_element
|
|
|
|
|
from soaplib.serializers import string_to_xml
|
|
|
|
|
from soaplib.service import rpc
|
|
|
|
|
import sys
|
|
|
|
|
import pickle
|
|
|
|
@ -47,6 +49,23 @@ class CommonInfo(ClassSerializer):
|
|
|
|
|
Default = Array(String)
|
|
|
|
|
CheckAll = Boolean
|
|
|
|
|
|
|
|
|
|
class LazyString(object):
|
|
|
|
|
pass
|
|
|
|
|
|
|
|
|
|
def lazyable(cl):
|
|
|
|
|
def to_xml(cls, value, tns, parent_elt, name='retval'):
|
|
|
|
|
if isinstance(value, LazyString):
|
|
|
|
|
value = str(value)
|
|
|
|
|
if not isinstance(value, unicode):
|
|
|
|
|
value = unicode(value, string_encoding)
|
|
|
|
|
|
|
|
|
|
string_to_xml(cls, value, tns, parent_elt, name)
|
|
|
|
|
|
|
|
|
|
cl.to_xml = classmethod(nillable_value(to_xml))
|
|
|
|
|
return cl
|
|
|
|
|
|
|
|
|
|
String = lazyable(String)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class DataVarsSerializer(ClassSerializer):
|
|
|
|
|
"""Serializer for datavars types"""
|
|
|
|
@ -73,7 +92,7 @@ class DataVarsSerializer(ClassSerializer):
|
|
|
|
|
if type(value) in (list, tuple):
|
|
|
|
|
return [""] + map(lambda x: (",".join(x)
|
|
|
|
|
if type(x) in (list, tuple)
|
|
|
|
|
else str(x)),
|
|
|
|
|
else x),
|
|
|
|
|
value)
|
|
|
|
|
else:
|
|
|
|
|
return value
|
|
|
|
|