karrio-aramex 2025.5rc34__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- karrio/mappers/aramex/__init__.py +3 -0
- karrio/mappers/aramex/mapper.py +20 -0
- karrio/mappers/aramex/proxy.py +22 -0
- karrio/mappers/aramex/settings.py +24 -0
- karrio/plugins/aramex/__init__.py +24 -0
- karrio/providers/aramex/__init__.py +24 -0
- karrio/providers/aramex/error.py +23 -0
- karrio/providers/aramex/tracking.py +103 -0
- karrio/providers/aramex/units.py +46 -0
- karrio/providers/aramex/utils.py +48 -0
- karrio/schemas/aramex/__init__.py +0 -0
- karrio/schemas/aramex/array_of_string.py +3484 -0
- karrio/schemas/aramex/datatypes.py +1469 -0
- karrio/schemas/aramex/location.py +5809 -0
- karrio/schemas/aramex/rates.py +5526 -0
- karrio/schemas/aramex/shipping.py +11642 -0
- karrio/schemas/aramex/tracking.py +4152 -0
- karrio_aramex-2025.5rc34.dist-info/METADATA +44 -0
- karrio_aramex-2025.5rc34.dist-info/RECORD +22 -0
- karrio_aramex-2025.5rc34.dist-info/WHEEL +5 -0
- karrio_aramex-2025.5rc34.dist-info/entry_points.txt +2 -0
- karrio_aramex-2025.5rc34.dist-info/top_level.txt +3 -0
|
@@ -0,0 +1,3484 @@
|
|
|
1
|
+
#!/usr/bin/env python
|
|
2
|
+
# -*- coding: utf-8 -*-
|
|
3
|
+
|
|
4
|
+
#
|
|
5
|
+
# Generated Thu Feb 11 08:51:08 2021 by generateDS.py version 2.37.15.
|
|
6
|
+
# Python 3.8.6 (v3.8.6:db455296be, Sep 23 2020, 13:31:39) [Clang 6.0 (clang-600.0.57)]
|
|
7
|
+
#
|
|
8
|
+
# Command line options:
|
|
9
|
+
# ('--no-namespace-defs', '')
|
|
10
|
+
# ('-o', './aramex_lib/array_of_string.py')
|
|
11
|
+
#
|
|
12
|
+
# Command line arguments:
|
|
13
|
+
# ./schemas/array_of_string.xsd
|
|
14
|
+
#
|
|
15
|
+
# Command line:
|
|
16
|
+
# /Users/danielkobina/Workspace/project/karrio-carriers/.venv/karrio-carriers/bin/generateDS --no-namespace-defs -o "./aramex_lib/array_of_string.py" ./schemas/array_of_string.xsd
|
|
17
|
+
#
|
|
18
|
+
# Current working directory (os.getcwd()):
|
|
19
|
+
# aramex
|
|
20
|
+
#
|
|
21
|
+
|
|
22
|
+
import sys
|
|
23
|
+
try:
|
|
24
|
+
ModulenotfoundExp_ = ModuleNotFoundError
|
|
25
|
+
except NameError:
|
|
26
|
+
ModulenotfoundExp_ = ImportError
|
|
27
|
+
from six.moves import zip_longest
|
|
28
|
+
import os
|
|
29
|
+
import re as re_
|
|
30
|
+
import base64
|
|
31
|
+
import datetime as datetime_
|
|
32
|
+
import decimal as decimal_
|
|
33
|
+
try:
|
|
34
|
+
from lxml import etree as etree_
|
|
35
|
+
except ModulenotfoundExp_ :
|
|
36
|
+
from xml.etree import ElementTree as etree_
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
Validate_simpletypes_ = True
|
|
40
|
+
SaveElementTreeNode = True
|
|
41
|
+
if sys.version_info.major == 2:
|
|
42
|
+
BaseStrType_ = basestring
|
|
43
|
+
else:
|
|
44
|
+
BaseStrType_ = str
|
|
45
|
+
|
|
46
|
+
|
|
47
|
+
def parsexml_(infile, parser=None, **kwargs):
|
|
48
|
+
if parser is None:
|
|
49
|
+
# Use the lxml ElementTree compatible parser so that, e.g.,
|
|
50
|
+
# we ignore comments.
|
|
51
|
+
try:
|
|
52
|
+
parser = etree_.ETCompatXMLParser()
|
|
53
|
+
except AttributeError:
|
|
54
|
+
# fallback to xml.etree
|
|
55
|
+
parser = etree_.XMLParser()
|
|
56
|
+
try:
|
|
57
|
+
if isinstance(infile, os.PathLike):
|
|
58
|
+
infile = os.path.join(infile)
|
|
59
|
+
except AttributeError:
|
|
60
|
+
pass
|
|
61
|
+
doc = etree_.parse(infile, parser=parser, **kwargs)
|
|
62
|
+
return doc
|
|
63
|
+
|
|
64
|
+
def parsexmlstring_(instring, parser=None, **kwargs):
|
|
65
|
+
if parser is None:
|
|
66
|
+
# Use the lxml ElementTree compatible parser so that, e.g.,
|
|
67
|
+
# we ignore comments.
|
|
68
|
+
try:
|
|
69
|
+
parser = etree_.ETCompatXMLParser()
|
|
70
|
+
except AttributeError:
|
|
71
|
+
# fallback to xml.etree
|
|
72
|
+
parser = etree_.XMLParser()
|
|
73
|
+
element = etree_.fromstring(instring, parser=parser, **kwargs)
|
|
74
|
+
return element
|
|
75
|
+
|
|
76
|
+
#
|
|
77
|
+
# Namespace prefix definition table (and other attributes, too)
|
|
78
|
+
#
|
|
79
|
+
# The module generatedsnamespaces, if it is importable, must contain
|
|
80
|
+
# a dictionary named GeneratedsNamespaceDefs. This Python dictionary
|
|
81
|
+
# should map element type names (strings) to XML schema namespace prefix
|
|
82
|
+
# definitions. The export method for any class for which there is
|
|
83
|
+
# a namespace prefix definition, will export that definition in the
|
|
84
|
+
# XML representation of that element. See the export method of
|
|
85
|
+
# any generated element type class for an example of the use of this
|
|
86
|
+
# table.
|
|
87
|
+
# A sample table is:
|
|
88
|
+
#
|
|
89
|
+
# # File: generatedsnamespaces.py
|
|
90
|
+
#
|
|
91
|
+
# GenerateDSNamespaceDefs = {
|
|
92
|
+
# "ElementtypeA": "http://www.xxx.com/namespaceA",
|
|
93
|
+
# "ElementtypeB": "http://www.xxx.com/namespaceB",
|
|
94
|
+
# }
|
|
95
|
+
#
|
|
96
|
+
# Additionally, the generatedsnamespaces module can contain a python
|
|
97
|
+
# dictionary named GenerateDSNamespaceTypePrefixes that associates element
|
|
98
|
+
# types with the namespace prefixes that are to be added to the
|
|
99
|
+
# "xsi:type" attribute value. See the exportAttributes method of
|
|
100
|
+
# any generated element type and the generation of "xsi:type" for an
|
|
101
|
+
# example of the use of this table.
|
|
102
|
+
# An example table:
|
|
103
|
+
#
|
|
104
|
+
# # File: generatedsnamespaces.py
|
|
105
|
+
#
|
|
106
|
+
# GenerateDSNamespaceTypePrefixes = {
|
|
107
|
+
# "ElementtypeC": "aaa:",
|
|
108
|
+
# "ElementtypeD": "bbb:",
|
|
109
|
+
# }
|
|
110
|
+
#
|
|
111
|
+
|
|
112
|
+
try:
|
|
113
|
+
from generatedsnamespaces import GenerateDSNamespaceDefs as GenerateDSNamespaceDefs_
|
|
114
|
+
except ModulenotfoundExp_ :
|
|
115
|
+
GenerateDSNamespaceDefs_ = {}
|
|
116
|
+
try:
|
|
117
|
+
from generatedsnamespaces import GenerateDSNamespaceTypePrefixes as GenerateDSNamespaceTypePrefixes_
|
|
118
|
+
except ModulenotfoundExp_ :
|
|
119
|
+
GenerateDSNamespaceTypePrefixes_ = {}
|
|
120
|
+
|
|
121
|
+
#
|
|
122
|
+
# You can replace the following class definition by defining an
|
|
123
|
+
# importable module named "generatedscollector" containing a class
|
|
124
|
+
# named "GdsCollector". See the default class definition below for
|
|
125
|
+
# clues about the possible content of that class.
|
|
126
|
+
#
|
|
127
|
+
try:
|
|
128
|
+
from generatedscollector import GdsCollector as GdsCollector_
|
|
129
|
+
except ModulenotfoundExp_ :
|
|
130
|
+
|
|
131
|
+
class GdsCollector_(object):
|
|
132
|
+
|
|
133
|
+
def __init__(self, messages=None):
|
|
134
|
+
if messages is None:
|
|
135
|
+
self.messages = []
|
|
136
|
+
else:
|
|
137
|
+
self.messages = messages
|
|
138
|
+
|
|
139
|
+
def add_message(self, msg):
|
|
140
|
+
self.messages.append(msg)
|
|
141
|
+
|
|
142
|
+
def get_messages(self):
|
|
143
|
+
return self.messages
|
|
144
|
+
|
|
145
|
+
def clear_messages(self):
|
|
146
|
+
self.messages = []
|
|
147
|
+
|
|
148
|
+
def print_messages(self):
|
|
149
|
+
for msg in self.messages:
|
|
150
|
+
print("Warning: {}".format(msg))
|
|
151
|
+
|
|
152
|
+
def write_messages(self, outstream):
|
|
153
|
+
for msg in self.messages:
|
|
154
|
+
outstream.write("Warning: {}\n".format(msg))
|
|
155
|
+
|
|
156
|
+
|
|
157
|
+
#
|
|
158
|
+
# The super-class for enum types
|
|
159
|
+
#
|
|
160
|
+
|
|
161
|
+
try:
|
|
162
|
+
from enum import Enum
|
|
163
|
+
except ModulenotfoundExp_ :
|
|
164
|
+
Enum = object
|
|
165
|
+
|
|
166
|
+
#
|
|
167
|
+
# The root super-class for element type classes
|
|
168
|
+
#
|
|
169
|
+
# Calls to the methods in these classes are generated by generateDS.py.
|
|
170
|
+
# You can replace these methods by re-implementing the following class
|
|
171
|
+
# in a module named generatedssuper.py.
|
|
172
|
+
|
|
173
|
+
try:
|
|
174
|
+
from generatedssuper import GeneratedsSuper
|
|
175
|
+
except ModulenotfoundExp_ as exp:
|
|
176
|
+
|
|
177
|
+
class GeneratedsSuper(object):
|
|
178
|
+
__hash__ = object.__hash__
|
|
179
|
+
tzoff_pattern = re_.compile(r'(\+|-)((0\d|1[0-3]):[0-5]\d|14:00)$')
|
|
180
|
+
class _FixedOffsetTZ(datetime_.tzinfo):
|
|
181
|
+
def __init__(self, offset, name):
|
|
182
|
+
self.__offset = datetime_.timedelta(minutes=offset)
|
|
183
|
+
self.__name = name
|
|
184
|
+
def utcoffset(self, dt):
|
|
185
|
+
return self.__offset
|
|
186
|
+
def tzname(self, dt):
|
|
187
|
+
return self.__name
|
|
188
|
+
def dst(self, dt):
|
|
189
|
+
return None
|
|
190
|
+
def gds_format_string(self, input_data, input_name=''):
|
|
191
|
+
return input_data
|
|
192
|
+
def gds_parse_string(self, input_data, node=None, input_name=''):
|
|
193
|
+
return input_data
|
|
194
|
+
def gds_validate_string(self, input_data, node=None, input_name=''):
|
|
195
|
+
if not input_data:
|
|
196
|
+
return ''
|
|
197
|
+
else:
|
|
198
|
+
return input_data
|
|
199
|
+
def gds_format_base64(self, input_data, input_name=''):
|
|
200
|
+
return base64.b64encode(input_data)
|
|
201
|
+
def gds_validate_base64(self, input_data, node=None, input_name=''):
|
|
202
|
+
return input_data
|
|
203
|
+
def gds_format_integer(self, input_data, input_name=''):
|
|
204
|
+
return '%d' % input_data
|
|
205
|
+
def gds_parse_integer(self, input_data, node=None, input_name=''):
|
|
206
|
+
try:
|
|
207
|
+
ival = int(input_data)
|
|
208
|
+
except (TypeError, ValueError) as exp:
|
|
209
|
+
raise_parse_error(node, 'Requires integer value: %s' % exp)
|
|
210
|
+
return ival
|
|
211
|
+
def gds_validate_integer(self, input_data, node=None, input_name=''):
|
|
212
|
+
try:
|
|
213
|
+
value = int(input_data)
|
|
214
|
+
except (TypeError, ValueError):
|
|
215
|
+
raise_parse_error(node, 'Requires integer value')
|
|
216
|
+
return value
|
|
217
|
+
def gds_format_integer_list(self, input_data, input_name=''):
|
|
218
|
+
if len(input_data) > 0 and not isinstance(input_data[0], BaseStrType_):
|
|
219
|
+
input_data = [str(s) for s in input_data]
|
|
220
|
+
return '%s' % ' '.join(input_data)
|
|
221
|
+
def gds_validate_integer_list(
|
|
222
|
+
self, input_data, node=None, input_name=''):
|
|
223
|
+
values = input_data.split()
|
|
224
|
+
for value in values:
|
|
225
|
+
try:
|
|
226
|
+
int(value)
|
|
227
|
+
except (TypeError, ValueError):
|
|
228
|
+
raise_parse_error(node, 'Requires sequence of integer values')
|
|
229
|
+
return values
|
|
230
|
+
def gds_format_float(self, input_data, input_name=''):
|
|
231
|
+
return ('%.15f' % input_data).rstrip('0')
|
|
232
|
+
def gds_parse_float(self, input_data, node=None, input_name=''):
|
|
233
|
+
try:
|
|
234
|
+
fval_ = float(input_data)
|
|
235
|
+
except (TypeError, ValueError) as exp:
|
|
236
|
+
raise_parse_error(node, 'Requires float or double value: %s' % exp)
|
|
237
|
+
return fval_
|
|
238
|
+
def gds_validate_float(self, input_data, node=None, input_name=''):
|
|
239
|
+
try:
|
|
240
|
+
value = float(input_data)
|
|
241
|
+
except (TypeError, ValueError):
|
|
242
|
+
raise_parse_error(node, 'Requires float value')
|
|
243
|
+
return value
|
|
244
|
+
def gds_format_float_list(self, input_data, input_name=''):
|
|
245
|
+
if len(input_data) > 0 and not isinstance(input_data[0], BaseStrType_):
|
|
246
|
+
input_data = [str(s) for s in input_data]
|
|
247
|
+
return '%s' % ' '.join(input_data)
|
|
248
|
+
def gds_validate_float_list(
|
|
249
|
+
self, input_data, node=None, input_name=''):
|
|
250
|
+
values = input_data.split()
|
|
251
|
+
for value in values:
|
|
252
|
+
try:
|
|
253
|
+
float(value)
|
|
254
|
+
except (TypeError, ValueError):
|
|
255
|
+
raise_parse_error(node, 'Requires sequence of float values')
|
|
256
|
+
return values
|
|
257
|
+
def gds_format_decimal(self, input_data, input_name=''):
|
|
258
|
+
return_value = '%s' % input_data
|
|
259
|
+
if '.' in return_value:
|
|
260
|
+
return_value = return_value.rstrip('0')
|
|
261
|
+
if return_value.endswith('.'):
|
|
262
|
+
return_value = return_value.rstrip('.')
|
|
263
|
+
return return_value
|
|
264
|
+
def gds_parse_decimal(self, input_data, node=None, input_name=''):
|
|
265
|
+
try:
|
|
266
|
+
decimal_value = decimal_.Decimal(input_data)
|
|
267
|
+
except (TypeError, ValueError):
|
|
268
|
+
raise_parse_error(node, 'Requires decimal value')
|
|
269
|
+
return decimal_value
|
|
270
|
+
def gds_validate_decimal(self, input_data, node=None, input_name=''):
|
|
271
|
+
try:
|
|
272
|
+
value = decimal_.Decimal(input_data)
|
|
273
|
+
except (TypeError, ValueError):
|
|
274
|
+
raise_parse_error(node, 'Requires decimal value')
|
|
275
|
+
return value
|
|
276
|
+
def gds_format_decimal_list(self, input_data, input_name=''):
|
|
277
|
+
if len(input_data) > 0 and not isinstance(input_data[0], BaseStrType_):
|
|
278
|
+
input_data = [str(s) for s in input_data]
|
|
279
|
+
return ' '.join([self.gds_format_decimal(item) for item in input_data])
|
|
280
|
+
def gds_validate_decimal_list(
|
|
281
|
+
self, input_data, node=None, input_name=''):
|
|
282
|
+
values = input_data.split()
|
|
283
|
+
for value in values:
|
|
284
|
+
try:
|
|
285
|
+
decimal_.Decimal(value)
|
|
286
|
+
except (TypeError, ValueError):
|
|
287
|
+
raise_parse_error(node, 'Requires sequence of decimal values')
|
|
288
|
+
return values
|
|
289
|
+
def gds_format_double(self, input_data, input_name=''):
|
|
290
|
+
return '%s' % input_data
|
|
291
|
+
def gds_parse_double(self, input_data, node=None, input_name=''):
|
|
292
|
+
try:
|
|
293
|
+
fval_ = float(input_data)
|
|
294
|
+
except (TypeError, ValueError) as exp:
|
|
295
|
+
raise_parse_error(node, 'Requires double or float value: %s' % exp)
|
|
296
|
+
return fval_
|
|
297
|
+
def gds_validate_double(self, input_data, node=None, input_name=''):
|
|
298
|
+
try:
|
|
299
|
+
value = float(input_data)
|
|
300
|
+
except (TypeError, ValueError):
|
|
301
|
+
raise_parse_error(node, 'Requires double or float value')
|
|
302
|
+
return value
|
|
303
|
+
def gds_format_double_list(self, input_data, input_name=''):
|
|
304
|
+
if len(input_data) > 0 and not isinstance(input_data[0], BaseStrType_):
|
|
305
|
+
input_data = [str(s) for s in input_data]
|
|
306
|
+
return '%s' % ' '.join(input_data)
|
|
307
|
+
def gds_validate_double_list(
|
|
308
|
+
self, input_data, node=None, input_name=''):
|
|
309
|
+
values = input_data.split()
|
|
310
|
+
for value in values:
|
|
311
|
+
try:
|
|
312
|
+
float(value)
|
|
313
|
+
except (TypeError, ValueError):
|
|
314
|
+
raise_parse_error(
|
|
315
|
+
node, 'Requires sequence of double or float values')
|
|
316
|
+
return values
|
|
317
|
+
def gds_format_boolean(self, input_data, input_name=''):
|
|
318
|
+
return ('%s' % input_data).lower()
|
|
319
|
+
def gds_parse_boolean(self, input_data, node=None, input_name=''):
|
|
320
|
+
if input_data in ('true', '1'):
|
|
321
|
+
bval = True
|
|
322
|
+
elif input_data in ('false', '0'):
|
|
323
|
+
bval = False
|
|
324
|
+
else:
|
|
325
|
+
raise_parse_error(node, 'Requires boolean value')
|
|
326
|
+
return bval
|
|
327
|
+
def gds_validate_boolean(self, input_data, node=None, input_name=''):
|
|
328
|
+
if input_data not in (True, 1, False, 0, ):
|
|
329
|
+
raise_parse_error(
|
|
330
|
+
node,
|
|
331
|
+
'Requires boolean value '
|
|
332
|
+
'(one of True, 1, False, 0)')
|
|
333
|
+
return input_data
|
|
334
|
+
def gds_format_boolean_list(self, input_data, input_name=''):
|
|
335
|
+
if len(input_data) > 0 and not isinstance(input_data[0], BaseStrType_):
|
|
336
|
+
input_data = [str(s) for s in input_data]
|
|
337
|
+
return '%s' % ' '.join(input_data)
|
|
338
|
+
def gds_validate_boolean_list(
|
|
339
|
+
self, input_data, node=None, input_name=''):
|
|
340
|
+
values = input_data.split()
|
|
341
|
+
for value in values:
|
|
342
|
+
if value not in (True, 1, False, 0, ):
|
|
343
|
+
raise_parse_error(
|
|
344
|
+
node,
|
|
345
|
+
'Requires sequence of boolean values '
|
|
346
|
+
'(one of True, 1, False, 0)')
|
|
347
|
+
return values
|
|
348
|
+
def gds_validate_datetime(self, input_data, node=None, input_name=''):
|
|
349
|
+
return input_data
|
|
350
|
+
def gds_format_datetime(self, input_data, input_name=''):
|
|
351
|
+
if input_data.microsecond == 0:
|
|
352
|
+
_svalue = '%04d-%02d-%02dT%02d:%02d:%02d' % (
|
|
353
|
+
input_data.year,
|
|
354
|
+
input_data.month,
|
|
355
|
+
input_data.day,
|
|
356
|
+
input_data.hour,
|
|
357
|
+
input_data.minute,
|
|
358
|
+
input_data.second,
|
|
359
|
+
)
|
|
360
|
+
else:
|
|
361
|
+
_svalue = '%04d-%02d-%02dT%02d:%02d:%02d.%s' % (
|
|
362
|
+
input_data.year,
|
|
363
|
+
input_data.month,
|
|
364
|
+
input_data.day,
|
|
365
|
+
input_data.hour,
|
|
366
|
+
input_data.minute,
|
|
367
|
+
input_data.second,
|
|
368
|
+
('%f' % (float(input_data.microsecond) / 1000000))[2:],
|
|
369
|
+
)
|
|
370
|
+
if input_data.tzinfo is not None:
|
|
371
|
+
tzoff = input_data.tzinfo.utcoffset(input_data)
|
|
372
|
+
if tzoff is not None:
|
|
373
|
+
total_seconds = tzoff.seconds + (86400 * tzoff.days)
|
|
374
|
+
if total_seconds == 0:
|
|
375
|
+
_svalue += 'Z'
|
|
376
|
+
else:
|
|
377
|
+
if total_seconds < 0:
|
|
378
|
+
_svalue += '-'
|
|
379
|
+
total_seconds *= -1
|
|
380
|
+
else:
|
|
381
|
+
_svalue += '+'
|
|
382
|
+
hours = total_seconds // 3600
|
|
383
|
+
minutes = (total_seconds - (hours * 3600)) // 60
|
|
384
|
+
_svalue += '{0:02d}:{1:02d}'.format(hours, minutes)
|
|
385
|
+
return _svalue
|
|
386
|
+
@classmethod
|
|
387
|
+
def gds_parse_datetime(cls, input_data):
|
|
388
|
+
tz = None
|
|
389
|
+
if input_data[-1] == 'Z':
|
|
390
|
+
tz = GeneratedsSuper._FixedOffsetTZ(0, 'UTC')
|
|
391
|
+
input_data = input_data[:-1]
|
|
392
|
+
else:
|
|
393
|
+
results = GeneratedsSuper.tzoff_pattern.search(input_data)
|
|
394
|
+
if results is not None:
|
|
395
|
+
tzoff_parts = results.group(2).split(':')
|
|
396
|
+
tzoff = int(tzoff_parts[0]) * 60 + int(tzoff_parts[1])
|
|
397
|
+
if results.group(1) == '-':
|
|
398
|
+
tzoff *= -1
|
|
399
|
+
tz = GeneratedsSuper._FixedOffsetTZ(
|
|
400
|
+
tzoff, results.group(0))
|
|
401
|
+
input_data = input_data[:-6]
|
|
402
|
+
time_parts = input_data.split('.')
|
|
403
|
+
if len(time_parts) > 1:
|
|
404
|
+
micro_seconds = int(float('0.' + time_parts[1]) * 1000000)
|
|
405
|
+
input_data = '%s.%s' % (
|
|
406
|
+
time_parts[0], "{}".format(micro_seconds).rjust(6, "0"), )
|
|
407
|
+
dt = datetime_.datetime.strptime(
|
|
408
|
+
input_data, '%Y-%m-%dT%H:%M:%S.%f')
|
|
409
|
+
else:
|
|
410
|
+
dt = datetime_.datetime.strptime(
|
|
411
|
+
input_data, '%Y-%m-%dT%H:%M:%S')
|
|
412
|
+
dt = dt.replace(tzinfo=tz)
|
|
413
|
+
return dt
|
|
414
|
+
def gds_validate_date(self, input_data, node=None, input_name=''):
|
|
415
|
+
return input_data
|
|
416
|
+
def gds_format_date(self, input_data, input_name=''):
|
|
417
|
+
_svalue = '%04d-%02d-%02d' % (
|
|
418
|
+
input_data.year,
|
|
419
|
+
input_data.month,
|
|
420
|
+
input_data.day,
|
|
421
|
+
)
|
|
422
|
+
try:
|
|
423
|
+
if input_data.tzinfo is not None:
|
|
424
|
+
tzoff = input_data.tzinfo.utcoffset(input_data)
|
|
425
|
+
if tzoff is not None:
|
|
426
|
+
total_seconds = tzoff.seconds + (86400 * tzoff.days)
|
|
427
|
+
if total_seconds == 0:
|
|
428
|
+
_svalue += 'Z'
|
|
429
|
+
else:
|
|
430
|
+
if total_seconds < 0:
|
|
431
|
+
_svalue += '-'
|
|
432
|
+
total_seconds *= -1
|
|
433
|
+
else:
|
|
434
|
+
_svalue += '+'
|
|
435
|
+
hours = total_seconds // 3600
|
|
436
|
+
minutes = (total_seconds - (hours * 3600)) // 60
|
|
437
|
+
_svalue += '{0:02d}:{1:02d}'.format(
|
|
438
|
+
hours, minutes)
|
|
439
|
+
except AttributeError:
|
|
440
|
+
pass
|
|
441
|
+
return _svalue
|
|
442
|
+
@classmethod
|
|
443
|
+
def gds_parse_date(cls, input_data):
|
|
444
|
+
tz = None
|
|
445
|
+
if input_data[-1] == 'Z':
|
|
446
|
+
tz = GeneratedsSuper._FixedOffsetTZ(0, 'UTC')
|
|
447
|
+
input_data = input_data[:-1]
|
|
448
|
+
else:
|
|
449
|
+
results = GeneratedsSuper.tzoff_pattern.search(input_data)
|
|
450
|
+
if results is not None:
|
|
451
|
+
tzoff_parts = results.group(2).split(':')
|
|
452
|
+
tzoff = int(tzoff_parts[0]) * 60 + int(tzoff_parts[1])
|
|
453
|
+
if results.group(1) == '-':
|
|
454
|
+
tzoff *= -1
|
|
455
|
+
tz = GeneratedsSuper._FixedOffsetTZ(
|
|
456
|
+
tzoff, results.group(0))
|
|
457
|
+
input_data = input_data[:-6]
|
|
458
|
+
dt = datetime_.datetime.strptime(input_data, '%Y-%m-%d')
|
|
459
|
+
dt = dt.replace(tzinfo=tz)
|
|
460
|
+
return dt.date()
|
|
461
|
+
def gds_validate_time(self, input_data, node=None, input_name=''):
|
|
462
|
+
return input_data
|
|
463
|
+
def gds_format_time(self, input_data, input_name=''):
|
|
464
|
+
if input_data.microsecond == 0:
|
|
465
|
+
_svalue = '%02d:%02d:%02d' % (
|
|
466
|
+
input_data.hour,
|
|
467
|
+
input_data.minute,
|
|
468
|
+
input_data.second,
|
|
469
|
+
)
|
|
470
|
+
else:
|
|
471
|
+
_svalue = '%02d:%02d:%02d.%s' % (
|
|
472
|
+
input_data.hour,
|
|
473
|
+
input_data.minute,
|
|
474
|
+
input_data.second,
|
|
475
|
+
('%f' % (float(input_data.microsecond) / 1000000))[2:],
|
|
476
|
+
)
|
|
477
|
+
if input_data.tzinfo is not None:
|
|
478
|
+
tzoff = input_data.tzinfo.utcoffset(input_data)
|
|
479
|
+
if tzoff is not None:
|
|
480
|
+
total_seconds = tzoff.seconds + (86400 * tzoff.days)
|
|
481
|
+
if total_seconds == 0:
|
|
482
|
+
_svalue += 'Z'
|
|
483
|
+
else:
|
|
484
|
+
if total_seconds < 0:
|
|
485
|
+
_svalue += '-'
|
|
486
|
+
total_seconds *= -1
|
|
487
|
+
else:
|
|
488
|
+
_svalue += '+'
|
|
489
|
+
hours = total_seconds // 3600
|
|
490
|
+
minutes = (total_seconds - (hours * 3600)) // 60
|
|
491
|
+
_svalue += '{0:02d}:{1:02d}'.format(hours, minutes)
|
|
492
|
+
return _svalue
|
|
493
|
+
def gds_validate_simple_patterns(self, patterns, target):
|
|
494
|
+
# pat is a list of lists of strings/patterns.
|
|
495
|
+
# The target value must match at least one of the patterns
|
|
496
|
+
# in order for the test to succeed.
|
|
497
|
+
found1 = True
|
|
498
|
+
for patterns1 in patterns:
|
|
499
|
+
found2 = False
|
|
500
|
+
for patterns2 in patterns1:
|
|
501
|
+
mo = re_.search(patterns2, target)
|
|
502
|
+
if mo is not None and len(mo.group(0)) == len(target):
|
|
503
|
+
found2 = True
|
|
504
|
+
break
|
|
505
|
+
if not found2:
|
|
506
|
+
found1 = False
|
|
507
|
+
break
|
|
508
|
+
return found1
|
|
509
|
+
@classmethod
|
|
510
|
+
def gds_parse_time(cls, input_data):
|
|
511
|
+
tz = None
|
|
512
|
+
if input_data[-1] == 'Z':
|
|
513
|
+
tz = GeneratedsSuper._FixedOffsetTZ(0, 'UTC')
|
|
514
|
+
input_data = input_data[:-1]
|
|
515
|
+
else:
|
|
516
|
+
results = GeneratedsSuper.tzoff_pattern.search(input_data)
|
|
517
|
+
if results is not None:
|
|
518
|
+
tzoff_parts = results.group(2).split(':')
|
|
519
|
+
tzoff = int(tzoff_parts[0]) * 60 + int(tzoff_parts[1])
|
|
520
|
+
if results.group(1) == '-':
|
|
521
|
+
tzoff *= -1
|
|
522
|
+
tz = GeneratedsSuper._FixedOffsetTZ(
|
|
523
|
+
tzoff, results.group(0))
|
|
524
|
+
input_data = input_data[:-6]
|
|
525
|
+
if len(input_data.split('.')) > 1:
|
|
526
|
+
dt = datetime_.datetime.strptime(input_data, '%H:%M:%S.%f')
|
|
527
|
+
else:
|
|
528
|
+
dt = datetime_.datetime.strptime(input_data, '%H:%M:%S')
|
|
529
|
+
dt = dt.replace(tzinfo=tz)
|
|
530
|
+
return dt.time()
|
|
531
|
+
def gds_check_cardinality_(
|
|
532
|
+
self, value, input_name,
|
|
533
|
+
min_occurs=0, max_occurs=1, required=None):
|
|
534
|
+
if value is None:
|
|
535
|
+
length = 0
|
|
536
|
+
elif isinstance(value, list):
|
|
537
|
+
length = len(value)
|
|
538
|
+
else:
|
|
539
|
+
length = 1
|
|
540
|
+
if required is not None :
|
|
541
|
+
if required and length < 1:
|
|
542
|
+
self.gds_collector_.add_message(
|
|
543
|
+
"Required value {}{} is missing".format(
|
|
544
|
+
input_name, self.gds_get_node_lineno_()))
|
|
545
|
+
if length < min_occurs:
|
|
546
|
+
self.gds_collector_.add_message(
|
|
547
|
+
"Number of values for {}{} is below "
|
|
548
|
+
"the minimum allowed, "
|
|
549
|
+
"expected at least {}, found {}".format(
|
|
550
|
+
input_name, self.gds_get_node_lineno_(),
|
|
551
|
+
min_occurs, length))
|
|
552
|
+
elif length > max_occurs:
|
|
553
|
+
self.gds_collector_.add_message(
|
|
554
|
+
"Number of values for {}{} is above "
|
|
555
|
+
"the maximum allowed, "
|
|
556
|
+
"expected at most {}, found {}".format(
|
|
557
|
+
input_name, self.gds_get_node_lineno_(),
|
|
558
|
+
max_occurs, length))
|
|
559
|
+
def gds_validate_builtin_ST_(
|
|
560
|
+
self, validator, value, input_name,
|
|
561
|
+
min_occurs=None, max_occurs=None, required=None):
|
|
562
|
+
if value is not None:
|
|
563
|
+
try:
|
|
564
|
+
validator(value, input_name=input_name)
|
|
565
|
+
except GDSParseError as parse_error:
|
|
566
|
+
self.gds_collector_.add_message(str(parse_error))
|
|
567
|
+
def gds_validate_defined_ST_(
|
|
568
|
+
self, validator, value, input_name,
|
|
569
|
+
min_occurs=None, max_occurs=None, required=None):
|
|
570
|
+
if value is not None:
|
|
571
|
+
try:
|
|
572
|
+
validator(value)
|
|
573
|
+
except GDSParseError as parse_error:
|
|
574
|
+
self.gds_collector_.add_message(str(parse_error))
|
|
575
|
+
def gds_str_lower(self, instring):
|
|
576
|
+
return instring.lower()
|
|
577
|
+
def get_path_(self, node):
|
|
578
|
+
path_list = []
|
|
579
|
+
self.get_path_list_(node, path_list)
|
|
580
|
+
path_list.reverse()
|
|
581
|
+
path = '/'.join(path_list)
|
|
582
|
+
return path
|
|
583
|
+
Tag_strip_pattern_ = re_.compile(r'\{.*\}')
|
|
584
|
+
def get_path_list_(self, node, path_list):
|
|
585
|
+
if node is None:
|
|
586
|
+
return
|
|
587
|
+
tag = GeneratedsSuper.Tag_strip_pattern_.sub('', node.tag)
|
|
588
|
+
if tag:
|
|
589
|
+
path_list.append(tag)
|
|
590
|
+
self.get_path_list_(node.getparent(), path_list)
|
|
591
|
+
def get_class_obj_(self, node, default_class=None):
|
|
592
|
+
class_obj1 = default_class
|
|
593
|
+
if 'xsi' in node.nsmap:
|
|
594
|
+
classname = node.get('{%s}type' % node.nsmap['xsi'])
|
|
595
|
+
if classname is not None:
|
|
596
|
+
names = classname.split(':')
|
|
597
|
+
if len(names) == 2:
|
|
598
|
+
classname = names[1]
|
|
599
|
+
class_obj2 = globals().get(classname)
|
|
600
|
+
if class_obj2 is not None:
|
|
601
|
+
class_obj1 = class_obj2
|
|
602
|
+
return class_obj1
|
|
603
|
+
def gds_build_any(self, node, type_name=None):
|
|
604
|
+
# provide default value in case option --disable-xml is used.
|
|
605
|
+
content = ""
|
|
606
|
+
content = etree_.tostring(node, encoding="unicode")
|
|
607
|
+
return content
|
|
608
|
+
@classmethod
|
|
609
|
+
def gds_reverse_node_mapping(cls, mapping):
|
|
610
|
+
return dict(((v, k) for k, v in mapping.items()))
|
|
611
|
+
@staticmethod
|
|
612
|
+
def gds_encode(instring):
|
|
613
|
+
if sys.version_info.major == 2:
|
|
614
|
+
if ExternalEncoding:
|
|
615
|
+
encoding = ExternalEncoding
|
|
616
|
+
else:
|
|
617
|
+
encoding = 'utf-8'
|
|
618
|
+
return instring.encode(encoding)
|
|
619
|
+
else:
|
|
620
|
+
return instring
|
|
621
|
+
@staticmethod
|
|
622
|
+
def convert_unicode(instring):
|
|
623
|
+
if isinstance(instring, str):
|
|
624
|
+
result = quote_xml(instring)
|
|
625
|
+
elif sys.version_info.major == 2 and isinstance(instring, unicode):
|
|
626
|
+
result = quote_xml(instring).encode('utf8')
|
|
627
|
+
else:
|
|
628
|
+
result = GeneratedsSuper.gds_encode(str(instring))
|
|
629
|
+
return result
|
|
630
|
+
def __eq__(self, other):
|
|
631
|
+
def excl_select_objs_(obj):
|
|
632
|
+
return (obj[0] != 'parent_object_' and
|
|
633
|
+
obj[0] != 'gds_collector_')
|
|
634
|
+
if type(self) != type(other):
|
|
635
|
+
return False
|
|
636
|
+
return all(x == y for x, y in zip_longest(
|
|
637
|
+
filter(excl_select_objs_, self.__dict__.items()),
|
|
638
|
+
filter(excl_select_objs_, other.__dict__.items())))
|
|
639
|
+
def __ne__(self, other):
|
|
640
|
+
return not self.__eq__(other)
|
|
641
|
+
# Django ETL transform hooks.
|
|
642
|
+
def gds_djo_etl_transform(self):
|
|
643
|
+
pass
|
|
644
|
+
def gds_djo_etl_transform_db_obj(self, dbobj):
|
|
645
|
+
pass
|
|
646
|
+
# SQLAlchemy ETL transform hooks.
|
|
647
|
+
def gds_sqa_etl_transform(self):
|
|
648
|
+
return 0, None
|
|
649
|
+
def gds_sqa_etl_transform_db_obj(self, dbobj):
|
|
650
|
+
pass
|
|
651
|
+
def gds_get_node_lineno_(self):
|
|
652
|
+
if (hasattr(self, "gds_elementtree_node_") and
|
|
653
|
+
self.gds_elementtree_node_ is not None):
|
|
654
|
+
return ' near line {}'.format(
|
|
655
|
+
self.gds_elementtree_node_.sourceline)
|
|
656
|
+
else:
|
|
657
|
+
return ""
|
|
658
|
+
|
|
659
|
+
|
|
660
|
+
def getSubclassFromModule_(module, class_):
|
|
661
|
+
'''Get the subclass of a class from a specific module.'''
|
|
662
|
+
name = class_.__name__ + 'Sub'
|
|
663
|
+
if hasattr(module, name):
|
|
664
|
+
return getattr(module, name)
|
|
665
|
+
else:
|
|
666
|
+
return None
|
|
667
|
+
|
|
668
|
+
|
|
669
|
+
#
|
|
670
|
+
# If you have installed IPython you can uncomment and use the following.
|
|
671
|
+
# IPython is available from http://ipython.scipy.org/.
|
|
672
|
+
#
|
|
673
|
+
|
|
674
|
+
## from IPython.Shell import IPShellEmbed
|
|
675
|
+
## args = ''
|
|
676
|
+
## ipshell = IPShellEmbed(args,
|
|
677
|
+
## banner = 'Dropping into IPython',
|
|
678
|
+
## exit_msg = 'Leaving Interpreter, back to program.')
|
|
679
|
+
|
|
680
|
+
# Then use the following line where and when you want to drop into the
|
|
681
|
+
# IPython shell:
|
|
682
|
+
# ipshell('<some message> -- Entering ipshell.\nHit Ctrl-D to exit')
|
|
683
|
+
|
|
684
|
+
#
|
|
685
|
+
# Globals
|
|
686
|
+
#
|
|
687
|
+
|
|
688
|
+
ExternalEncoding = ''
|
|
689
|
+
# Set this to false in order to deactivate during export, the use of
|
|
690
|
+
# name space prefixes captured from the input document.
|
|
691
|
+
UseCapturedNS_ = True
|
|
692
|
+
CapturedNsmap_ = {}
|
|
693
|
+
Tag_pattern_ = re_.compile(r'({.*})?(.*)')
|
|
694
|
+
String_cleanup_pat_ = re_.compile(r"[\n\r\s]+")
|
|
695
|
+
Namespace_extract_pat_ = re_.compile(r'{(.*)}(.*)')
|
|
696
|
+
CDATA_pattern_ = re_.compile(r"<!\[CDATA\[.*?\]\]>", re_.DOTALL)
|
|
697
|
+
|
|
698
|
+
# Change this to redirect the generated superclass module to use a
|
|
699
|
+
# specific subclass module.
|
|
700
|
+
CurrentSubclassModule_ = None
|
|
701
|
+
|
|
702
|
+
#
|
|
703
|
+
# Support/utility functions.
|
|
704
|
+
#
|
|
705
|
+
|
|
706
|
+
|
|
707
|
+
def showIndent(outfile, level, pretty_print=True):
|
|
708
|
+
if pretty_print:
|
|
709
|
+
for idx in range(level):
|
|
710
|
+
outfile.write(' ')
|
|
711
|
+
|
|
712
|
+
|
|
713
|
+
def quote_xml(inStr):
|
|
714
|
+
"Escape markup chars, but do not modify CDATA sections."
|
|
715
|
+
if not inStr:
|
|
716
|
+
return ''
|
|
717
|
+
s1 = (isinstance(inStr, BaseStrType_) and inStr or '%s' % inStr)
|
|
718
|
+
s2 = ''
|
|
719
|
+
pos = 0
|
|
720
|
+
matchobjects = CDATA_pattern_.finditer(s1)
|
|
721
|
+
for mo in matchobjects:
|
|
722
|
+
s3 = s1[pos:mo.start()]
|
|
723
|
+
s2 += quote_xml_aux(s3)
|
|
724
|
+
s2 += s1[mo.start():mo.end()]
|
|
725
|
+
pos = mo.end()
|
|
726
|
+
s3 = s1[pos:]
|
|
727
|
+
s2 += quote_xml_aux(s3)
|
|
728
|
+
return s2
|
|
729
|
+
|
|
730
|
+
|
|
731
|
+
def quote_xml_aux(inStr):
|
|
732
|
+
s1 = inStr.replace('&', '&')
|
|
733
|
+
s1 = s1.replace('<', '<')
|
|
734
|
+
s1 = s1.replace('>', '>')
|
|
735
|
+
return s1
|
|
736
|
+
|
|
737
|
+
|
|
738
|
+
def quote_attrib(inStr):
|
|
739
|
+
s1 = (isinstance(inStr, BaseStrType_) and inStr or '%s' % inStr)
|
|
740
|
+
s1 = s1.replace('&', '&')
|
|
741
|
+
s1 = s1.replace('<', '<')
|
|
742
|
+
s1 = s1.replace('>', '>')
|
|
743
|
+
if '"' in s1:
|
|
744
|
+
if "'" in s1:
|
|
745
|
+
s1 = '"%s"' % s1.replace('"', """)
|
|
746
|
+
else:
|
|
747
|
+
s1 = "'%s'" % s1
|
|
748
|
+
else:
|
|
749
|
+
s1 = '"%s"' % s1
|
|
750
|
+
return s1
|
|
751
|
+
|
|
752
|
+
|
|
753
|
+
def quote_python(inStr):
|
|
754
|
+
s1 = inStr
|
|
755
|
+
if s1.find("'") == -1:
|
|
756
|
+
if s1.find('\n') == -1:
|
|
757
|
+
return "'%s'" % s1
|
|
758
|
+
else:
|
|
759
|
+
return "'''%s'''" % s1
|
|
760
|
+
else:
|
|
761
|
+
if s1.find('"') != -1:
|
|
762
|
+
s1 = s1.replace('"', '\\"')
|
|
763
|
+
if s1.find('\n') == -1:
|
|
764
|
+
return '"%s"' % s1
|
|
765
|
+
else:
|
|
766
|
+
return '"""%s"""' % s1
|
|
767
|
+
|
|
768
|
+
|
|
769
|
+
def get_all_text_(node):
|
|
770
|
+
if node.text is not None:
|
|
771
|
+
text = node.text
|
|
772
|
+
else:
|
|
773
|
+
text = ''
|
|
774
|
+
for child in node:
|
|
775
|
+
if child.tail is not None:
|
|
776
|
+
text += child.tail
|
|
777
|
+
return text
|
|
778
|
+
|
|
779
|
+
|
|
780
|
+
def find_attr_value_(attr_name, node):
|
|
781
|
+
attrs = node.attrib
|
|
782
|
+
attr_parts = attr_name.split(':')
|
|
783
|
+
value = None
|
|
784
|
+
if len(attr_parts) == 1:
|
|
785
|
+
value = attrs.get(attr_name)
|
|
786
|
+
elif len(attr_parts) == 2:
|
|
787
|
+
prefix, name = attr_parts
|
|
788
|
+
if prefix == 'xml':
|
|
789
|
+
namespace = 'http://www.w3.org/XML/1998/namespace'
|
|
790
|
+
else:
|
|
791
|
+
namespace = node.nsmap.get(prefix)
|
|
792
|
+
if namespace is not None:
|
|
793
|
+
value = attrs.get('{%s}%s' % (namespace, name, ))
|
|
794
|
+
return value
|
|
795
|
+
|
|
796
|
+
|
|
797
|
+
def encode_str_2_3(instr):
|
|
798
|
+
return instr
|
|
799
|
+
|
|
800
|
+
|
|
801
|
+
class GDSParseError(Exception):
|
|
802
|
+
pass
|
|
803
|
+
|
|
804
|
+
|
|
805
|
+
def raise_parse_error(node, msg):
|
|
806
|
+
if node is not None:
|
|
807
|
+
msg = '%s (element %s/line %d)' % (msg, node.tag, node.sourceline, )
|
|
808
|
+
raise GDSParseError(msg)
|
|
809
|
+
|
|
810
|
+
|
|
811
|
+
class MixedContainer:
|
|
812
|
+
# Constants for category:
|
|
813
|
+
CategoryNone = 0
|
|
814
|
+
CategoryText = 1
|
|
815
|
+
CategorySimple = 2
|
|
816
|
+
CategoryComplex = 3
|
|
817
|
+
# Constants for content_type:
|
|
818
|
+
TypeNone = 0
|
|
819
|
+
TypeText = 1
|
|
820
|
+
TypeString = 2
|
|
821
|
+
TypeInteger = 3
|
|
822
|
+
TypeFloat = 4
|
|
823
|
+
TypeDecimal = 5
|
|
824
|
+
TypeDouble = 6
|
|
825
|
+
TypeBoolean = 7
|
|
826
|
+
TypeBase64 = 8
|
|
827
|
+
def __init__(self, category, content_type, name, value):
|
|
828
|
+
self.category = category
|
|
829
|
+
self.content_type = content_type
|
|
830
|
+
self.name = name
|
|
831
|
+
self.value = value
|
|
832
|
+
def getCategory(self):
|
|
833
|
+
return self.category
|
|
834
|
+
def getContenttype(self, content_type):
|
|
835
|
+
return self.content_type
|
|
836
|
+
def getValue(self):
|
|
837
|
+
return self.value
|
|
838
|
+
def getName(self):
|
|
839
|
+
return self.name
|
|
840
|
+
def export(self, outfile, level, name, namespace,
|
|
841
|
+
pretty_print=True):
|
|
842
|
+
if self.category == MixedContainer.CategoryText:
|
|
843
|
+
# Prevent exporting empty content as empty lines.
|
|
844
|
+
if self.value.strip():
|
|
845
|
+
outfile.write(self.value)
|
|
846
|
+
elif self.category == MixedContainer.CategorySimple:
|
|
847
|
+
self.exportSimple(outfile, level, name)
|
|
848
|
+
else: # category == MixedContainer.CategoryComplex
|
|
849
|
+
self.value.export(
|
|
850
|
+
outfile, level, namespace, name_=name,
|
|
851
|
+
pretty_print=pretty_print)
|
|
852
|
+
def exportSimple(self, outfile, level, name):
|
|
853
|
+
if self.content_type == MixedContainer.TypeString:
|
|
854
|
+
outfile.write('<%s>%s</%s>' % (
|
|
855
|
+
self.name, self.value, self.name))
|
|
856
|
+
elif self.content_type == MixedContainer.TypeInteger or \
|
|
857
|
+
self.content_type == MixedContainer.TypeBoolean:
|
|
858
|
+
outfile.write('<%s>%d</%s>' % (
|
|
859
|
+
self.name, self.value, self.name))
|
|
860
|
+
elif self.content_type == MixedContainer.TypeFloat or \
|
|
861
|
+
self.content_type == MixedContainer.TypeDecimal:
|
|
862
|
+
outfile.write('<%s>%f</%s>' % (
|
|
863
|
+
self.name, self.value, self.name))
|
|
864
|
+
elif self.content_type == MixedContainer.TypeDouble:
|
|
865
|
+
outfile.write('<%s>%g</%s>' % (
|
|
866
|
+
self.name, self.value, self.name))
|
|
867
|
+
elif self.content_type == MixedContainer.TypeBase64:
|
|
868
|
+
outfile.write('<%s>%s</%s>' % (
|
|
869
|
+
self.name,
|
|
870
|
+
base64.b64encode(self.value),
|
|
871
|
+
self.name))
|
|
872
|
+
def to_etree(self, element, mapping_=None, nsmap_=None):
|
|
873
|
+
if self.category == MixedContainer.CategoryText:
|
|
874
|
+
# Prevent exporting empty content as empty lines.
|
|
875
|
+
if self.value.strip():
|
|
876
|
+
if len(element) > 0:
|
|
877
|
+
if element[-1].tail is None:
|
|
878
|
+
element[-1].tail = self.value
|
|
879
|
+
else:
|
|
880
|
+
element[-1].tail += self.value
|
|
881
|
+
else:
|
|
882
|
+
if element.text is None:
|
|
883
|
+
element.text = self.value
|
|
884
|
+
else:
|
|
885
|
+
element.text += self.value
|
|
886
|
+
elif self.category == MixedContainer.CategorySimple:
|
|
887
|
+
subelement = etree_.SubElement(
|
|
888
|
+
element, '%s' % self.name)
|
|
889
|
+
subelement.text = self.to_etree_simple()
|
|
890
|
+
else: # category == MixedContainer.CategoryComplex
|
|
891
|
+
self.value.to_etree(element)
|
|
892
|
+
def to_etree_simple(self, mapping_=None, nsmap_=None):
|
|
893
|
+
if self.content_type == MixedContainer.TypeString:
|
|
894
|
+
text = self.value
|
|
895
|
+
elif (self.content_type == MixedContainer.TypeInteger or
|
|
896
|
+
self.content_type == MixedContainer.TypeBoolean):
|
|
897
|
+
text = '%d' % self.value
|
|
898
|
+
elif (self.content_type == MixedContainer.TypeFloat or
|
|
899
|
+
self.content_type == MixedContainer.TypeDecimal):
|
|
900
|
+
text = '%f' % self.value
|
|
901
|
+
elif self.content_type == MixedContainer.TypeDouble:
|
|
902
|
+
text = '%g' % self.value
|
|
903
|
+
elif self.content_type == MixedContainer.TypeBase64:
|
|
904
|
+
text = '%s' % base64.b64encode(self.value)
|
|
905
|
+
return text
|
|
906
|
+
def exportLiteral(self, outfile, level, name):
|
|
907
|
+
if self.category == MixedContainer.CategoryText:
|
|
908
|
+
showIndent(outfile, level)
|
|
909
|
+
outfile.write(
|
|
910
|
+
'model_.MixedContainer(%d, %d, "%s", "%s"),\n' % (
|
|
911
|
+
self.category, self.content_type,
|
|
912
|
+
self.name, self.value))
|
|
913
|
+
elif self.category == MixedContainer.CategorySimple:
|
|
914
|
+
showIndent(outfile, level)
|
|
915
|
+
outfile.write(
|
|
916
|
+
'model_.MixedContainer(%d, %d, "%s", "%s"),\n' % (
|
|
917
|
+
self.category, self.content_type,
|
|
918
|
+
self.name, self.value))
|
|
919
|
+
else: # category == MixedContainer.CategoryComplex
|
|
920
|
+
showIndent(outfile, level)
|
|
921
|
+
outfile.write(
|
|
922
|
+
'model_.MixedContainer(%d, %d, "%s",\n' % (
|
|
923
|
+
self.category, self.content_type, self.name,))
|
|
924
|
+
self.value.exportLiteral(outfile, level + 1)
|
|
925
|
+
showIndent(outfile, level)
|
|
926
|
+
outfile.write(')\n')
|
|
927
|
+
|
|
928
|
+
|
|
929
|
+
class MemberSpec_(object):
|
|
930
|
+
def __init__(self, name='', data_type='', container=0,
|
|
931
|
+
optional=0, child_attrs=None, choice=None):
|
|
932
|
+
self.name = name
|
|
933
|
+
self.data_type = data_type
|
|
934
|
+
self.container = container
|
|
935
|
+
self.child_attrs = child_attrs
|
|
936
|
+
self.choice = choice
|
|
937
|
+
self.optional = optional
|
|
938
|
+
def set_name(self, name): self.name = name
|
|
939
|
+
def get_name(self): return self.name
|
|
940
|
+
def set_data_type(self, data_type): self.data_type = data_type
|
|
941
|
+
def get_data_type_chain(self): return self.data_type
|
|
942
|
+
def get_data_type(self):
|
|
943
|
+
if isinstance(self.data_type, list):
|
|
944
|
+
if len(self.data_type) > 0:
|
|
945
|
+
return self.data_type[-1]
|
|
946
|
+
else:
|
|
947
|
+
return 'xs:string'
|
|
948
|
+
else:
|
|
949
|
+
return self.data_type
|
|
950
|
+
def set_container(self, container): self.container = container
|
|
951
|
+
def get_container(self): return self.container
|
|
952
|
+
def set_child_attrs(self, child_attrs): self.child_attrs = child_attrs
|
|
953
|
+
def get_child_attrs(self): return self.child_attrs
|
|
954
|
+
def set_choice(self, choice): self.choice = choice
|
|
955
|
+
def get_choice(self): return self.choice
|
|
956
|
+
def set_optional(self, optional): self.optional = optional
|
|
957
|
+
def get_optional(self): return self.optional
|
|
958
|
+
|
|
959
|
+
|
|
960
|
+
def _cast(typ, value):
|
|
961
|
+
if typ is None or value is None:
|
|
962
|
+
return value
|
|
963
|
+
return typ(value)
|
|
964
|
+
|
|
965
|
+
#
|
|
966
|
+
# Data representation classes.
|
|
967
|
+
#
|
|
968
|
+
|
|
969
|
+
|
|
970
|
+
class ArrayOfstring1(GeneratedsSuper):
|
|
971
|
+
__hash__ = GeneratedsSuper.__hash__
|
|
972
|
+
subclass = None
|
|
973
|
+
superclass = None
|
|
974
|
+
def __init__(self, string=None, gds_collector_=None, **kwargs_):
|
|
975
|
+
self.gds_collector_ = gds_collector_
|
|
976
|
+
self.gds_elementtree_node_ = None
|
|
977
|
+
self.original_tagname_ = None
|
|
978
|
+
self.parent_object_ = kwargs_.get('parent_object_')
|
|
979
|
+
self.ns_prefix_ = None
|
|
980
|
+
if string is None:
|
|
981
|
+
self.string = []
|
|
982
|
+
else:
|
|
983
|
+
self.string = string
|
|
984
|
+
self.string_nsprefix_ = None
|
|
985
|
+
def factory(*args_, **kwargs_):
|
|
986
|
+
if CurrentSubclassModule_ is not None:
|
|
987
|
+
subclass = getSubclassFromModule_(
|
|
988
|
+
CurrentSubclassModule_, ArrayOfstring1)
|
|
989
|
+
if subclass is not None:
|
|
990
|
+
return subclass(*args_, **kwargs_)
|
|
991
|
+
if ArrayOfstring1.subclass:
|
|
992
|
+
return ArrayOfstring1.subclass(*args_, **kwargs_)
|
|
993
|
+
else:
|
|
994
|
+
return ArrayOfstring1(*args_, **kwargs_)
|
|
995
|
+
factory = staticmethod(factory)
|
|
996
|
+
def get_ns_prefix_(self):
|
|
997
|
+
return self.ns_prefix_
|
|
998
|
+
def set_ns_prefix_(self, ns_prefix):
|
|
999
|
+
self.ns_prefix_ = ns_prefix
|
|
1000
|
+
def get_string(self):
|
|
1001
|
+
return self.string
|
|
1002
|
+
def set_string(self, string):
|
|
1003
|
+
self.string = string
|
|
1004
|
+
def add_string(self, value):
|
|
1005
|
+
self.string.append(value)
|
|
1006
|
+
def insert_string_at(self, index, value):
|
|
1007
|
+
self.string.insert(index, value)
|
|
1008
|
+
def replace_string_at(self, index, value):
|
|
1009
|
+
self.string[index] = value
|
|
1010
|
+
def hasContent_(self):
|
|
1011
|
+
if (
|
|
1012
|
+
self.string
|
|
1013
|
+
):
|
|
1014
|
+
return True
|
|
1015
|
+
else:
|
|
1016
|
+
return False
|
|
1017
|
+
def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='ArrayOfstring1', pretty_print=True):
|
|
1018
|
+
imported_ns_def_ = GenerateDSNamespaceDefs_.get('ArrayOfstring1')
|
|
1019
|
+
if imported_ns_def_ is not None:
|
|
1020
|
+
namespacedef_ = imported_ns_def_
|
|
1021
|
+
if pretty_print:
|
|
1022
|
+
eol_ = '\n'
|
|
1023
|
+
else:
|
|
1024
|
+
eol_ = ''
|
|
1025
|
+
if self.original_tagname_ is not None and name_ == 'ArrayOfstring1':
|
|
1026
|
+
name_ = self.original_tagname_
|
|
1027
|
+
if UseCapturedNS_ and self.ns_prefix_:
|
|
1028
|
+
namespaceprefix_ = self.ns_prefix_ + ':'
|
|
1029
|
+
showIndent(outfile, level, pretty_print)
|
|
1030
|
+
outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
|
|
1031
|
+
already_processed = set()
|
|
1032
|
+
self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ArrayOfstring1')
|
|
1033
|
+
if self.hasContent_():
|
|
1034
|
+
outfile.write('>%s' % (eol_, ))
|
|
1035
|
+
self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ArrayOfstring1', pretty_print=pretty_print)
|
|
1036
|
+
showIndent(outfile, level, pretty_print)
|
|
1037
|
+
outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
|
|
1038
|
+
else:
|
|
1039
|
+
outfile.write('/>%s' % (eol_, ))
|
|
1040
|
+
def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ArrayOfstring1'):
|
|
1041
|
+
pass
|
|
1042
|
+
def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='ArrayOfstring1', fromsubclass_=False, pretty_print=True):
|
|
1043
|
+
if pretty_print:
|
|
1044
|
+
eol_ = '\n'
|
|
1045
|
+
else:
|
|
1046
|
+
eol_ = ''
|
|
1047
|
+
for string_ in self.string:
|
|
1048
|
+
namespaceprefix_ = self.string_nsprefix_ + ':' if (UseCapturedNS_ and self.string_nsprefix_) else ''
|
|
1049
|
+
showIndent(outfile, level, pretty_print)
|
|
1050
|
+
outfile.write('<%sstring>%s</%sstring>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(string_), input_name='string')), namespaceprefix_ , eol_))
|
|
1051
|
+
def build(self, node, gds_collector_=None):
|
|
1052
|
+
self.gds_collector_ = gds_collector_
|
|
1053
|
+
if SaveElementTreeNode:
|
|
1054
|
+
self.gds_elementtree_node_ = node
|
|
1055
|
+
already_processed = set()
|
|
1056
|
+
self.ns_prefix_ = node.prefix
|
|
1057
|
+
self.buildAttributes(node, node.attrib, already_processed)
|
|
1058
|
+
for child in node:
|
|
1059
|
+
nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
|
|
1060
|
+
self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
|
|
1061
|
+
return self
|
|
1062
|
+
def buildAttributes(self, node, attrs, already_processed):
|
|
1063
|
+
pass
|
|
1064
|
+
def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
|
|
1065
|
+
if nodeName_ == 'string':
|
|
1066
|
+
value_ = child_.text
|
|
1067
|
+
value_ = self.gds_parse_string(value_, node, 'string')
|
|
1068
|
+
value_ = self.gds_validate_string(value_, node, 'string')
|
|
1069
|
+
self.string.append(value_)
|
|
1070
|
+
self.string_nsprefix_ = child_.prefix
|
|
1071
|
+
# end class ArrayOfstring1
|
|
1072
|
+
|
|
1073
|
+
|
|
1074
|
+
class ArrayOfKeyValueOfstringArrayOfTrackingResultmFAkxlpY2(GeneratedsSuper):
|
|
1075
|
+
__hash__ = GeneratedsSuper.__hash__
|
|
1076
|
+
subclass = None
|
|
1077
|
+
superclass = None
|
|
1078
|
+
def __init__(self, KeyValueOfstringArrayOfTrackingResultmFAkxlpY=None, gds_collector_=None, **kwargs_):
|
|
1079
|
+
self.gds_collector_ = gds_collector_
|
|
1080
|
+
self.gds_elementtree_node_ = None
|
|
1081
|
+
self.original_tagname_ = None
|
|
1082
|
+
self.parent_object_ = kwargs_.get('parent_object_')
|
|
1083
|
+
self.ns_prefix_ = None
|
|
1084
|
+
if KeyValueOfstringArrayOfTrackingResultmFAkxlpY is None:
|
|
1085
|
+
self.KeyValueOfstringArrayOfTrackingResultmFAkxlpY = []
|
|
1086
|
+
else:
|
|
1087
|
+
self.KeyValueOfstringArrayOfTrackingResultmFAkxlpY = KeyValueOfstringArrayOfTrackingResultmFAkxlpY
|
|
1088
|
+
self.KeyValueOfstringArrayOfTrackingResultmFAkxlpY_nsprefix_ = None
|
|
1089
|
+
def factory(*args_, **kwargs_):
|
|
1090
|
+
if CurrentSubclassModule_ is not None:
|
|
1091
|
+
subclass = getSubclassFromModule_(
|
|
1092
|
+
CurrentSubclassModule_, ArrayOfKeyValueOfstringArrayOfTrackingResultmFAkxlpY2)
|
|
1093
|
+
if subclass is not None:
|
|
1094
|
+
return subclass(*args_, **kwargs_)
|
|
1095
|
+
if ArrayOfKeyValueOfstringArrayOfTrackingResultmFAkxlpY2.subclass:
|
|
1096
|
+
return ArrayOfKeyValueOfstringArrayOfTrackingResultmFAkxlpY2.subclass(*args_, **kwargs_)
|
|
1097
|
+
else:
|
|
1098
|
+
return ArrayOfKeyValueOfstringArrayOfTrackingResultmFAkxlpY2(*args_, **kwargs_)
|
|
1099
|
+
factory = staticmethod(factory)
|
|
1100
|
+
def get_ns_prefix_(self):
|
|
1101
|
+
return self.ns_prefix_
|
|
1102
|
+
def set_ns_prefix_(self, ns_prefix):
|
|
1103
|
+
self.ns_prefix_ = ns_prefix
|
|
1104
|
+
def get_KeyValueOfstringArrayOfTrackingResultmFAkxlpY(self):
|
|
1105
|
+
return self.KeyValueOfstringArrayOfTrackingResultmFAkxlpY
|
|
1106
|
+
def set_KeyValueOfstringArrayOfTrackingResultmFAkxlpY(self, KeyValueOfstringArrayOfTrackingResultmFAkxlpY):
|
|
1107
|
+
self.KeyValueOfstringArrayOfTrackingResultmFAkxlpY = KeyValueOfstringArrayOfTrackingResultmFAkxlpY
|
|
1108
|
+
def add_KeyValueOfstringArrayOfTrackingResultmFAkxlpY(self, value):
|
|
1109
|
+
self.KeyValueOfstringArrayOfTrackingResultmFAkxlpY.append(value)
|
|
1110
|
+
def insert_KeyValueOfstringArrayOfTrackingResultmFAkxlpY_at(self, index, value):
|
|
1111
|
+
self.KeyValueOfstringArrayOfTrackingResultmFAkxlpY.insert(index, value)
|
|
1112
|
+
def replace_KeyValueOfstringArrayOfTrackingResultmFAkxlpY_at(self, index, value):
|
|
1113
|
+
self.KeyValueOfstringArrayOfTrackingResultmFAkxlpY[index] = value
|
|
1114
|
+
def hasContent_(self):
|
|
1115
|
+
if (
|
|
1116
|
+
self.KeyValueOfstringArrayOfTrackingResultmFAkxlpY
|
|
1117
|
+
):
|
|
1118
|
+
return True
|
|
1119
|
+
else:
|
|
1120
|
+
return False
|
|
1121
|
+
def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='ArrayOfKeyValueOfstringArrayOfTrackingResultmFAkxlpY2', pretty_print=True):
|
|
1122
|
+
imported_ns_def_ = GenerateDSNamespaceDefs_.get('ArrayOfKeyValueOfstringArrayOfTrackingResultmFAkxlpY2')
|
|
1123
|
+
if imported_ns_def_ is not None:
|
|
1124
|
+
namespacedef_ = imported_ns_def_
|
|
1125
|
+
if pretty_print:
|
|
1126
|
+
eol_ = '\n'
|
|
1127
|
+
else:
|
|
1128
|
+
eol_ = ''
|
|
1129
|
+
if self.original_tagname_ is not None and name_ == 'ArrayOfKeyValueOfstringArrayOfTrackingResultmFAkxlpY2':
|
|
1130
|
+
name_ = self.original_tagname_
|
|
1131
|
+
if UseCapturedNS_ and self.ns_prefix_:
|
|
1132
|
+
namespaceprefix_ = self.ns_prefix_ + ':'
|
|
1133
|
+
showIndent(outfile, level, pretty_print)
|
|
1134
|
+
outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
|
|
1135
|
+
already_processed = set()
|
|
1136
|
+
self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ArrayOfKeyValueOfstringArrayOfTrackingResultmFAkxlpY2')
|
|
1137
|
+
if self.hasContent_():
|
|
1138
|
+
outfile.write('>%s' % (eol_, ))
|
|
1139
|
+
self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ArrayOfKeyValueOfstringArrayOfTrackingResultmFAkxlpY2', pretty_print=pretty_print)
|
|
1140
|
+
showIndent(outfile, level, pretty_print)
|
|
1141
|
+
outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
|
|
1142
|
+
else:
|
|
1143
|
+
outfile.write('/>%s' % (eol_, ))
|
|
1144
|
+
def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ArrayOfKeyValueOfstringArrayOfTrackingResultmFAkxlpY2'):
|
|
1145
|
+
pass
|
|
1146
|
+
def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='ArrayOfKeyValueOfstringArrayOfTrackingResultmFAkxlpY2', fromsubclass_=False, pretty_print=True):
|
|
1147
|
+
if pretty_print:
|
|
1148
|
+
eol_ = '\n'
|
|
1149
|
+
else:
|
|
1150
|
+
eol_ = ''
|
|
1151
|
+
for KeyValueOfstringArrayOfTrackingResultmFAkxlpY_ in self.KeyValueOfstringArrayOfTrackingResultmFAkxlpY:
|
|
1152
|
+
namespaceprefix_ = self.KeyValueOfstringArrayOfTrackingResultmFAkxlpY_nsprefix_ + ':' if (UseCapturedNS_ and self.KeyValueOfstringArrayOfTrackingResultmFAkxlpY_nsprefix_) else ''
|
|
1153
|
+
KeyValueOfstringArrayOfTrackingResultmFAkxlpY_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='KeyValueOfstringArrayOfTrackingResultmFAkxlpY', pretty_print=pretty_print)
|
|
1154
|
+
def build(self, node, gds_collector_=None):
|
|
1155
|
+
self.gds_collector_ = gds_collector_
|
|
1156
|
+
if SaveElementTreeNode:
|
|
1157
|
+
self.gds_elementtree_node_ = node
|
|
1158
|
+
already_processed = set()
|
|
1159
|
+
self.ns_prefix_ = node.prefix
|
|
1160
|
+
self.buildAttributes(node, node.attrib, already_processed)
|
|
1161
|
+
for child in node:
|
|
1162
|
+
nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
|
|
1163
|
+
self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
|
|
1164
|
+
return self
|
|
1165
|
+
def buildAttributes(self, node, attrs, already_processed):
|
|
1166
|
+
pass
|
|
1167
|
+
def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
|
|
1168
|
+
if nodeName_ == 'KeyValueOfstringArrayOfTrackingResultmFAkxlpY':
|
|
1169
|
+
obj_ = KeyValueOfstringArrayOfTrackingResultmFAkxlpYType.factory(parent_object_=self)
|
|
1170
|
+
obj_.build(child_, gds_collector_=gds_collector_)
|
|
1171
|
+
self.KeyValueOfstringArrayOfTrackingResultmFAkxlpY.append(obj_)
|
|
1172
|
+
obj_.original_tagname_ = 'KeyValueOfstringArrayOfTrackingResultmFAkxlpY'
|
|
1173
|
+
# end class ArrayOfKeyValueOfstringArrayOfTrackingResultmFAkxlpY2
|
|
1174
|
+
|
|
1175
|
+
|
|
1176
|
+
class ShipmentTrackingRequest(GeneratedsSuper):
|
|
1177
|
+
__hash__ = GeneratedsSuper.__hash__
|
|
1178
|
+
subclass = None
|
|
1179
|
+
superclass = None
|
|
1180
|
+
def __init__(self, ClientInfo=None, Transaction=None, Shipments=None, GetLastTrackingUpdateOnly=None, gds_collector_=None, **kwargs_):
|
|
1181
|
+
self.gds_collector_ = gds_collector_
|
|
1182
|
+
self.gds_elementtree_node_ = None
|
|
1183
|
+
self.original_tagname_ = None
|
|
1184
|
+
self.parent_object_ = kwargs_.get('parent_object_')
|
|
1185
|
+
self.ns_prefix_ = None
|
|
1186
|
+
self.ClientInfo = ClientInfo
|
|
1187
|
+
self.ClientInfo_nsprefix_ = None
|
|
1188
|
+
self.Transaction = Transaction
|
|
1189
|
+
self.Transaction_nsprefix_ = None
|
|
1190
|
+
self.Shipments = Shipments
|
|
1191
|
+
self.Shipments_nsprefix_ = None
|
|
1192
|
+
self.GetLastTrackingUpdateOnly = GetLastTrackingUpdateOnly
|
|
1193
|
+
self.GetLastTrackingUpdateOnly_nsprefix_ = None
|
|
1194
|
+
def factory(*args_, **kwargs_):
|
|
1195
|
+
if CurrentSubclassModule_ is not None:
|
|
1196
|
+
subclass = getSubclassFromModule_(
|
|
1197
|
+
CurrentSubclassModule_, ShipmentTrackingRequest)
|
|
1198
|
+
if subclass is not None:
|
|
1199
|
+
return subclass(*args_, **kwargs_)
|
|
1200
|
+
if ShipmentTrackingRequest.subclass:
|
|
1201
|
+
return ShipmentTrackingRequest.subclass(*args_, **kwargs_)
|
|
1202
|
+
else:
|
|
1203
|
+
return ShipmentTrackingRequest(*args_, **kwargs_)
|
|
1204
|
+
factory = staticmethod(factory)
|
|
1205
|
+
def get_ns_prefix_(self):
|
|
1206
|
+
return self.ns_prefix_
|
|
1207
|
+
def set_ns_prefix_(self, ns_prefix):
|
|
1208
|
+
self.ns_prefix_ = ns_prefix
|
|
1209
|
+
def get_ClientInfo(self):
|
|
1210
|
+
return self.ClientInfo
|
|
1211
|
+
def set_ClientInfo(self, ClientInfo):
|
|
1212
|
+
self.ClientInfo = ClientInfo
|
|
1213
|
+
def get_Transaction(self):
|
|
1214
|
+
return self.Transaction
|
|
1215
|
+
def set_Transaction(self, Transaction):
|
|
1216
|
+
self.Transaction = Transaction
|
|
1217
|
+
def get_Shipments(self):
|
|
1218
|
+
return self.Shipments
|
|
1219
|
+
def set_Shipments(self, Shipments):
|
|
1220
|
+
self.Shipments = Shipments
|
|
1221
|
+
def get_GetLastTrackingUpdateOnly(self):
|
|
1222
|
+
return self.GetLastTrackingUpdateOnly
|
|
1223
|
+
def set_GetLastTrackingUpdateOnly(self, GetLastTrackingUpdateOnly):
|
|
1224
|
+
self.GetLastTrackingUpdateOnly = GetLastTrackingUpdateOnly
|
|
1225
|
+
def hasContent_(self):
|
|
1226
|
+
if (
|
|
1227
|
+
self.ClientInfo is not None or
|
|
1228
|
+
self.Transaction is not None or
|
|
1229
|
+
self.Shipments is not None or
|
|
1230
|
+
self.GetLastTrackingUpdateOnly is not None
|
|
1231
|
+
):
|
|
1232
|
+
return True
|
|
1233
|
+
else:
|
|
1234
|
+
return False
|
|
1235
|
+
def export(self, outfile, level, namespaceprefix_='tns:', namespacedef_='', name_='ShipmentTrackingRequest', pretty_print=True):
|
|
1236
|
+
imported_ns_def_ = GenerateDSNamespaceDefs_.get('ShipmentTrackingRequest')
|
|
1237
|
+
if imported_ns_def_ is not None:
|
|
1238
|
+
namespacedef_ = imported_ns_def_
|
|
1239
|
+
if pretty_print:
|
|
1240
|
+
eol_ = '\n'
|
|
1241
|
+
else:
|
|
1242
|
+
eol_ = ''
|
|
1243
|
+
if self.original_tagname_ is not None and name_ == 'ShipmentTrackingRequest':
|
|
1244
|
+
name_ = self.original_tagname_
|
|
1245
|
+
if UseCapturedNS_ and self.ns_prefix_:
|
|
1246
|
+
namespaceprefix_ = self.ns_prefix_ + ':'
|
|
1247
|
+
showIndent(outfile, level, pretty_print)
|
|
1248
|
+
outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
|
|
1249
|
+
already_processed = set()
|
|
1250
|
+
self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ShipmentTrackingRequest')
|
|
1251
|
+
if self.hasContent_():
|
|
1252
|
+
outfile.write('>%s' % (eol_, ))
|
|
1253
|
+
self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ShipmentTrackingRequest', pretty_print=pretty_print)
|
|
1254
|
+
showIndent(outfile, level, pretty_print)
|
|
1255
|
+
outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
|
|
1256
|
+
else:
|
|
1257
|
+
outfile.write('/>%s' % (eol_, ))
|
|
1258
|
+
def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='tns:', name_='ShipmentTrackingRequest'):
|
|
1259
|
+
pass
|
|
1260
|
+
def exportChildren(self, outfile, level, namespaceprefix_='tns:', namespacedef_='', name_='ShipmentTrackingRequest', fromsubclass_=False, pretty_print=True):
|
|
1261
|
+
if pretty_print:
|
|
1262
|
+
eol_ = '\n'
|
|
1263
|
+
else:
|
|
1264
|
+
eol_ = ''
|
|
1265
|
+
if self.ClientInfo is not None:
|
|
1266
|
+
namespaceprefix_ = self.ClientInfo_nsprefix_ + ':' if (UseCapturedNS_ and self.ClientInfo_nsprefix_) else ''
|
|
1267
|
+
self.ClientInfo.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ClientInfo', pretty_print=pretty_print)
|
|
1268
|
+
if self.Transaction is not None:
|
|
1269
|
+
namespaceprefix_ = self.Transaction_nsprefix_ + ':' if (UseCapturedNS_ and self.Transaction_nsprefix_) else ''
|
|
1270
|
+
self.Transaction.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Transaction', pretty_print=pretty_print)
|
|
1271
|
+
if self.Shipments is not None:
|
|
1272
|
+
namespaceprefix_ = self.Shipments_nsprefix_ + ':' if (UseCapturedNS_ and self.Shipments_nsprefix_) else ''
|
|
1273
|
+
self.Shipments.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Shipments', pretty_print=pretty_print)
|
|
1274
|
+
if self.GetLastTrackingUpdateOnly is not None:
|
|
1275
|
+
namespaceprefix_ = self.GetLastTrackingUpdateOnly_nsprefix_ + ':' if (UseCapturedNS_ and self.GetLastTrackingUpdateOnly_nsprefix_) else ''
|
|
1276
|
+
showIndent(outfile, level, pretty_print)
|
|
1277
|
+
outfile.write('<%sGetLastTrackingUpdateOnly>%s</%sGetLastTrackingUpdateOnly>%s' % (namespaceprefix_ , self.gds_format_boolean(self.GetLastTrackingUpdateOnly, input_name='GetLastTrackingUpdateOnly'), namespaceprefix_ , eol_))
|
|
1278
|
+
def build(self, node, gds_collector_=None):
|
|
1279
|
+
self.gds_collector_ = gds_collector_
|
|
1280
|
+
if SaveElementTreeNode:
|
|
1281
|
+
self.gds_elementtree_node_ = node
|
|
1282
|
+
already_processed = set()
|
|
1283
|
+
self.ns_prefix_ = node.prefix
|
|
1284
|
+
self.buildAttributes(node, node.attrib, already_processed)
|
|
1285
|
+
for child in node:
|
|
1286
|
+
nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
|
|
1287
|
+
self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
|
|
1288
|
+
return self
|
|
1289
|
+
def buildAttributes(self, node, attrs, already_processed):
|
|
1290
|
+
pass
|
|
1291
|
+
def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
|
|
1292
|
+
if nodeName_ == 'ClientInfo':
|
|
1293
|
+
obj_ = ClientInfo.factory(parent_object_=self)
|
|
1294
|
+
obj_.build(child_, gds_collector_=gds_collector_)
|
|
1295
|
+
self.ClientInfo = obj_
|
|
1296
|
+
obj_.original_tagname_ = 'ClientInfo'
|
|
1297
|
+
elif nodeName_ == 'Transaction':
|
|
1298
|
+
obj_ = Transaction.factory(parent_object_=self)
|
|
1299
|
+
obj_.build(child_, gds_collector_=gds_collector_)
|
|
1300
|
+
self.Transaction = obj_
|
|
1301
|
+
obj_.original_tagname_ = 'Transaction'
|
|
1302
|
+
elif nodeName_ == 'Shipments':
|
|
1303
|
+
obj_ = ArrayOfstring.factory(parent_object_=self)
|
|
1304
|
+
obj_.build(child_, gds_collector_=gds_collector_)
|
|
1305
|
+
self.Shipments = obj_
|
|
1306
|
+
obj_.original_tagname_ = 'Shipments'
|
|
1307
|
+
elif nodeName_ == 'GetLastTrackingUpdateOnly':
|
|
1308
|
+
sval_ = child_.text
|
|
1309
|
+
ival_ = self.gds_parse_boolean(sval_, node, 'GetLastTrackingUpdateOnly')
|
|
1310
|
+
ival_ = self.gds_validate_boolean(ival_, node, 'GetLastTrackingUpdateOnly')
|
|
1311
|
+
self.GetLastTrackingUpdateOnly = ival_
|
|
1312
|
+
self.GetLastTrackingUpdateOnly_nsprefix_ = child_.prefix
|
|
1313
|
+
# end class ShipmentTrackingRequest
|
|
1314
|
+
|
|
1315
|
+
|
|
1316
|
+
class ClientInfo(GeneratedsSuper):
|
|
1317
|
+
__hash__ = GeneratedsSuper.__hash__
|
|
1318
|
+
subclass = None
|
|
1319
|
+
superclass = None
|
|
1320
|
+
def __init__(self, UserName=None, Password=None, Version=None, AccountNumber=None, AccountPin=None, AccountEntity=None, AccountCountryCode=None, Source=None, PreferredLanguageCode=None, gds_collector_=None, **kwargs_):
|
|
1321
|
+
self.gds_collector_ = gds_collector_
|
|
1322
|
+
self.gds_elementtree_node_ = None
|
|
1323
|
+
self.original_tagname_ = None
|
|
1324
|
+
self.parent_object_ = kwargs_.get('parent_object_')
|
|
1325
|
+
self.ns_prefix_ = None
|
|
1326
|
+
self.UserName = UserName
|
|
1327
|
+
self.UserName_nsprefix_ = None
|
|
1328
|
+
self.Password = Password
|
|
1329
|
+
self.Password_nsprefix_ = None
|
|
1330
|
+
self.Version = Version
|
|
1331
|
+
self.Version_nsprefix_ = None
|
|
1332
|
+
self.AccountNumber = AccountNumber
|
|
1333
|
+
self.AccountNumber_nsprefix_ = None
|
|
1334
|
+
self.AccountPin = AccountPin
|
|
1335
|
+
self.AccountPin_nsprefix_ = None
|
|
1336
|
+
self.AccountEntity = AccountEntity
|
|
1337
|
+
self.AccountEntity_nsprefix_ = None
|
|
1338
|
+
self.AccountCountryCode = AccountCountryCode
|
|
1339
|
+
self.AccountCountryCode_nsprefix_ = None
|
|
1340
|
+
self.Source = Source
|
|
1341
|
+
self.Source_nsprefix_ = None
|
|
1342
|
+
self.PreferredLanguageCode = PreferredLanguageCode
|
|
1343
|
+
self.PreferredLanguageCode_nsprefix_ = None
|
|
1344
|
+
def factory(*args_, **kwargs_):
|
|
1345
|
+
if CurrentSubclassModule_ is not None:
|
|
1346
|
+
subclass = getSubclassFromModule_(
|
|
1347
|
+
CurrentSubclassModule_, ClientInfo)
|
|
1348
|
+
if subclass is not None:
|
|
1349
|
+
return subclass(*args_, **kwargs_)
|
|
1350
|
+
if ClientInfo.subclass:
|
|
1351
|
+
return ClientInfo.subclass(*args_, **kwargs_)
|
|
1352
|
+
else:
|
|
1353
|
+
return ClientInfo(*args_, **kwargs_)
|
|
1354
|
+
factory = staticmethod(factory)
|
|
1355
|
+
def get_ns_prefix_(self):
|
|
1356
|
+
return self.ns_prefix_
|
|
1357
|
+
def set_ns_prefix_(self, ns_prefix):
|
|
1358
|
+
self.ns_prefix_ = ns_prefix
|
|
1359
|
+
def get_UserName(self):
|
|
1360
|
+
return self.UserName
|
|
1361
|
+
def set_UserName(self, UserName):
|
|
1362
|
+
self.UserName = UserName
|
|
1363
|
+
def get_Password(self):
|
|
1364
|
+
return self.Password
|
|
1365
|
+
def set_Password(self, Password):
|
|
1366
|
+
self.Password = Password
|
|
1367
|
+
def get_Version(self):
|
|
1368
|
+
return self.Version
|
|
1369
|
+
def set_Version(self, Version):
|
|
1370
|
+
self.Version = Version
|
|
1371
|
+
def get_AccountNumber(self):
|
|
1372
|
+
return self.AccountNumber
|
|
1373
|
+
def set_AccountNumber(self, AccountNumber):
|
|
1374
|
+
self.AccountNumber = AccountNumber
|
|
1375
|
+
def get_AccountPin(self):
|
|
1376
|
+
return self.AccountPin
|
|
1377
|
+
def set_AccountPin(self, AccountPin):
|
|
1378
|
+
self.AccountPin = AccountPin
|
|
1379
|
+
def get_AccountEntity(self):
|
|
1380
|
+
return self.AccountEntity
|
|
1381
|
+
def set_AccountEntity(self, AccountEntity):
|
|
1382
|
+
self.AccountEntity = AccountEntity
|
|
1383
|
+
def get_AccountCountryCode(self):
|
|
1384
|
+
return self.AccountCountryCode
|
|
1385
|
+
def set_AccountCountryCode(self, AccountCountryCode):
|
|
1386
|
+
self.AccountCountryCode = AccountCountryCode
|
|
1387
|
+
def get_Source(self):
|
|
1388
|
+
return self.Source
|
|
1389
|
+
def set_Source(self, Source):
|
|
1390
|
+
self.Source = Source
|
|
1391
|
+
def get_PreferredLanguageCode(self):
|
|
1392
|
+
return self.PreferredLanguageCode
|
|
1393
|
+
def set_PreferredLanguageCode(self, PreferredLanguageCode):
|
|
1394
|
+
self.PreferredLanguageCode = PreferredLanguageCode
|
|
1395
|
+
def hasContent_(self):
|
|
1396
|
+
if (
|
|
1397
|
+
self.UserName is not None or
|
|
1398
|
+
self.Password is not None or
|
|
1399
|
+
self.Version is not None or
|
|
1400
|
+
self.AccountNumber is not None or
|
|
1401
|
+
self.AccountPin is not None or
|
|
1402
|
+
self.AccountEntity is not None or
|
|
1403
|
+
self.AccountCountryCode is not None or
|
|
1404
|
+
self.Source is not None or
|
|
1405
|
+
self.PreferredLanguageCode is not None
|
|
1406
|
+
):
|
|
1407
|
+
return True
|
|
1408
|
+
else:
|
|
1409
|
+
return False
|
|
1410
|
+
def export(self, outfile, level, namespaceprefix_='tns:', namespacedef_='', name_='ClientInfo', pretty_print=True):
|
|
1411
|
+
imported_ns_def_ = GenerateDSNamespaceDefs_.get('ClientInfo')
|
|
1412
|
+
if imported_ns_def_ is not None:
|
|
1413
|
+
namespacedef_ = imported_ns_def_
|
|
1414
|
+
if pretty_print:
|
|
1415
|
+
eol_ = '\n'
|
|
1416
|
+
else:
|
|
1417
|
+
eol_ = ''
|
|
1418
|
+
if self.original_tagname_ is not None and name_ == 'ClientInfo':
|
|
1419
|
+
name_ = self.original_tagname_
|
|
1420
|
+
if UseCapturedNS_ and self.ns_prefix_:
|
|
1421
|
+
namespaceprefix_ = self.ns_prefix_ + ':'
|
|
1422
|
+
showIndent(outfile, level, pretty_print)
|
|
1423
|
+
outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
|
|
1424
|
+
already_processed = set()
|
|
1425
|
+
self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ClientInfo')
|
|
1426
|
+
if self.hasContent_():
|
|
1427
|
+
outfile.write('>%s' % (eol_, ))
|
|
1428
|
+
self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ClientInfo', pretty_print=pretty_print)
|
|
1429
|
+
showIndent(outfile, level, pretty_print)
|
|
1430
|
+
outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
|
|
1431
|
+
else:
|
|
1432
|
+
outfile.write('/>%s' % (eol_, ))
|
|
1433
|
+
def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='tns:', name_='ClientInfo'):
|
|
1434
|
+
pass
|
|
1435
|
+
def exportChildren(self, outfile, level, namespaceprefix_='tns:', namespacedef_='', name_='ClientInfo', fromsubclass_=False, pretty_print=True):
|
|
1436
|
+
if pretty_print:
|
|
1437
|
+
eol_ = '\n'
|
|
1438
|
+
else:
|
|
1439
|
+
eol_ = ''
|
|
1440
|
+
if self.UserName is not None:
|
|
1441
|
+
namespaceprefix_ = self.UserName_nsprefix_ + ':' if (UseCapturedNS_ and self.UserName_nsprefix_) else ''
|
|
1442
|
+
showIndent(outfile, level, pretty_print)
|
|
1443
|
+
outfile.write('<%sUserName>%s</%sUserName>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.UserName), input_name='UserName')), namespaceprefix_ , eol_))
|
|
1444
|
+
if self.Password is not None:
|
|
1445
|
+
namespaceprefix_ = self.Password_nsprefix_ + ':' if (UseCapturedNS_ and self.Password_nsprefix_) else ''
|
|
1446
|
+
showIndent(outfile, level, pretty_print)
|
|
1447
|
+
outfile.write('<%sPassword>%s</%sPassword>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Password), input_name='Password')), namespaceprefix_ , eol_))
|
|
1448
|
+
if self.Version is not None:
|
|
1449
|
+
namespaceprefix_ = self.Version_nsprefix_ + ':' if (UseCapturedNS_ and self.Version_nsprefix_) else ''
|
|
1450
|
+
showIndent(outfile, level, pretty_print)
|
|
1451
|
+
outfile.write('<%sVersion>%s</%sVersion>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Version), input_name='Version')), namespaceprefix_ , eol_))
|
|
1452
|
+
if self.AccountNumber is not None:
|
|
1453
|
+
namespaceprefix_ = self.AccountNumber_nsprefix_ + ':' if (UseCapturedNS_ and self.AccountNumber_nsprefix_) else ''
|
|
1454
|
+
showIndent(outfile, level, pretty_print)
|
|
1455
|
+
outfile.write('<%sAccountNumber>%s</%sAccountNumber>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.AccountNumber), input_name='AccountNumber')), namespaceprefix_ , eol_))
|
|
1456
|
+
if self.AccountPin is not None:
|
|
1457
|
+
namespaceprefix_ = self.AccountPin_nsprefix_ + ':' if (UseCapturedNS_ and self.AccountPin_nsprefix_) else ''
|
|
1458
|
+
showIndent(outfile, level, pretty_print)
|
|
1459
|
+
outfile.write('<%sAccountPin>%s</%sAccountPin>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.AccountPin), input_name='AccountPin')), namespaceprefix_ , eol_))
|
|
1460
|
+
if self.AccountEntity is not None:
|
|
1461
|
+
namespaceprefix_ = self.AccountEntity_nsprefix_ + ':' if (UseCapturedNS_ and self.AccountEntity_nsprefix_) else ''
|
|
1462
|
+
showIndent(outfile, level, pretty_print)
|
|
1463
|
+
outfile.write('<%sAccountEntity>%s</%sAccountEntity>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.AccountEntity), input_name='AccountEntity')), namespaceprefix_ , eol_))
|
|
1464
|
+
if self.AccountCountryCode is not None:
|
|
1465
|
+
namespaceprefix_ = self.AccountCountryCode_nsprefix_ + ':' if (UseCapturedNS_ and self.AccountCountryCode_nsprefix_) else ''
|
|
1466
|
+
showIndent(outfile, level, pretty_print)
|
|
1467
|
+
outfile.write('<%sAccountCountryCode>%s</%sAccountCountryCode>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.AccountCountryCode), input_name='AccountCountryCode')), namespaceprefix_ , eol_))
|
|
1468
|
+
if self.Source is not None:
|
|
1469
|
+
namespaceprefix_ = self.Source_nsprefix_ + ':' if (UseCapturedNS_ and self.Source_nsprefix_) else ''
|
|
1470
|
+
showIndent(outfile, level, pretty_print)
|
|
1471
|
+
outfile.write('<%sSource>%s</%sSource>%s' % (namespaceprefix_ , self.gds_format_integer(self.Source, input_name='Source'), namespaceprefix_ , eol_))
|
|
1472
|
+
if self.PreferredLanguageCode is not None:
|
|
1473
|
+
namespaceprefix_ = self.PreferredLanguageCode_nsprefix_ + ':' if (UseCapturedNS_ and self.PreferredLanguageCode_nsprefix_) else ''
|
|
1474
|
+
showIndent(outfile, level, pretty_print)
|
|
1475
|
+
outfile.write('<%sPreferredLanguageCode>%s</%sPreferredLanguageCode>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.PreferredLanguageCode), input_name='PreferredLanguageCode')), namespaceprefix_ , eol_))
|
|
1476
|
+
def build(self, node, gds_collector_=None):
|
|
1477
|
+
self.gds_collector_ = gds_collector_
|
|
1478
|
+
if SaveElementTreeNode:
|
|
1479
|
+
self.gds_elementtree_node_ = node
|
|
1480
|
+
already_processed = set()
|
|
1481
|
+
self.ns_prefix_ = node.prefix
|
|
1482
|
+
self.buildAttributes(node, node.attrib, already_processed)
|
|
1483
|
+
for child in node:
|
|
1484
|
+
nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
|
|
1485
|
+
self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
|
|
1486
|
+
return self
|
|
1487
|
+
def buildAttributes(self, node, attrs, already_processed):
|
|
1488
|
+
pass
|
|
1489
|
+
def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
|
|
1490
|
+
if nodeName_ == 'UserName':
|
|
1491
|
+
value_ = child_.text
|
|
1492
|
+
value_ = self.gds_parse_string(value_, node, 'UserName')
|
|
1493
|
+
value_ = self.gds_validate_string(value_, node, 'UserName')
|
|
1494
|
+
self.UserName = value_
|
|
1495
|
+
self.UserName_nsprefix_ = child_.prefix
|
|
1496
|
+
elif nodeName_ == 'Password':
|
|
1497
|
+
value_ = child_.text
|
|
1498
|
+
value_ = self.gds_parse_string(value_, node, 'Password')
|
|
1499
|
+
value_ = self.gds_validate_string(value_, node, 'Password')
|
|
1500
|
+
self.Password = value_
|
|
1501
|
+
self.Password_nsprefix_ = child_.prefix
|
|
1502
|
+
elif nodeName_ == 'Version':
|
|
1503
|
+
value_ = child_.text
|
|
1504
|
+
value_ = self.gds_parse_string(value_, node, 'Version')
|
|
1505
|
+
value_ = self.gds_validate_string(value_, node, 'Version')
|
|
1506
|
+
self.Version = value_
|
|
1507
|
+
self.Version_nsprefix_ = child_.prefix
|
|
1508
|
+
elif nodeName_ == 'AccountNumber':
|
|
1509
|
+
value_ = child_.text
|
|
1510
|
+
value_ = self.gds_parse_string(value_, node, 'AccountNumber')
|
|
1511
|
+
value_ = self.gds_validate_string(value_, node, 'AccountNumber')
|
|
1512
|
+
self.AccountNumber = value_
|
|
1513
|
+
self.AccountNumber_nsprefix_ = child_.prefix
|
|
1514
|
+
elif nodeName_ == 'AccountPin':
|
|
1515
|
+
value_ = child_.text
|
|
1516
|
+
value_ = self.gds_parse_string(value_, node, 'AccountPin')
|
|
1517
|
+
value_ = self.gds_validate_string(value_, node, 'AccountPin')
|
|
1518
|
+
self.AccountPin = value_
|
|
1519
|
+
self.AccountPin_nsprefix_ = child_.prefix
|
|
1520
|
+
elif nodeName_ == 'AccountEntity':
|
|
1521
|
+
value_ = child_.text
|
|
1522
|
+
value_ = self.gds_parse_string(value_, node, 'AccountEntity')
|
|
1523
|
+
value_ = self.gds_validate_string(value_, node, 'AccountEntity')
|
|
1524
|
+
self.AccountEntity = value_
|
|
1525
|
+
self.AccountEntity_nsprefix_ = child_.prefix
|
|
1526
|
+
elif nodeName_ == 'AccountCountryCode':
|
|
1527
|
+
value_ = child_.text
|
|
1528
|
+
value_ = self.gds_parse_string(value_, node, 'AccountCountryCode')
|
|
1529
|
+
value_ = self.gds_validate_string(value_, node, 'AccountCountryCode')
|
|
1530
|
+
self.AccountCountryCode = value_
|
|
1531
|
+
self.AccountCountryCode_nsprefix_ = child_.prefix
|
|
1532
|
+
elif nodeName_ == 'Source' and child_.text:
|
|
1533
|
+
sval_ = child_.text
|
|
1534
|
+
ival_ = self.gds_parse_integer(sval_, node, 'Source')
|
|
1535
|
+
ival_ = self.gds_validate_integer(ival_, node, 'Source')
|
|
1536
|
+
self.Source = ival_
|
|
1537
|
+
self.Source_nsprefix_ = child_.prefix
|
|
1538
|
+
elif nodeName_ == 'PreferredLanguageCode':
|
|
1539
|
+
value_ = child_.text
|
|
1540
|
+
value_ = self.gds_parse_string(value_, node, 'PreferredLanguageCode')
|
|
1541
|
+
value_ = self.gds_validate_string(value_, node, 'PreferredLanguageCode')
|
|
1542
|
+
self.PreferredLanguageCode = value_
|
|
1543
|
+
self.PreferredLanguageCode_nsprefix_ = child_.prefix
|
|
1544
|
+
# end class ClientInfo
|
|
1545
|
+
|
|
1546
|
+
|
|
1547
|
+
class Transaction(GeneratedsSuper):
|
|
1548
|
+
__hash__ = GeneratedsSuper.__hash__
|
|
1549
|
+
subclass = None
|
|
1550
|
+
superclass = None
|
|
1551
|
+
def __init__(self, Reference1=None, Reference2=None, Reference3=None, Reference4=None, Reference5=None, gds_collector_=None, **kwargs_):
|
|
1552
|
+
self.gds_collector_ = gds_collector_
|
|
1553
|
+
self.gds_elementtree_node_ = None
|
|
1554
|
+
self.original_tagname_ = None
|
|
1555
|
+
self.parent_object_ = kwargs_.get('parent_object_')
|
|
1556
|
+
self.ns_prefix_ = None
|
|
1557
|
+
self.Reference1 = Reference1
|
|
1558
|
+
self.Reference1_nsprefix_ = None
|
|
1559
|
+
self.Reference2 = Reference2
|
|
1560
|
+
self.Reference2_nsprefix_ = None
|
|
1561
|
+
self.Reference3 = Reference3
|
|
1562
|
+
self.Reference3_nsprefix_ = None
|
|
1563
|
+
self.Reference4 = Reference4
|
|
1564
|
+
self.Reference4_nsprefix_ = None
|
|
1565
|
+
self.Reference5 = Reference5
|
|
1566
|
+
self.Reference5_nsprefix_ = None
|
|
1567
|
+
def factory(*args_, **kwargs_):
|
|
1568
|
+
if CurrentSubclassModule_ is not None:
|
|
1569
|
+
subclass = getSubclassFromModule_(
|
|
1570
|
+
CurrentSubclassModule_, Transaction)
|
|
1571
|
+
if subclass is not None:
|
|
1572
|
+
return subclass(*args_, **kwargs_)
|
|
1573
|
+
if Transaction.subclass:
|
|
1574
|
+
return Transaction.subclass(*args_, **kwargs_)
|
|
1575
|
+
else:
|
|
1576
|
+
return Transaction(*args_, **kwargs_)
|
|
1577
|
+
factory = staticmethod(factory)
|
|
1578
|
+
def get_ns_prefix_(self):
|
|
1579
|
+
return self.ns_prefix_
|
|
1580
|
+
def set_ns_prefix_(self, ns_prefix):
|
|
1581
|
+
self.ns_prefix_ = ns_prefix
|
|
1582
|
+
def get_Reference1(self):
|
|
1583
|
+
return self.Reference1
|
|
1584
|
+
def set_Reference1(self, Reference1):
|
|
1585
|
+
self.Reference1 = Reference1
|
|
1586
|
+
def get_Reference2(self):
|
|
1587
|
+
return self.Reference2
|
|
1588
|
+
def set_Reference2(self, Reference2):
|
|
1589
|
+
self.Reference2 = Reference2
|
|
1590
|
+
def get_Reference3(self):
|
|
1591
|
+
return self.Reference3
|
|
1592
|
+
def set_Reference3(self, Reference3):
|
|
1593
|
+
self.Reference3 = Reference3
|
|
1594
|
+
def get_Reference4(self):
|
|
1595
|
+
return self.Reference4
|
|
1596
|
+
def set_Reference4(self, Reference4):
|
|
1597
|
+
self.Reference4 = Reference4
|
|
1598
|
+
def get_Reference5(self):
|
|
1599
|
+
return self.Reference5
|
|
1600
|
+
def set_Reference5(self, Reference5):
|
|
1601
|
+
self.Reference5 = Reference5
|
|
1602
|
+
def hasContent_(self):
|
|
1603
|
+
if (
|
|
1604
|
+
self.Reference1 is not None or
|
|
1605
|
+
self.Reference2 is not None or
|
|
1606
|
+
self.Reference3 is not None or
|
|
1607
|
+
self.Reference4 is not None or
|
|
1608
|
+
self.Reference5 is not None
|
|
1609
|
+
):
|
|
1610
|
+
return True
|
|
1611
|
+
else:
|
|
1612
|
+
return False
|
|
1613
|
+
def export(self, outfile, level, namespaceprefix_='tns:', namespacedef_='', name_='Transaction', pretty_print=True):
|
|
1614
|
+
imported_ns_def_ = GenerateDSNamespaceDefs_.get('Transaction')
|
|
1615
|
+
if imported_ns_def_ is not None:
|
|
1616
|
+
namespacedef_ = imported_ns_def_
|
|
1617
|
+
if pretty_print:
|
|
1618
|
+
eol_ = '\n'
|
|
1619
|
+
else:
|
|
1620
|
+
eol_ = ''
|
|
1621
|
+
if self.original_tagname_ is not None and name_ == 'Transaction':
|
|
1622
|
+
name_ = self.original_tagname_
|
|
1623
|
+
if UseCapturedNS_ and self.ns_prefix_:
|
|
1624
|
+
namespaceprefix_ = self.ns_prefix_ + ':'
|
|
1625
|
+
showIndent(outfile, level, pretty_print)
|
|
1626
|
+
outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
|
|
1627
|
+
already_processed = set()
|
|
1628
|
+
self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='Transaction')
|
|
1629
|
+
if self.hasContent_():
|
|
1630
|
+
outfile.write('>%s' % (eol_, ))
|
|
1631
|
+
self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='Transaction', pretty_print=pretty_print)
|
|
1632
|
+
showIndent(outfile, level, pretty_print)
|
|
1633
|
+
outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
|
|
1634
|
+
else:
|
|
1635
|
+
outfile.write('/>%s' % (eol_, ))
|
|
1636
|
+
def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='tns:', name_='Transaction'):
|
|
1637
|
+
pass
|
|
1638
|
+
def exportChildren(self, outfile, level, namespaceprefix_='tns:', namespacedef_='', name_='Transaction', fromsubclass_=False, pretty_print=True):
|
|
1639
|
+
if pretty_print:
|
|
1640
|
+
eol_ = '\n'
|
|
1641
|
+
else:
|
|
1642
|
+
eol_ = ''
|
|
1643
|
+
if self.Reference1 is not None:
|
|
1644
|
+
namespaceprefix_ = self.Reference1_nsprefix_ + ':' if (UseCapturedNS_ and self.Reference1_nsprefix_) else ''
|
|
1645
|
+
showIndent(outfile, level, pretty_print)
|
|
1646
|
+
outfile.write('<%sReference1>%s</%sReference1>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Reference1), input_name='Reference1')), namespaceprefix_ , eol_))
|
|
1647
|
+
if self.Reference2 is not None:
|
|
1648
|
+
namespaceprefix_ = self.Reference2_nsprefix_ + ':' if (UseCapturedNS_ and self.Reference2_nsprefix_) else ''
|
|
1649
|
+
showIndent(outfile, level, pretty_print)
|
|
1650
|
+
outfile.write('<%sReference2>%s</%sReference2>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Reference2), input_name='Reference2')), namespaceprefix_ , eol_))
|
|
1651
|
+
if self.Reference3 is not None:
|
|
1652
|
+
namespaceprefix_ = self.Reference3_nsprefix_ + ':' if (UseCapturedNS_ and self.Reference3_nsprefix_) else ''
|
|
1653
|
+
showIndent(outfile, level, pretty_print)
|
|
1654
|
+
outfile.write('<%sReference3>%s</%sReference3>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Reference3), input_name='Reference3')), namespaceprefix_ , eol_))
|
|
1655
|
+
if self.Reference4 is not None:
|
|
1656
|
+
namespaceprefix_ = self.Reference4_nsprefix_ + ':' if (UseCapturedNS_ and self.Reference4_nsprefix_) else ''
|
|
1657
|
+
showIndent(outfile, level, pretty_print)
|
|
1658
|
+
outfile.write('<%sReference4>%s</%sReference4>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Reference4), input_name='Reference4')), namespaceprefix_ , eol_))
|
|
1659
|
+
if self.Reference5 is not None:
|
|
1660
|
+
namespaceprefix_ = self.Reference5_nsprefix_ + ':' if (UseCapturedNS_ and self.Reference5_nsprefix_) else ''
|
|
1661
|
+
showIndent(outfile, level, pretty_print)
|
|
1662
|
+
outfile.write('<%sReference5>%s</%sReference5>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Reference5), input_name='Reference5')), namespaceprefix_ , eol_))
|
|
1663
|
+
def build(self, node, gds_collector_=None):
|
|
1664
|
+
self.gds_collector_ = gds_collector_
|
|
1665
|
+
if SaveElementTreeNode:
|
|
1666
|
+
self.gds_elementtree_node_ = node
|
|
1667
|
+
already_processed = set()
|
|
1668
|
+
self.ns_prefix_ = node.prefix
|
|
1669
|
+
self.buildAttributes(node, node.attrib, already_processed)
|
|
1670
|
+
for child in node:
|
|
1671
|
+
nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
|
|
1672
|
+
self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
|
|
1673
|
+
return self
|
|
1674
|
+
def buildAttributes(self, node, attrs, already_processed):
|
|
1675
|
+
pass
|
|
1676
|
+
def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
|
|
1677
|
+
if nodeName_ == 'Reference1':
|
|
1678
|
+
value_ = child_.text
|
|
1679
|
+
value_ = self.gds_parse_string(value_, node, 'Reference1')
|
|
1680
|
+
value_ = self.gds_validate_string(value_, node, 'Reference1')
|
|
1681
|
+
self.Reference1 = value_
|
|
1682
|
+
self.Reference1_nsprefix_ = child_.prefix
|
|
1683
|
+
elif nodeName_ == 'Reference2':
|
|
1684
|
+
value_ = child_.text
|
|
1685
|
+
value_ = self.gds_parse_string(value_, node, 'Reference2')
|
|
1686
|
+
value_ = self.gds_validate_string(value_, node, 'Reference2')
|
|
1687
|
+
self.Reference2 = value_
|
|
1688
|
+
self.Reference2_nsprefix_ = child_.prefix
|
|
1689
|
+
elif nodeName_ == 'Reference3':
|
|
1690
|
+
value_ = child_.text
|
|
1691
|
+
value_ = self.gds_parse_string(value_, node, 'Reference3')
|
|
1692
|
+
value_ = self.gds_validate_string(value_, node, 'Reference3')
|
|
1693
|
+
self.Reference3 = value_
|
|
1694
|
+
self.Reference3_nsprefix_ = child_.prefix
|
|
1695
|
+
elif nodeName_ == 'Reference4':
|
|
1696
|
+
value_ = child_.text
|
|
1697
|
+
value_ = self.gds_parse_string(value_, node, 'Reference4')
|
|
1698
|
+
value_ = self.gds_validate_string(value_, node, 'Reference4')
|
|
1699
|
+
self.Reference4 = value_
|
|
1700
|
+
self.Reference4_nsprefix_ = child_.prefix
|
|
1701
|
+
elif nodeName_ == 'Reference5':
|
|
1702
|
+
value_ = child_.text
|
|
1703
|
+
value_ = self.gds_parse_string(value_, node, 'Reference5')
|
|
1704
|
+
value_ = self.gds_validate_string(value_, node, 'Reference5')
|
|
1705
|
+
self.Reference5 = value_
|
|
1706
|
+
self.Reference5_nsprefix_ = child_.prefix
|
|
1707
|
+
# end class Transaction
|
|
1708
|
+
|
|
1709
|
+
|
|
1710
|
+
class ShipmentTrackingResponse(GeneratedsSuper):
|
|
1711
|
+
__hash__ = GeneratedsSuper.__hash__
|
|
1712
|
+
subclass = None
|
|
1713
|
+
superclass = None
|
|
1714
|
+
def __init__(self, Transaction=None, Notifications=None, HasErrors=None, TrackingResults=None, NonExistingWaybills=None, gds_collector_=None, **kwargs_):
|
|
1715
|
+
self.gds_collector_ = gds_collector_
|
|
1716
|
+
self.gds_elementtree_node_ = None
|
|
1717
|
+
self.original_tagname_ = None
|
|
1718
|
+
self.parent_object_ = kwargs_.get('parent_object_')
|
|
1719
|
+
self.ns_prefix_ = None
|
|
1720
|
+
self.Transaction = Transaction
|
|
1721
|
+
self.Transaction_nsprefix_ = None
|
|
1722
|
+
self.Notifications = Notifications
|
|
1723
|
+
self.Notifications_nsprefix_ = None
|
|
1724
|
+
self.HasErrors = HasErrors
|
|
1725
|
+
self.HasErrors_nsprefix_ = None
|
|
1726
|
+
self.TrackingResults = TrackingResults
|
|
1727
|
+
self.TrackingResults_nsprefix_ = None
|
|
1728
|
+
self.NonExistingWaybills = NonExistingWaybills
|
|
1729
|
+
self.NonExistingWaybills_nsprefix_ = None
|
|
1730
|
+
def factory(*args_, **kwargs_):
|
|
1731
|
+
if CurrentSubclassModule_ is not None:
|
|
1732
|
+
subclass = getSubclassFromModule_(
|
|
1733
|
+
CurrentSubclassModule_, ShipmentTrackingResponse)
|
|
1734
|
+
if subclass is not None:
|
|
1735
|
+
return subclass(*args_, **kwargs_)
|
|
1736
|
+
if ShipmentTrackingResponse.subclass:
|
|
1737
|
+
return ShipmentTrackingResponse.subclass(*args_, **kwargs_)
|
|
1738
|
+
else:
|
|
1739
|
+
return ShipmentTrackingResponse(*args_, **kwargs_)
|
|
1740
|
+
factory = staticmethod(factory)
|
|
1741
|
+
def get_ns_prefix_(self):
|
|
1742
|
+
return self.ns_prefix_
|
|
1743
|
+
def set_ns_prefix_(self, ns_prefix):
|
|
1744
|
+
self.ns_prefix_ = ns_prefix
|
|
1745
|
+
def get_Transaction(self):
|
|
1746
|
+
return self.Transaction
|
|
1747
|
+
def set_Transaction(self, Transaction):
|
|
1748
|
+
self.Transaction = Transaction
|
|
1749
|
+
def get_Notifications(self):
|
|
1750
|
+
return self.Notifications
|
|
1751
|
+
def set_Notifications(self, Notifications):
|
|
1752
|
+
self.Notifications = Notifications
|
|
1753
|
+
def get_HasErrors(self):
|
|
1754
|
+
return self.HasErrors
|
|
1755
|
+
def set_HasErrors(self, HasErrors):
|
|
1756
|
+
self.HasErrors = HasErrors
|
|
1757
|
+
def get_TrackingResults(self):
|
|
1758
|
+
return self.TrackingResults
|
|
1759
|
+
def set_TrackingResults(self, TrackingResults):
|
|
1760
|
+
self.TrackingResults = TrackingResults
|
|
1761
|
+
def get_NonExistingWaybills(self):
|
|
1762
|
+
return self.NonExistingWaybills
|
|
1763
|
+
def set_NonExistingWaybills(self, NonExistingWaybills):
|
|
1764
|
+
self.NonExistingWaybills = NonExistingWaybills
|
|
1765
|
+
def hasContent_(self):
|
|
1766
|
+
if (
|
|
1767
|
+
self.Transaction is not None or
|
|
1768
|
+
self.Notifications is not None or
|
|
1769
|
+
self.HasErrors is not None or
|
|
1770
|
+
self.TrackingResults is not None or
|
|
1771
|
+
self.NonExistingWaybills is not None
|
|
1772
|
+
):
|
|
1773
|
+
return True
|
|
1774
|
+
else:
|
|
1775
|
+
return False
|
|
1776
|
+
def export(self, outfile, level, namespaceprefix_='tns:', namespacedef_='', name_='ShipmentTrackingResponse', pretty_print=True):
|
|
1777
|
+
imported_ns_def_ = GenerateDSNamespaceDefs_.get('ShipmentTrackingResponse')
|
|
1778
|
+
if imported_ns_def_ is not None:
|
|
1779
|
+
namespacedef_ = imported_ns_def_
|
|
1780
|
+
if pretty_print:
|
|
1781
|
+
eol_ = '\n'
|
|
1782
|
+
else:
|
|
1783
|
+
eol_ = ''
|
|
1784
|
+
if self.original_tagname_ is not None and name_ == 'ShipmentTrackingResponse':
|
|
1785
|
+
name_ = self.original_tagname_
|
|
1786
|
+
if UseCapturedNS_ and self.ns_prefix_:
|
|
1787
|
+
namespaceprefix_ = self.ns_prefix_ + ':'
|
|
1788
|
+
showIndent(outfile, level, pretty_print)
|
|
1789
|
+
outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
|
|
1790
|
+
already_processed = set()
|
|
1791
|
+
self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ShipmentTrackingResponse')
|
|
1792
|
+
if self.hasContent_():
|
|
1793
|
+
outfile.write('>%s' % (eol_, ))
|
|
1794
|
+
self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ShipmentTrackingResponse', pretty_print=pretty_print)
|
|
1795
|
+
showIndent(outfile, level, pretty_print)
|
|
1796
|
+
outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
|
|
1797
|
+
else:
|
|
1798
|
+
outfile.write('/>%s' % (eol_, ))
|
|
1799
|
+
def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='tns:', name_='ShipmentTrackingResponse'):
|
|
1800
|
+
pass
|
|
1801
|
+
def exportChildren(self, outfile, level, namespaceprefix_='tns:', namespacedef_='', name_='ShipmentTrackingResponse', fromsubclass_=False, pretty_print=True):
|
|
1802
|
+
if pretty_print:
|
|
1803
|
+
eol_ = '\n'
|
|
1804
|
+
else:
|
|
1805
|
+
eol_ = ''
|
|
1806
|
+
if self.Transaction is not None:
|
|
1807
|
+
namespaceprefix_ = self.Transaction_nsprefix_ + ':' if (UseCapturedNS_ and self.Transaction_nsprefix_) else ''
|
|
1808
|
+
self.Transaction.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Transaction', pretty_print=pretty_print)
|
|
1809
|
+
if self.Notifications is not None:
|
|
1810
|
+
namespaceprefix_ = self.Notifications_nsprefix_ + ':' if (UseCapturedNS_ and self.Notifications_nsprefix_) else ''
|
|
1811
|
+
self.Notifications.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Notifications', pretty_print=pretty_print)
|
|
1812
|
+
if self.HasErrors is not None:
|
|
1813
|
+
namespaceprefix_ = self.HasErrors_nsprefix_ + ':' if (UseCapturedNS_ and self.HasErrors_nsprefix_) else ''
|
|
1814
|
+
showIndent(outfile, level, pretty_print)
|
|
1815
|
+
outfile.write('<%sHasErrors>%s</%sHasErrors>%s' % (namespaceprefix_ , self.gds_format_boolean(self.HasErrors, input_name='HasErrors'), namespaceprefix_ , eol_))
|
|
1816
|
+
if self.TrackingResults is not None:
|
|
1817
|
+
namespaceprefix_ = self.TrackingResults_nsprefix_ + ':' if (UseCapturedNS_ and self.TrackingResults_nsprefix_) else ''
|
|
1818
|
+
self.TrackingResults.export(outfile, level, namespaceprefix_, namespacedef_='', name_='TrackingResults', pretty_print=pretty_print)
|
|
1819
|
+
if self.NonExistingWaybills is not None:
|
|
1820
|
+
namespaceprefix_ = self.NonExistingWaybills_nsprefix_ + ':' if (UseCapturedNS_ and self.NonExistingWaybills_nsprefix_) else ''
|
|
1821
|
+
self.NonExistingWaybills.export(outfile, level, namespaceprefix_, namespacedef_='', name_='NonExistingWaybills', pretty_print=pretty_print)
|
|
1822
|
+
def build(self, node, gds_collector_=None):
|
|
1823
|
+
self.gds_collector_ = gds_collector_
|
|
1824
|
+
if SaveElementTreeNode:
|
|
1825
|
+
self.gds_elementtree_node_ = node
|
|
1826
|
+
already_processed = set()
|
|
1827
|
+
self.ns_prefix_ = node.prefix
|
|
1828
|
+
self.buildAttributes(node, node.attrib, already_processed)
|
|
1829
|
+
for child in node:
|
|
1830
|
+
nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
|
|
1831
|
+
self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
|
|
1832
|
+
return self
|
|
1833
|
+
def buildAttributes(self, node, attrs, already_processed):
|
|
1834
|
+
pass
|
|
1835
|
+
def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
|
|
1836
|
+
if nodeName_ == 'Transaction':
|
|
1837
|
+
obj_ = Transaction.factory(parent_object_=self)
|
|
1838
|
+
obj_.build(child_, gds_collector_=gds_collector_)
|
|
1839
|
+
self.Transaction = obj_
|
|
1840
|
+
obj_.original_tagname_ = 'Transaction'
|
|
1841
|
+
elif nodeName_ == 'Notifications':
|
|
1842
|
+
obj_ = ArrayOfNotification.factory(parent_object_=self)
|
|
1843
|
+
obj_.build(child_, gds_collector_=gds_collector_)
|
|
1844
|
+
self.Notifications = obj_
|
|
1845
|
+
obj_.original_tagname_ = 'Notifications'
|
|
1846
|
+
elif nodeName_ == 'HasErrors':
|
|
1847
|
+
sval_ = child_.text
|
|
1848
|
+
ival_ = self.gds_parse_boolean(sval_, node, 'HasErrors')
|
|
1849
|
+
ival_ = self.gds_validate_boolean(ival_, node, 'HasErrors')
|
|
1850
|
+
self.HasErrors = ival_
|
|
1851
|
+
self.HasErrors_nsprefix_ = child_.prefix
|
|
1852
|
+
elif nodeName_ == 'TrackingResults':
|
|
1853
|
+
obj_ = ArrayOfKeyValueOfstringArrayOfTrackingResultmFAkxlpY.factory(parent_object_=self)
|
|
1854
|
+
obj_.build(child_, gds_collector_=gds_collector_)
|
|
1855
|
+
self.TrackingResults = obj_
|
|
1856
|
+
obj_.original_tagname_ = 'TrackingResults'
|
|
1857
|
+
elif nodeName_ == 'NonExistingWaybills':
|
|
1858
|
+
obj_ = ArrayOfstring.factory(parent_object_=self)
|
|
1859
|
+
obj_.build(child_, gds_collector_=gds_collector_)
|
|
1860
|
+
self.NonExistingWaybills = obj_
|
|
1861
|
+
obj_.original_tagname_ = 'NonExistingWaybills'
|
|
1862
|
+
# end class ShipmentTrackingResponse
|
|
1863
|
+
|
|
1864
|
+
|
|
1865
|
+
class ArrayOfNotification(GeneratedsSuper):
|
|
1866
|
+
__hash__ = GeneratedsSuper.__hash__
|
|
1867
|
+
subclass = None
|
|
1868
|
+
superclass = None
|
|
1869
|
+
def __init__(self, Notification=None, gds_collector_=None, **kwargs_):
|
|
1870
|
+
self.gds_collector_ = gds_collector_
|
|
1871
|
+
self.gds_elementtree_node_ = None
|
|
1872
|
+
self.original_tagname_ = None
|
|
1873
|
+
self.parent_object_ = kwargs_.get('parent_object_')
|
|
1874
|
+
self.ns_prefix_ = None
|
|
1875
|
+
if Notification is None:
|
|
1876
|
+
self.Notification = []
|
|
1877
|
+
else:
|
|
1878
|
+
self.Notification = Notification
|
|
1879
|
+
self.Notification_nsprefix_ = None
|
|
1880
|
+
def factory(*args_, **kwargs_):
|
|
1881
|
+
if CurrentSubclassModule_ is not None:
|
|
1882
|
+
subclass = getSubclassFromModule_(
|
|
1883
|
+
CurrentSubclassModule_, ArrayOfNotification)
|
|
1884
|
+
if subclass is not None:
|
|
1885
|
+
return subclass(*args_, **kwargs_)
|
|
1886
|
+
if ArrayOfNotification.subclass:
|
|
1887
|
+
return ArrayOfNotification.subclass(*args_, **kwargs_)
|
|
1888
|
+
else:
|
|
1889
|
+
return ArrayOfNotification(*args_, **kwargs_)
|
|
1890
|
+
factory = staticmethod(factory)
|
|
1891
|
+
def get_ns_prefix_(self):
|
|
1892
|
+
return self.ns_prefix_
|
|
1893
|
+
def set_ns_prefix_(self, ns_prefix):
|
|
1894
|
+
self.ns_prefix_ = ns_prefix
|
|
1895
|
+
def get_Notification(self):
|
|
1896
|
+
return self.Notification
|
|
1897
|
+
def set_Notification(self, Notification):
|
|
1898
|
+
self.Notification = Notification
|
|
1899
|
+
def add_Notification(self, value):
|
|
1900
|
+
self.Notification.append(value)
|
|
1901
|
+
def insert_Notification_at(self, index, value):
|
|
1902
|
+
self.Notification.insert(index, value)
|
|
1903
|
+
def replace_Notification_at(self, index, value):
|
|
1904
|
+
self.Notification[index] = value
|
|
1905
|
+
def hasContent_(self):
|
|
1906
|
+
if (
|
|
1907
|
+
self.Notification
|
|
1908
|
+
):
|
|
1909
|
+
return True
|
|
1910
|
+
else:
|
|
1911
|
+
return False
|
|
1912
|
+
def export(self, outfile, level, namespaceprefix_='tns:', namespacedef_='', name_='ArrayOfNotification', pretty_print=True):
|
|
1913
|
+
imported_ns_def_ = GenerateDSNamespaceDefs_.get('ArrayOfNotification')
|
|
1914
|
+
if imported_ns_def_ is not None:
|
|
1915
|
+
namespacedef_ = imported_ns_def_
|
|
1916
|
+
if pretty_print:
|
|
1917
|
+
eol_ = '\n'
|
|
1918
|
+
else:
|
|
1919
|
+
eol_ = ''
|
|
1920
|
+
if self.original_tagname_ is not None and name_ == 'ArrayOfNotification':
|
|
1921
|
+
name_ = self.original_tagname_
|
|
1922
|
+
if UseCapturedNS_ and self.ns_prefix_:
|
|
1923
|
+
namespaceprefix_ = self.ns_prefix_ + ':'
|
|
1924
|
+
showIndent(outfile, level, pretty_print)
|
|
1925
|
+
outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
|
|
1926
|
+
already_processed = set()
|
|
1927
|
+
self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ArrayOfNotification')
|
|
1928
|
+
if self.hasContent_():
|
|
1929
|
+
outfile.write('>%s' % (eol_, ))
|
|
1930
|
+
self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ArrayOfNotification', pretty_print=pretty_print)
|
|
1931
|
+
showIndent(outfile, level, pretty_print)
|
|
1932
|
+
outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
|
|
1933
|
+
else:
|
|
1934
|
+
outfile.write('/>%s' % (eol_, ))
|
|
1935
|
+
def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='tns:', name_='ArrayOfNotification'):
|
|
1936
|
+
pass
|
|
1937
|
+
def exportChildren(self, outfile, level, namespaceprefix_='tns:', namespacedef_='', name_='ArrayOfNotification', fromsubclass_=False, pretty_print=True):
|
|
1938
|
+
if pretty_print:
|
|
1939
|
+
eol_ = '\n'
|
|
1940
|
+
else:
|
|
1941
|
+
eol_ = ''
|
|
1942
|
+
for Notification_ in self.Notification:
|
|
1943
|
+
namespaceprefix_ = self.Notification_nsprefix_ + ':' if (UseCapturedNS_ and self.Notification_nsprefix_) else ''
|
|
1944
|
+
Notification_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Notification', pretty_print=pretty_print)
|
|
1945
|
+
def build(self, node, gds_collector_=None):
|
|
1946
|
+
self.gds_collector_ = gds_collector_
|
|
1947
|
+
if SaveElementTreeNode:
|
|
1948
|
+
self.gds_elementtree_node_ = node
|
|
1949
|
+
already_processed = set()
|
|
1950
|
+
self.ns_prefix_ = node.prefix
|
|
1951
|
+
self.buildAttributes(node, node.attrib, already_processed)
|
|
1952
|
+
for child in node:
|
|
1953
|
+
nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
|
|
1954
|
+
self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
|
|
1955
|
+
return self
|
|
1956
|
+
def buildAttributes(self, node, attrs, already_processed):
|
|
1957
|
+
pass
|
|
1958
|
+
def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
|
|
1959
|
+
if nodeName_ == 'Notification':
|
|
1960
|
+
obj_ = Notification.factory(parent_object_=self)
|
|
1961
|
+
obj_.build(child_, gds_collector_=gds_collector_)
|
|
1962
|
+
self.Notification.append(obj_)
|
|
1963
|
+
obj_.original_tagname_ = 'Notification'
|
|
1964
|
+
# end class ArrayOfNotification
|
|
1965
|
+
|
|
1966
|
+
|
|
1967
|
+
class Notification(GeneratedsSuper):
|
|
1968
|
+
__hash__ = GeneratedsSuper.__hash__
|
|
1969
|
+
subclass = None
|
|
1970
|
+
superclass = None
|
|
1971
|
+
def __init__(self, Code=None, Message=None, gds_collector_=None, **kwargs_):
|
|
1972
|
+
self.gds_collector_ = gds_collector_
|
|
1973
|
+
self.gds_elementtree_node_ = None
|
|
1974
|
+
self.original_tagname_ = None
|
|
1975
|
+
self.parent_object_ = kwargs_.get('parent_object_')
|
|
1976
|
+
self.ns_prefix_ = None
|
|
1977
|
+
self.Code = Code
|
|
1978
|
+
self.Code_nsprefix_ = None
|
|
1979
|
+
self.Message = Message
|
|
1980
|
+
self.Message_nsprefix_ = None
|
|
1981
|
+
def factory(*args_, **kwargs_):
|
|
1982
|
+
if CurrentSubclassModule_ is not None:
|
|
1983
|
+
subclass = getSubclassFromModule_(
|
|
1984
|
+
CurrentSubclassModule_, Notification)
|
|
1985
|
+
if subclass is not None:
|
|
1986
|
+
return subclass(*args_, **kwargs_)
|
|
1987
|
+
if Notification.subclass:
|
|
1988
|
+
return Notification.subclass(*args_, **kwargs_)
|
|
1989
|
+
else:
|
|
1990
|
+
return Notification(*args_, **kwargs_)
|
|
1991
|
+
factory = staticmethod(factory)
|
|
1992
|
+
def get_ns_prefix_(self):
|
|
1993
|
+
return self.ns_prefix_
|
|
1994
|
+
def set_ns_prefix_(self, ns_prefix):
|
|
1995
|
+
self.ns_prefix_ = ns_prefix
|
|
1996
|
+
def get_Code(self):
|
|
1997
|
+
return self.Code
|
|
1998
|
+
def set_Code(self, Code):
|
|
1999
|
+
self.Code = Code
|
|
2000
|
+
def get_Message(self):
|
|
2001
|
+
return self.Message
|
|
2002
|
+
def set_Message(self, Message):
|
|
2003
|
+
self.Message = Message
|
|
2004
|
+
def hasContent_(self):
|
|
2005
|
+
if (
|
|
2006
|
+
self.Code is not None or
|
|
2007
|
+
self.Message is not None
|
|
2008
|
+
):
|
|
2009
|
+
return True
|
|
2010
|
+
else:
|
|
2011
|
+
return False
|
|
2012
|
+
def export(self, outfile, level, namespaceprefix_='tns:', namespacedef_='', name_='Notification', pretty_print=True):
|
|
2013
|
+
imported_ns_def_ = GenerateDSNamespaceDefs_.get('Notification')
|
|
2014
|
+
if imported_ns_def_ is not None:
|
|
2015
|
+
namespacedef_ = imported_ns_def_
|
|
2016
|
+
if pretty_print:
|
|
2017
|
+
eol_ = '\n'
|
|
2018
|
+
else:
|
|
2019
|
+
eol_ = ''
|
|
2020
|
+
if self.original_tagname_ is not None and name_ == 'Notification':
|
|
2021
|
+
name_ = self.original_tagname_
|
|
2022
|
+
if UseCapturedNS_ and self.ns_prefix_:
|
|
2023
|
+
namespaceprefix_ = self.ns_prefix_ + ':'
|
|
2024
|
+
showIndent(outfile, level, pretty_print)
|
|
2025
|
+
outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
|
|
2026
|
+
already_processed = set()
|
|
2027
|
+
self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='Notification')
|
|
2028
|
+
if self.hasContent_():
|
|
2029
|
+
outfile.write('>%s' % (eol_, ))
|
|
2030
|
+
self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='Notification', pretty_print=pretty_print)
|
|
2031
|
+
showIndent(outfile, level, pretty_print)
|
|
2032
|
+
outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
|
|
2033
|
+
else:
|
|
2034
|
+
outfile.write('/>%s' % (eol_, ))
|
|
2035
|
+
def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='tns:', name_='Notification'):
|
|
2036
|
+
pass
|
|
2037
|
+
def exportChildren(self, outfile, level, namespaceprefix_='tns:', namespacedef_='', name_='Notification', fromsubclass_=False, pretty_print=True):
|
|
2038
|
+
if pretty_print:
|
|
2039
|
+
eol_ = '\n'
|
|
2040
|
+
else:
|
|
2041
|
+
eol_ = ''
|
|
2042
|
+
if self.Code is not None:
|
|
2043
|
+
namespaceprefix_ = self.Code_nsprefix_ + ':' if (UseCapturedNS_ and self.Code_nsprefix_) else ''
|
|
2044
|
+
showIndent(outfile, level, pretty_print)
|
|
2045
|
+
outfile.write('<%sCode>%s</%sCode>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Code), input_name='Code')), namespaceprefix_ , eol_))
|
|
2046
|
+
if self.Message is not None:
|
|
2047
|
+
namespaceprefix_ = self.Message_nsprefix_ + ':' if (UseCapturedNS_ and self.Message_nsprefix_) else ''
|
|
2048
|
+
showIndent(outfile, level, pretty_print)
|
|
2049
|
+
outfile.write('<%sMessage>%s</%sMessage>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Message), input_name='Message')), namespaceprefix_ , eol_))
|
|
2050
|
+
def build(self, node, gds_collector_=None):
|
|
2051
|
+
self.gds_collector_ = gds_collector_
|
|
2052
|
+
if SaveElementTreeNode:
|
|
2053
|
+
self.gds_elementtree_node_ = node
|
|
2054
|
+
already_processed = set()
|
|
2055
|
+
self.ns_prefix_ = node.prefix
|
|
2056
|
+
self.buildAttributes(node, node.attrib, already_processed)
|
|
2057
|
+
for child in node:
|
|
2058
|
+
nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
|
|
2059
|
+
self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
|
|
2060
|
+
return self
|
|
2061
|
+
def buildAttributes(self, node, attrs, already_processed):
|
|
2062
|
+
pass
|
|
2063
|
+
def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
|
|
2064
|
+
if nodeName_ == 'Code':
|
|
2065
|
+
value_ = child_.text
|
|
2066
|
+
value_ = self.gds_parse_string(value_, node, 'Code')
|
|
2067
|
+
value_ = self.gds_validate_string(value_, node, 'Code')
|
|
2068
|
+
self.Code = value_
|
|
2069
|
+
self.Code_nsprefix_ = child_.prefix
|
|
2070
|
+
elif nodeName_ == 'Message':
|
|
2071
|
+
value_ = child_.text
|
|
2072
|
+
value_ = self.gds_parse_string(value_, node, 'Message')
|
|
2073
|
+
value_ = self.gds_validate_string(value_, node, 'Message')
|
|
2074
|
+
self.Message = value_
|
|
2075
|
+
self.Message_nsprefix_ = child_.prefix
|
|
2076
|
+
# end class Notification
|
|
2077
|
+
|
|
2078
|
+
|
|
2079
|
+
class ArrayOfTrackingResult(GeneratedsSuper):
|
|
2080
|
+
__hash__ = GeneratedsSuper.__hash__
|
|
2081
|
+
subclass = None
|
|
2082
|
+
superclass = None
|
|
2083
|
+
def __init__(self, TrackingResult=None, gds_collector_=None, **kwargs_):
|
|
2084
|
+
self.gds_collector_ = gds_collector_
|
|
2085
|
+
self.gds_elementtree_node_ = None
|
|
2086
|
+
self.original_tagname_ = None
|
|
2087
|
+
self.parent_object_ = kwargs_.get('parent_object_')
|
|
2088
|
+
self.ns_prefix_ = None
|
|
2089
|
+
if TrackingResult is None:
|
|
2090
|
+
self.TrackingResult = []
|
|
2091
|
+
else:
|
|
2092
|
+
self.TrackingResult = TrackingResult
|
|
2093
|
+
self.TrackingResult_nsprefix_ = None
|
|
2094
|
+
def factory(*args_, **kwargs_):
|
|
2095
|
+
if CurrentSubclassModule_ is not None:
|
|
2096
|
+
subclass = getSubclassFromModule_(
|
|
2097
|
+
CurrentSubclassModule_, ArrayOfTrackingResult)
|
|
2098
|
+
if subclass is not None:
|
|
2099
|
+
return subclass(*args_, **kwargs_)
|
|
2100
|
+
if ArrayOfTrackingResult.subclass:
|
|
2101
|
+
return ArrayOfTrackingResult.subclass(*args_, **kwargs_)
|
|
2102
|
+
else:
|
|
2103
|
+
return ArrayOfTrackingResult(*args_, **kwargs_)
|
|
2104
|
+
factory = staticmethod(factory)
|
|
2105
|
+
def get_ns_prefix_(self):
|
|
2106
|
+
return self.ns_prefix_
|
|
2107
|
+
def set_ns_prefix_(self, ns_prefix):
|
|
2108
|
+
self.ns_prefix_ = ns_prefix
|
|
2109
|
+
def get_TrackingResult(self):
|
|
2110
|
+
return self.TrackingResult
|
|
2111
|
+
def set_TrackingResult(self, TrackingResult):
|
|
2112
|
+
self.TrackingResult = TrackingResult
|
|
2113
|
+
def add_TrackingResult(self, value):
|
|
2114
|
+
self.TrackingResult.append(value)
|
|
2115
|
+
def insert_TrackingResult_at(self, index, value):
|
|
2116
|
+
self.TrackingResult.insert(index, value)
|
|
2117
|
+
def replace_TrackingResult_at(self, index, value):
|
|
2118
|
+
self.TrackingResult[index] = value
|
|
2119
|
+
def hasContent_(self):
|
|
2120
|
+
if (
|
|
2121
|
+
self.TrackingResult
|
|
2122
|
+
):
|
|
2123
|
+
return True
|
|
2124
|
+
else:
|
|
2125
|
+
return False
|
|
2126
|
+
def export(self, outfile, level, namespaceprefix_='tns:', namespacedef_='', name_='ArrayOfTrackingResult', pretty_print=True):
|
|
2127
|
+
imported_ns_def_ = GenerateDSNamespaceDefs_.get('ArrayOfTrackingResult')
|
|
2128
|
+
if imported_ns_def_ is not None:
|
|
2129
|
+
namespacedef_ = imported_ns_def_
|
|
2130
|
+
if pretty_print:
|
|
2131
|
+
eol_ = '\n'
|
|
2132
|
+
else:
|
|
2133
|
+
eol_ = ''
|
|
2134
|
+
if self.original_tagname_ is not None and name_ == 'ArrayOfTrackingResult':
|
|
2135
|
+
name_ = self.original_tagname_
|
|
2136
|
+
if UseCapturedNS_ and self.ns_prefix_:
|
|
2137
|
+
namespaceprefix_ = self.ns_prefix_ + ':'
|
|
2138
|
+
showIndent(outfile, level, pretty_print)
|
|
2139
|
+
outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
|
|
2140
|
+
already_processed = set()
|
|
2141
|
+
self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ArrayOfTrackingResult')
|
|
2142
|
+
if self.hasContent_():
|
|
2143
|
+
outfile.write('>%s' % (eol_, ))
|
|
2144
|
+
self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ArrayOfTrackingResult', pretty_print=pretty_print)
|
|
2145
|
+
showIndent(outfile, level, pretty_print)
|
|
2146
|
+
outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
|
|
2147
|
+
else:
|
|
2148
|
+
outfile.write('/>%s' % (eol_, ))
|
|
2149
|
+
def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='tns:', name_='ArrayOfTrackingResult'):
|
|
2150
|
+
pass
|
|
2151
|
+
def exportChildren(self, outfile, level, namespaceprefix_='tns:', namespacedef_='', name_='ArrayOfTrackingResult', fromsubclass_=False, pretty_print=True):
|
|
2152
|
+
if pretty_print:
|
|
2153
|
+
eol_ = '\n'
|
|
2154
|
+
else:
|
|
2155
|
+
eol_ = ''
|
|
2156
|
+
for TrackingResult_ in self.TrackingResult:
|
|
2157
|
+
namespaceprefix_ = self.TrackingResult_nsprefix_ + ':' if (UseCapturedNS_ and self.TrackingResult_nsprefix_) else ''
|
|
2158
|
+
TrackingResult_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='TrackingResult', pretty_print=pretty_print)
|
|
2159
|
+
def build(self, node, gds_collector_=None):
|
|
2160
|
+
self.gds_collector_ = gds_collector_
|
|
2161
|
+
if SaveElementTreeNode:
|
|
2162
|
+
self.gds_elementtree_node_ = node
|
|
2163
|
+
already_processed = set()
|
|
2164
|
+
self.ns_prefix_ = node.prefix
|
|
2165
|
+
self.buildAttributes(node, node.attrib, already_processed)
|
|
2166
|
+
for child in node:
|
|
2167
|
+
nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
|
|
2168
|
+
self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
|
|
2169
|
+
return self
|
|
2170
|
+
def buildAttributes(self, node, attrs, already_processed):
|
|
2171
|
+
pass
|
|
2172
|
+
def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
|
|
2173
|
+
if nodeName_ == 'TrackingResult':
|
|
2174
|
+
obj_ = TrackingResult.factory(parent_object_=self)
|
|
2175
|
+
obj_.build(child_, gds_collector_=gds_collector_)
|
|
2176
|
+
self.TrackingResult.append(obj_)
|
|
2177
|
+
obj_.original_tagname_ = 'TrackingResult'
|
|
2178
|
+
# end class ArrayOfTrackingResult
|
|
2179
|
+
|
|
2180
|
+
|
|
2181
|
+
class TrackingResult(GeneratedsSuper):
|
|
2182
|
+
__hash__ = GeneratedsSuper.__hash__
|
|
2183
|
+
subclass = None
|
|
2184
|
+
superclass = None
|
|
2185
|
+
def __init__(self, WaybillNumber=None, UpdateCode=None, UpdateDescription=None, UpdateDateTime=None, UpdateLocation=None, Comments=None, ProblemCode=None, GrossWeight=None, ChargeableWeight=None, WeightUnit=None, gds_collector_=None, **kwargs_):
|
|
2186
|
+
self.gds_collector_ = gds_collector_
|
|
2187
|
+
self.gds_elementtree_node_ = None
|
|
2188
|
+
self.original_tagname_ = None
|
|
2189
|
+
self.parent_object_ = kwargs_.get('parent_object_')
|
|
2190
|
+
self.ns_prefix_ = None
|
|
2191
|
+
self.WaybillNumber = WaybillNumber
|
|
2192
|
+
self.WaybillNumber_nsprefix_ = None
|
|
2193
|
+
self.UpdateCode = UpdateCode
|
|
2194
|
+
self.UpdateCode_nsprefix_ = None
|
|
2195
|
+
self.UpdateDescription = UpdateDescription
|
|
2196
|
+
self.UpdateDescription_nsprefix_ = None
|
|
2197
|
+
if isinstance(UpdateDateTime, BaseStrType_):
|
|
2198
|
+
initvalue_ = datetime_.datetime.strptime(UpdateDateTime, '%Y-%m-%dT%H:%M:%S')
|
|
2199
|
+
else:
|
|
2200
|
+
initvalue_ = UpdateDateTime
|
|
2201
|
+
self.UpdateDateTime = initvalue_
|
|
2202
|
+
self.UpdateDateTime_nsprefix_ = None
|
|
2203
|
+
self.UpdateLocation = UpdateLocation
|
|
2204
|
+
self.UpdateLocation_nsprefix_ = None
|
|
2205
|
+
self.Comments = Comments
|
|
2206
|
+
self.Comments_nsprefix_ = None
|
|
2207
|
+
self.ProblemCode = ProblemCode
|
|
2208
|
+
self.ProblemCode_nsprefix_ = None
|
|
2209
|
+
self.GrossWeight = GrossWeight
|
|
2210
|
+
self.GrossWeight_nsprefix_ = None
|
|
2211
|
+
self.ChargeableWeight = ChargeableWeight
|
|
2212
|
+
self.ChargeableWeight_nsprefix_ = None
|
|
2213
|
+
self.WeightUnit = WeightUnit
|
|
2214
|
+
self.WeightUnit_nsprefix_ = None
|
|
2215
|
+
def factory(*args_, **kwargs_):
|
|
2216
|
+
if CurrentSubclassModule_ is not None:
|
|
2217
|
+
subclass = getSubclassFromModule_(
|
|
2218
|
+
CurrentSubclassModule_, TrackingResult)
|
|
2219
|
+
if subclass is not None:
|
|
2220
|
+
return subclass(*args_, **kwargs_)
|
|
2221
|
+
if TrackingResult.subclass:
|
|
2222
|
+
return TrackingResult.subclass(*args_, **kwargs_)
|
|
2223
|
+
else:
|
|
2224
|
+
return TrackingResult(*args_, **kwargs_)
|
|
2225
|
+
factory = staticmethod(factory)
|
|
2226
|
+
def get_ns_prefix_(self):
|
|
2227
|
+
return self.ns_prefix_
|
|
2228
|
+
def set_ns_prefix_(self, ns_prefix):
|
|
2229
|
+
self.ns_prefix_ = ns_prefix
|
|
2230
|
+
def get_WaybillNumber(self):
|
|
2231
|
+
return self.WaybillNumber
|
|
2232
|
+
def set_WaybillNumber(self, WaybillNumber):
|
|
2233
|
+
self.WaybillNumber = WaybillNumber
|
|
2234
|
+
def get_UpdateCode(self):
|
|
2235
|
+
return self.UpdateCode
|
|
2236
|
+
def set_UpdateCode(self, UpdateCode):
|
|
2237
|
+
self.UpdateCode = UpdateCode
|
|
2238
|
+
def get_UpdateDescription(self):
|
|
2239
|
+
return self.UpdateDescription
|
|
2240
|
+
def set_UpdateDescription(self, UpdateDescription):
|
|
2241
|
+
self.UpdateDescription = UpdateDescription
|
|
2242
|
+
def get_UpdateDateTime(self):
|
|
2243
|
+
return self.UpdateDateTime
|
|
2244
|
+
def set_UpdateDateTime(self, UpdateDateTime):
|
|
2245
|
+
self.UpdateDateTime = UpdateDateTime
|
|
2246
|
+
def get_UpdateLocation(self):
|
|
2247
|
+
return self.UpdateLocation
|
|
2248
|
+
def set_UpdateLocation(self, UpdateLocation):
|
|
2249
|
+
self.UpdateLocation = UpdateLocation
|
|
2250
|
+
def get_Comments(self):
|
|
2251
|
+
return self.Comments
|
|
2252
|
+
def set_Comments(self, Comments):
|
|
2253
|
+
self.Comments = Comments
|
|
2254
|
+
def get_ProblemCode(self):
|
|
2255
|
+
return self.ProblemCode
|
|
2256
|
+
def set_ProblemCode(self, ProblemCode):
|
|
2257
|
+
self.ProblemCode = ProblemCode
|
|
2258
|
+
def get_GrossWeight(self):
|
|
2259
|
+
return self.GrossWeight
|
|
2260
|
+
def set_GrossWeight(self, GrossWeight):
|
|
2261
|
+
self.GrossWeight = GrossWeight
|
|
2262
|
+
def get_ChargeableWeight(self):
|
|
2263
|
+
return self.ChargeableWeight
|
|
2264
|
+
def set_ChargeableWeight(self, ChargeableWeight):
|
|
2265
|
+
self.ChargeableWeight = ChargeableWeight
|
|
2266
|
+
def get_WeightUnit(self):
|
|
2267
|
+
return self.WeightUnit
|
|
2268
|
+
def set_WeightUnit(self, WeightUnit):
|
|
2269
|
+
self.WeightUnit = WeightUnit
|
|
2270
|
+
def hasContent_(self):
|
|
2271
|
+
if (
|
|
2272
|
+
self.WaybillNumber is not None or
|
|
2273
|
+
self.UpdateCode is not None or
|
|
2274
|
+
self.UpdateDescription is not None or
|
|
2275
|
+
self.UpdateDateTime is not None or
|
|
2276
|
+
self.UpdateLocation is not None or
|
|
2277
|
+
self.Comments is not None or
|
|
2278
|
+
self.ProblemCode is not None or
|
|
2279
|
+
self.GrossWeight is not None or
|
|
2280
|
+
self.ChargeableWeight is not None or
|
|
2281
|
+
self.WeightUnit is not None
|
|
2282
|
+
):
|
|
2283
|
+
return True
|
|
2284
|
+
else:
|
|
2285
|
+
return False
|
|
2286
|
+
def export(self, outfile, level, namespaceprefix_='tns:', namespacedef_='', name_='TrackingResult', pretty_print=True):
|
|
2287
|
+
imported_ns_def_ = GenerateDSNamespaceDefs_.get('TrackingResult')
|
|
2288
|
+
if imported_ns_def_ is not None:
|
|
2289
|
+
namespacedef_ = imported_ns_def_
|
|
2290
|
+
if pretty_print:
|
|
2291
|
+
eol_ = '\n'
|
|
2292
|
+
else:
|
|
2293
|
+
eol_ = ''
|
|
2294
|
+
if self.original_tagname_ is not None and name_ == 'TrackingResult':
|
|
2295
|
+
name_ = self.original_tagname_
|
|
2296
|
+
if UseCapturedNS_ and self.ns_prefix_:
|
|
2297
|
+
namespaceprefix_ = self.ns_prefix_ + ':'
|
|
2298
|
+
showIndent(outfile, level, pretty_print)
|
|
2299
|
+
outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
|
|
2300
|
+
already_processed = set()
|
|
2301
|
+
self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TrackingResult')
|
|
2302
|
+
if self.hasContent_():
|
|
2303
|
+
outfile.write('>%s' % (eol_, ))
|
|
2304
|
+
self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TrackingResult', pretty_print=pretty_print)
|
|
2305
|
+
showIndent(outfile, level, pretty_print)
|
|
2306
|
+
outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
|
|
2307
|
+
else:
|
|
2308
|
+
outfile.write('/>%s' % (eol_, ))
|
|
2309
|
+
def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='tns:', name_='TrackingResult'):
|
|
2310
|
+
pass
|
|
2311
|
+
def exportChildren(self, outfile, level, namespaceprefix_='tns:', namespacedef_='', name_='TrackingResult', fromsubclass_=False, pretty_print=True):
|
|
2312
|
+
if pretty_print:
|
|
2313
|
+
eol_ = '\n'
|
|
2314
|
+
else:
|
|
2315
|
+
eol_ = ''
|
|
2316
|
+
if self.WaybillNumber is not None:
|
|
2317
|
+
namespaceprefix_ = self.WaybillNumber_nsprefix_ + ':' if (UseCapturedNS_ and self.WaybillNumber_nsprefix_) else ''
|
|
2318
|
+
showIndent(outfile, level, pretty_print)
|
|
2319
|
+
outfile.write('<%sWaybillNumber>%s</%sWaybillNumber>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.WaybillNumber), input_name='WaybillNumber')), namespaceprefix_ , eol_))
|
|
2320
|
+
if self.UpdateCode is not None:
|
|
2321
|
+
namespaceprefix_ = self.UpdateCode_nsprefix_ + ':' if (UseCapturedNS_ and self.UpdateCode_nsprefix_) else ''
|
|
2322
|
+
showIndent(outfile, level, pretty_print)
|
|
2323
|
+
outfile.write('<%sUpdateCode>%s</%sUpdateCode>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.UpdateCode), input_name='UpdateCode')), namespaceprefix_ , eol_))
|
|
2324
|
+
if self.UpdateDescription is not None:
|
|
2325
|
+
namespaceprefix_ = self.UpdateDescription_nsprefix_ + ':' if (UseCapturedNS_ and self.UpdateDescription_nsprefix_) else ''
|
|
2326
|
+
showIndent(outfile, level, pretty_print)
|
|
2327
|
+
outfile.write('<%sUpdateDescription>%s</%sUpdateDescription>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.UpdateDescription), input_name='UpdateDescription')), namespaceprefix_ , eol_))
|
|
2328
|
+
if self.UpdateDateTime is not None:
|
|
2329
|
+
namespaceprefix_ = self.UpdateDateTime_nsprefix_ + ':' if (UseCapturedNS_ and self.UpdateDateTime_nsprefix_) else ''
|
|
2330
|
+
showIndent(outfile, level, pretty_print)
|
|
2331
|
+
outfile.write('<%sUpdateDateTime>%s</%sUpdateDateTime>%s' % (namespaceprefix_ , self.gds_format_datetime(self.UpdateDateTime, input_name='UpdateDateTime'), namespaceprefix_ , eol_))
|
|
2332
|
+
if self.UpdateLocation is not None:
|
|
2333
|
+
namespaceprefix_ = self.UpdateLocation_nsprefix_ + ':' if (UseCapturedNS_ and self.UpdateLocation_nsprefix_) else ''
|
|
2334
|
+
showIndent(outfile, level, pretty_print)
|
|
2335
|
+
outfile.write('<%sUpdateLocation>%s</%sUpdateLocation>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.UpdateLocation), input_name='UpdateLocation')), namespaceprefix_ , eol_))
|
|
2336
|
+
if self.Comments is not None:
|
|
2337
|
+
namespaceprefix_ = self.Comments_nsprefix_ + ':' if (UseCapturedNS_ and self.Comments_nsprefix_) else ''
|
|
2338
|
+
showIndent(outfile, level, pretty_print)
|
|
2339
|
+
outfile.write('<%sComments>%s</%sComments>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Comments), input_name='Comments')), namespaceprefix_ , eol_))
|
|
2340
|
+
if self.ProblemCode is not None:
|
|
2341
|
+
namespaceprefix_ = self.ProblemCode_nsprefix_ + ':' if (UseCapturedNS_ and self.ProblemCode_nsprefix_) else ''
|
|
2342
|
+
showIndent(outfile, level, pretty_print)
|
|
2343
|
+
outfile.write('<%sProblemCode>%s</%sProblemCode>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.ProblemCode), input_name='ProblemCode')), namespaceprefix_ , eol_))
|
|
2344
|
+
if self.GrossWeight is not None:
|
|
2345
|
+
namespaceprefix_ = self.GrossWeight_nsprefix_ + ':' if (UseCapturedNS_ and self.GrossWeight_nsprefix_) else ''
|
|
2346
|
+
showIndent(outfile, level, pretty_print)
|
|
2347
|
+
outfile.write('<%sGrossWeight>%s</%sGrossWeight>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.GrossWeight), input_name='GrossWeight')), namespaceprefix_ , eol_))
|
|
2348
|
+
if self.ChargeableWeight is not None:
|
|
2349
|
+
namespaceprefix_ = self.ChargeableWeight_nsprefix_ + ':' if (UseCapturedNS_ and self.ChargeableWeight_nsprefix_) else ''
|
|
2350
|
+
showIndent(outfile, level, pretty_print)
|
|
2351
|
+
outfile.write('<%sChargeableWeight>%s</%sChargeableWeight>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.ChargeableWeight), input_name='ChargeableWeight')), namespaceprefix_ , eol_))
|
|
2352
|
+
if self.WeightUnit is not None:
|
|
2353
|
+
namespaceprefix_ = self.WeightUnit_nsprefix_ + ':' if (UseCapturedNS_ and self.WeightUnit_nsprefix_) else ''
|
|
2354
|
+
showIndent(outfile, level, pretty_print)
|
|
2355
|
+
outfile.write('<%sWeightUnit>%s</%sWeightUnit>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.WeightUnit), input_name='WeightUnit')), namespaceprefix_ , eol_))
|
|
2356
|
+
def build(self, node, gds_collector_=None):
|
|
2357
|
+
self.gds_collector_ = gds_collector_
|
|
2358
|
+
if SaveElementTreeNode:
|
|
2359
|
+
self.gds_elementtree_node_ = node
|
|
2360
|
+
already_processed = set()
|
|
2361
|
+
self.ns_prefix_ = node.prefix
|
|
2362
|
+
self.buildAttributes(node, node.attrib, already_processed)
|
|
2363
|
+
for child in node:
|
|
2364
|
+
nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
|
|
2365
|
+
self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
|
|
2366
|
+
return self
|
|
2367
|
+
def buildAttributes(self, node, attrs, already_processed):
|
|
2368
|
+
pass
|
|
2369
|
+
def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
|
|
2370
|
+
if nodeName_ == 'WaybillNumber':
|
|
2371
|
+
value_ = child_.text
|
|
2372
|
+
value_ = self.gds_parse_string(value_, node, 'WaybillNumber')
|
|
2373
|
+
value_ = self.gds_validate_string(value_, node, 'WaybillNumber')
|
|
2374
|
+
self.WaybillNumber = value_
|
|
2375
|
+
self.WaybillNumber_nsprefix_ = child_.prefix
|
|
2376
|
+
elif nodeName_ == 'UpdateCode':
|
|
2377
|
+
value_ = child_.text
|
|
2378
|
+
value_ = self.gds_parse_string(value_, node, 'UpdateCode')
|
|
2379
|
+
value_ = self.gds_validate_string(value_, node, 'UpdateCode')
|
|
2380
|
+
self.UpdateCode = value_
|
|
2381
|
+
self.UpdateCode_nsprefix_ = child_.prefix
|
|
2382
|
+
elif nodeName_ == 'UpdateDescription':
|
|
2383
|
+
value_ = child_.text
|
|
2384
|
+
value_ = self.gds_parse_string(value_, node, 'UpdateDescription')
|
|
2385
|
+
value_ = self.gds_validate_string(value_, node, 'UpdateDescription')
|
|
2386
|
+
self.UpdateDescription = value_
|
|
2387
|
+
self.UpdateDescription_nsprefix_ = child_.prefix
|
|
2388
|
+
elif nodeName_ == 'UpdateDateTime':
|
|
2389
|
+
sval_ = child_.text
|
|
2390
|
+
dval_ = self.gds_parse_datetime(sval_)
|
|
2391
|
+
self.UpdateDateTime = dval_
|
|
2392
|
+
self.UpdateDateTime_nsprefix_ = child_.prefix
|
|
2393
|
+
elif nodeName_ == 'UpdateLocation':
|
|
2394
|
+
value_ = child_.text
|
|
2395
|
+
value_ = self.gds_parse_string(value_, node, 'UpdateLocation')
|
|
2396
|
+
value_ = self.gds_validate_string(value_, node, 'UpdateLocation')
|
|
2397
|
+
self.UpdateLocation = value_
|
|
2398
|
+
self.UpdateLocation_nsprefix_ = child_.prefix
|
|
2399
|
+
elif nodeName_ == 'Comments':
|
|
2400
|
+
value_ = child_.text
|
|
2401
|
+
value_ = self.gds_parse_string(value_, node, 'Comments')
|
|
2402
|
+
value_ = self.gds_validate_string(value_, node, 'Comments')
|
|
2403
|
+
self.Comments = value_
|
|
2404
|
+
self.Comments_nsprefix_ = child_.prefix
|
|
2405
|
+
elif nodeName_ == 'ProblemCode':
|
|
2406
|
+
value_ = child_.text
|
|
2407
|
+
value_ = self.gds_parse_string(value_, node, 'ProblemCode')
|
|
2408
|
+
value_ = self.gds_validate_string(value_, node, 'ProblemCode')
|
|
2409
|
+
self.ProblemCode = value_
|
|
2410
|
+
self.ProblemCode_nsprefix_ = child_.prefix
|
|
2411
|
+
elif nodeName_ == 'GrossWeight':
|
|
2412
|
+
value_ = child_.text
|
|
2413
|
+
value_ = self.gds_parse_string(value_, node, 'GrossWeight')
|
|
2414
|
+
value_ = self.gds_validate_string(value_, node, 'GrossWeight')
|
|
2415
|
+
self.GrossWeight = value_
|
|
2416
|
+
self.GrossWeight_nsprefix_ = child_.prefix
|
|
2417
|
+
elif nodeName_ == 'ChargeableWeight':
|
|
2418
|
+
value_ = child_.text
|
|
2419
|
+
value_ = self.gds_parse_string(value_, node, 'ChargeableWeight')
|
|
2420
|
+
value_ = self.gds_validate_string(value_, node, 'ChargeableWeight')
|
|
2421
|
+
self.ChargeableWeight = value_
|
|
2422
|
+
self.ChargeableWeight_nsprefix_ = child_.prefix
|
|
2423
|
+
elif nodeName_ == 'WeightUnit':
|
|
2424
|
+
value_ = child_.text
|
|
2425
|
+
value_ = self.gds_parse_string(value_, node, 'WeightUnit')
|
|
2426
|
+
value_ = self.gds_validate_string(value_, node, 'WeightUnit')
|
|
2427
|
+
self.WeightUnit = value_
|
|
2428
|
+
self.WeightUnit_nsprefix_ = child_.prefix
|
|
2429
|
+
# end class TrackingResult
|
|
2430
|
+
|
|
2431
|
+
|
|
2432
|
+
class PickupTrackingRequest(GeneratedsSuper):
|
|
2433
|
+
__hash__ = GeneratedsSuper.__hash__
|
|
2434
|
+
subclass = None
|
|
2435
|
+
superclass = None
|
|
2436
|
+
def __init__(self, ClientInfo=None, Transaction=None, Reference=None, gds_collector_=None, **kwargs_):
|
|
2437
|
+
self.gds_collector_ = gds_collector_
|
|
2438
|
+
self.gds_elementtree_node_ = None
|
|
2439
|
+
self.original_tagname_ = None
|
|
2440
|
+
self.parent_object_ = kwargs_.get('parent_object_')
|
|
2441
|
+
self.ns_prefix_ = None
|
|
2442
|
+
self.ClientInfo = ClientInfo
|
|
2443
|
+
self.ClientInfo_nsprefix_ = None
|
|
2444
|
+
self.Transaction = Transaction
|
|
2445
|
+
self.Transaction_nsprefix_ = None
|
|
2446
|
+
self.Reference = Reference
|
|
2447
|
+
self.Reference_nsprefix_ = None
|
|
2448
|
+
def factory(*args_, **kwargs_):
|
|
2449
|
+
if CurrentSubclassModule_ is not None:
|
|
2450
|
+
subclass = getSubclassFromModule_(
|
|
2451
|
+
CurrentSubclassModule_, PickupTrackingRequest)
|
|
2452
|
+
if subclass is not None:
|
|
2453
|
+
return subclass(*args_, **kwargs_)
|
|
2454
|
+
if PickupTrackingRequest.subclass:
|
|
2455
|
+
return PickupTrackingRequest.subclass(*args_, **kwargs_)
|
|
2456
|
+
else:
|
|
2457
|
+
return PickupTrackingRequest(*args_, **kwargs_)
|
|
2458
|
+
factory = staticmethod(factory)
|
|
2459
|
+
def get_ns_prefix_(self):
|
|
2460
|
+
return self.ns_prefix_
|
|
2461
|
+
def set_ns_prefix_(self, ns_prefix):
|
|
2462
|
+
self.ns_prefix_ = ns_prefix
|
|
2463
|
+
def get_ClientInfo(self):
|
|
2464
|
+
return self.ClientInfo
|
|
2465
|
+
def set_ClientInfo(self, ClientInfo):
|
|
2466
|
+
self.ClientInfo = ClientInfo
|
|
2467
|
+
def get_Transaction(self):
|
|
2468
|
+
return self.Transaction
|
|
2469
|
+
def set_Transaction(self, Transaction):
|
|
2470
|
+
self.Transaction = Transaction
|
|
2471
|
+
def get_Reference(self):
|
|
2472
|
+
return self.Reference
|
|
2473
|
+
def set_Reference(self, Reference):
|
|
2474
|
+
self.Reference = Reference
|
|
2475
|
+
def hasContent_(self):
|
|
2476
|
+
if (
|
|
2477
|
+
self.ClientInfo is not None or
|
|
2478
|
+
self.Transaction is not None or
|
|
2479
|
+
self.Reference is not None
|
|
2480
|
+
):
|
|
2481
|
+
return True
|
|
2482
|
+
else:
|
|
2483
|
+
return False
|
|
2484
|
+
def export(self, outfile, level, namespaceprefix_='tns:', namespacedef_='', name_='PickupTrackingRequest', pretty_print=True):
|
|
2485
|
+
imported_ns_def_ = GenerateDSNamespaceDefs_.get('PickupTrackingRequest')
|
|
2486
|
+
if imported_ns_def_ is not None:
|
|
2487
|
+
namespacedef_ = imported_ns_def_
|
|
2488
|
+
if pretty_print:
|
|
2489
|
+
eol_ = '\n'
|
|
2490
|
+
else:
|
|
2491
|
+
eol_ = ''
|
|
2492
|
+
if self.original_tagname_ is not None and name_ == 'PickupTrackingRequest':
|
|
2493
|
+
name_ = self.original_tagname_
|
|
2494
|
+
if UseCapturedNS_ and self.ns_prefix_:
|
|
2495
|
+
namespaceprefix_ = self.ns_prefix_ + ':'
|
|
2496
|
+
showIndent(outfile, level, pretty_print)
|
|
2497
|
+
outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
|
|
2498
|
+
already_processed = set()
|
|
2499
|
+
self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='PickupTrackingRequest')
|
|
2500
|
+
if self.hasContent_():
|
|
2501
|
+
outfile.write('>%s' % (eol_, ))
|
|
2502
|
+
self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='PickupTrackingRequest', pretty_print=pretty_print)
|
|
2503
|
+
showIndent(outfile, level, pretty_print)
|
|
2504
|
+
outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
|
|
2505
|
+
else:
|
|
2506
|
+
outfile.write('/>%s' % (eol_, ))
|
|
2507
|
+
def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='tns:', name_='PickupTrackingRequest'):
|
|
2508
|
+
pass
|
|
2509
|
+
def exportChildren(self, outfile, level, namespaceprefix_='tns:', namespacedef_='', name_='PickupTrackingRequest', fromsubclass_=False, pretty_print=True):
|
|
2510
|
+
if pretty_print:
|
|
2511
|
+
eol_ = '\n'
|
|
2512
|
+
else:
|
|
2513
|
+
eol_ = ''
|
|
2514
|
+
if self.ClientInfo is not None:
|
|
2515
|
+
namespaceprefix_ = self.ClientInfo_nsprefix_ + ':' if (UseCapturedNS_ and self.ClientInfo_nsprefix_) else ''
|
|
2516
|
+
self.ClientInfo.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ClientInfo', pretty_print=pretty_print)
|
|
2517
|
+
if self.Transaction is not None:
|
|
2518
|
+
namespaceprefix_ = self.Transaction_nsprefix_ + ':' if (UseCapturedNS_ and self.Transaction_nsprefix_) else ''
|
|
2519
|
+
self.Transaction.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Transaction', pretty_print=pretty_print)
|
|
2520
|
+
if self.Reference is not None:
|
|
2521
|
+
namespaceprefix_ = self.Reference_nsprefix_ + ':' if (UseCapturedNS_ and self.Reference_nsprefix_) else ''
|
|
2522
|
+
showIndent(outfile, level, pretty_print)
|
|
2523
|
+
outfile.write('<%sReference>%s</%sReference>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Reference), input_name='Reference')), namespaceprefix_ , eol_))
|
|
2524
|
+
def build(self, node, gds_collector_=None):
|
|
2525
|
+
self.gds_collector_ = gds_collector_
|
|
2526
|
+
if SaveElementTreeNode:
|
|
2527
|
+
self.gds_elementtree_node_ = node
|
|
2528
|
+
already_processed = set()
|
|
2529
|
+
self.ns_prefix_ = node.prefix
|
|
2530
|
+
self.buildAttributes(node, node.attrib, already_processed)
|
|
2531
|
+
for child in node:
|
|
2532
|
+
nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
|
|
2533
|
+
self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
|
|
2534
|
+
return self
|
|
2535
|
+
def buildAttributes(self, node, attrs, already_processed):
|
|
2536
|
+
pass
|
|
2537
|
+
def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
|
|
2538
|
+
if nodeName_ == 'ClientInfo':
|
|
2539
|
+
obj_ = ClientInfo.factory(parent_object_=self)
|
|
2540
|
+
obj_.build(child_, gds_collector_=gds_collector_)
|
|
2541
|
+
self.ClientInfo = obj_
|
|
2542
|
+
obj_.original_tagname_ = 'ClientInfo'
|
|
2543
|
+
elif nodeName_ == 'Transaction':
|
|
2544
|
+
obj_ = Transaction.factory(parent_object_=self)
|
|
2545
|
+
obj_.build(child_, gds_collector_=gds_collector_)
|
|
2546
|
+
self.Transaction = obj_
|
|
2547
|
+
obj_.original_tagname_ = 'Transaction'
|
|
2548
|
+
elif nodeName_ == 'Reference':
|
|
2549
|
+
value_ = child_.text
|
|
2550
|
+
value_ = self.gds_parse_string(value_, node, 'Reference')
|
|
2551
|
+
value_ = self.gds_validate_string(value_, node, 'Reference')
|
|
2552
|
+
self.Reference = value_
|
|
2553
|
+
self.Reference_nsprefix_ = child_.prefix
|
|
2554
|
+
# end class PickupTrackingRequest
|
|
2555
|
+
|
|
2556
|
+
|
|
2557
|
+
class PickupTrackingResponse(GeneratedsSuper):
|
|
2558
|
+
__hash__ = GeneratedsSuper.__hash__
|
|
2559
|
+
subclass = None
|
|
2560
|
+
superclass = None
|
|
2561
|
+
def __init__(self, Transaction=None, Notifications=None, HasErrors=None, Entity=None, Reference=None, CollectionDate=None, PickupDate=None, LastStatus=None, LastStatusDescription=None, CollectedWaybills=None, gds_collector_=None, **kwargs_):
|
|
2562
|
+
self.gds_collector_ = gds_collector_
|
|
2563
|
+
self.gds_elementtree_node_ = None
|
|
2564
|
+
self.original_tagname_ = None
|
|
2565
|
+
self.parent_object_ = kwargs_.get('parent_object_')
|
|
2566
|
+
self.ns_prefix_ = None
|
|
2567
|
+
self.Transaction = Transaction
|
|
2568
|
+
self.Transaction_nsprefix_ = None
|
|
2569
|
+
self.Notifications = Notifications
|
|
2570
|
+
self.Notifications_nsprefix_ = None
|
|
2571
|
+
self.HasErrors = HasErrors
|
|
2572
|
+
self.HasErrors_nsprefix_ = None
|
|
2573
|
+
self.Entity = Entity
|
|
2574
|
+
self.Entity_nsprefix_ = None
|
|
2575
|
+
self.Reference = Reference
|
|
2576
|
+
self.Reference_nsprefix_ = None
|
|
2577
|
+
if isinstance(CollectionDate, BaseStrType_):
|
|
2578
|
+
initvalue_ = datetime_.datetime.strptime(CollectionDate, '%Y-%m-%dT%H:%M:%S')
|
|
2579
|
+
else:
|
|
2580
|
+
initvalue_ = CollectionDate
|
|
2581
|
+
self.CollectionDate = initvalue_
|
|
2582
|
+
self.CollectionDate_nsprefix_ = None
|
|
2583
|
+
if isinstance(PickupDate, BaseStrType_):
|
|
2584
|
+
initvalue_ = datetime_.datetime.strptime(PickupDate, '%Y-%m-%dT%H:%M:%S')
|
|
2585
|
+
else:
|
|
2586
|
+
initvalue_ = PickupDate
|
|
2587
|
+
self.PickupDate = initvalue_
|
|
2588
|
+
self.PickupDate_nsprefix_ = None
|
|
2589
|
+
self.LastStatus = LastStatus
|
|
2590
|
+
self.LastStatus_nsprefix_ = None
|
|
2591
|
+
self.LastStatusDescription = LastStatusDescription
|
|
2592
|
+
self.LastStatusDescription_nsprefix_ = None
|
|
2593
|
+
self.CollectedWaybills = CollectedWaybills
|
|
2594
|
+
self.CollectedWaybills_nsprefix_ = None
|
|
2595
|
+
def factory(*args_, **kwargs_):
|
|
2596
|
+
if CurrentSubclassModule_ is not None:
|
|
2597
|
+
subclass = getSubclassFromModule_(
|
|
2598
|
+
CurrentSubclassModule_, PickupTrackingResponse)
|
|
2599
|
+
if subclass is not None:
|
|
2600
|
+
return subclass(*args_, **kwargs_)
|
|
2601
|
+
if PickupTrackingResponse.subclass:
|
|
2602
|
+
return PickupTrackingResponse.subclass(*args_, **kwargs_)
|
|
2603
|
+
else:
|
|
2604
|
+
return PickupTrackingResponse(*args_, **kwargs_)
|
|
2605
|
+
factory = staticmethod(factory)
|
|
2606
|
+
def get_ns_prefix_(self):
|
|
2607
|
+
return self.ns_prefix_
|
|
2608
|
+
def set_ns_prefix_(self, ns_prefix):
|
|
2609
|
+
self.ns_prefix_ = ns_prefix
|
|
2610
|
+
def get_Transaction(self):
|
|
2611
|
+
return self.Transaction
|
|
2612
|
+
def set_Transaction(self, Transaction):
|
|
2613
|
+
self.Transaction = Transaction
|
|
2614
|
+
def get_Notifications(self):
|
|
2615
|
+
return self.Notifications
|
|
2616
|
+
def set_Notifications(self, Notifications):
|
|
2617
|
+
self.Notifications = Notifications
|
|
2618
|
+
def get_HasErrors(self):
|
|
2619
|
+
return self.HasErrors
|
|
2620
|
+
def set_HasErrors(self, HasErrors):
|
|
2621
|
+
self.HasErrors = HasErrors
|
|
2622
|
+
def get_Entity(self):
|
|
2623
|
+
return self.Entity
|
|
2624
|
+
def set_Entity(self, Entity):
|
|
2625
|
+
self.Entity = Entity
|
|
2626
|
+
def get_Reference(self):
|
|
2627
|
+
return self.Reference
|
|
2628
|
+
def set_Reference(self, Reference):
|
|
2629
|
+
self.Reference = Reference
|
|
2630
|
+
def get_CollectionDate(self):
|
|
2631
|
+
return self.CollectionDate
|
|
2632
|
+
def set_CollectionDate(self, CollectionDate):
|
|
2633
|
+
self.CollectionDate = CollectionDate
|
|
2634
|
+
def get_PickupDate(self):
|
|
2635
|
+
return self.PickupDate
|
|
2636
|
+
def set_PickupDate(self, PickupDate):
|
|
2637
|
+
self.PickupDate = PickupDate
|
|
2638
|
+
def get_LastStatus(self):
|
|
2639
|
+
return self.LastStatus
|
|
2640
|
+
def set_LastStatus(self, LastStatus):
|
|
2641
|
+
self.LastStatus = LastStatus
|
|
2642
|
+
def get_LastStatusDescription(self):
|
|
2643
|
+
return self.LastStatusDescription
|
|
2644
|
+
def set_LastStatusDescription(self, LastStatusDescription):
|
|
2645
|
+
self.LastStatusDescription = LastStatusDescription
|
|
2646
|
+
def get_CollectedWaybills(self):
|
|
2647
|
+
return self.CollectedWaybills
|
|
2648
|
+
def set_CollectedWaybills(self, CollectedWaybills):
|
|
2649
|
+
self.CollectedWaybills = CollectedWaybills
|
|
2650
|
+
def hasContent_(self):
|
|
2651
|
+
if (
|
|
2652
|
+
self.Transaction is not None or
|
|
2653
|
+
self.Notifications is not None or
|
|
2654
|
+
self.HasErrors is not None or
|
|
2655
|
+
self.Entity is not None or
|
|
2656
|
+
self.Reference is not None or
|
|
2657
|
+
self.CollectionDate is not None or
|
|
2658
|
+
self.PickupDate is not None or
|
|
2659
|
+
self.LastStatus is not None or
|
|
2660
|
+
self.LastStatusDescription is not None or
|
|
2661
|
+
self.CollectedWaybills is not None
|
|
2662
|
+
):
|
|
2663
|
+
return True
|
|
2664
|
+
else:
|
|
2665
|
+
return False
|
|
2666
|
+
def export(self, outfile, level, namespaceprefix_='tns:', namespacedef_='', name_='PickupTrackingResponse', pretty_print=True):
|
|
2667
|
+
imported_ns_def_ = GenerateDSNamespaceDefs_.get('PickupTrackingResponse')
|
|
2668
|
+
if imported_ns_def_ is not None:
|
|
2669
|
+
namespacedef_ = imported_ns_def_
|
|
2670
|
+
if pretty_print:
|
|
2671
|
+
eol_ = '\n'
|
|
2672
|
+
else:
|
|
2673
|
+
eol_ = ''
|
|
2674
|
+
if self.original_tagname_ is not None and name_ == 'PickupTrackingResponse':
|
|
2675
|
+
name_ = self.original_tagname_
|
|
2676
|
+
if UseCapturedNS_ and self.ns_prefix_:
|
|
2677
|
+
namespaceprefix_ = self.ns_prefix_ + ':'
|
|
2678
|
+
showIndent(outfile, level, pretty_print)
|
|
2679
|
+
outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
|
|
2680
|
+
already_processed = set()
|
|
2681
|
+
self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='PickupTrackingResponse')
|
|
2682
|
+
if self.hasContent_():
|
|
2683
|
+
outfile.write('>%s' % (eol_, ))
|
|
2684
|
+
self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='PickupTrackingResponse', pretty_print=pretty_print)
|
|
2685
|
+
showIndent(outfile, level, pretty_print)
|
|
2686
|
+
outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
|
|
2687
|
+
else:
|
|
2688
|
+
outfile.write('/>%s' % (eol_, ))
|
|
2689
|
+
def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='tns:', name_='PickupTrackingResponse'):
|
|
2690
|
+
pass
|
|
2691
|
+
def exportChildren(self, outfile, level, namespaceprefix_='tns:', namespacedef_='', name_='PickupTrackingResponse', fromsubclass_=False, pretty_print=True):
|
|
2692
|
+
if pretty_print:
|
|
2693
|
+
eol_ = '\n'
|
|
2694
|
+
else:
|
|
2695
|
+
eol_ = ''
|
|
2696
|
+
if self.Transaction is not None:
|
|
2697
|
+
namespaceprefix_ = self.Transaction_nsprefix_ + ':' if (UseCapturedNS_ and self.Transaction_nsprefix_) else ''
|
|
2698
|
+
self.Transaction.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Transaction', pretty_print=pretty_print)
|
|
2699
|
+
if self.Notifications is not None:
|
|
2700
|
+
namespaceprefix_ = self.Notifications_nsprefix_ + ':' if (UseCapturedNS_ and self.Notifications_nsprefix_) else ''
|
|
2701
|
+
self.Notifications.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Notifications', pretty_print=pretty_print)
|
|
2702
|
+
if self.HasErrors is not None:
|
|
2703
|
+
namespaceprefix_ = self.HasErrors_nsprefix_ + ':' if (UseCapturedNS_ and self.HasErrors_nsprefix_) else ''
|
|
2704
|
+
showIndent(outfile, level, pretty_print)
|
|
2705
|
+
outfile.write('<%sHasErrors>%s</%sHasErrors>%s' % (namespaceprefix_ , self.gds_format_boolean(self.HasErrors, input_name='HasErrors'), namespaceprefix_ , eol_))
|
|
2706
|
+
if self.Entity is not None:
|
|
2707
|
+
namespaceprefix_ = self.Entity_nsprefix_ + ':' if (UseCapturedNS_ and self.Entity_nsprefix_) else ''
|
|
2708
|
+
showIndent(outfile, level, pretty_print)
|
|
2709
|
+
outfile.write('<%sEntity>%s</%sEntity>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Entity), input_name='Entity')), namespaceprefix_ , eol_))
|
|
2710
|
+
if self.Reference is not None:
|
|
2711
|
+
namespaceprefix_ = self.Reference_nsprefix_ + ':' if (UseCapturedNS_ and self.Reference_nsprefix_) else ''
|
|
2712
|
+
showIndent(outfile, level, pretty_print)
|
|
2713
|
+
outfile.write('<%sReference>%s</%sReference>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Reference), input_name='Reference')), namespaceprefix_ , eol_))
|
|
2714
|
+
if self.CollectionDate is not None:
|
|
2715
|
+
namespaceprefix_ = self.CollectionDate_nsprefix_ + ':' if (UseCapturedNS_ and self.CollectionDate_nsprefix_) else ''
|
|
2716
|
+
showIndent(outfile, level, pretty_print)
|
|
2717
|
+
outfile.write('<%sCollectionDate>%s</%sCollectionDate>%s' % (namespaceprefix_ , self.gds_format_datetime(self.CollectionDate, input_name='CollectionDate'), namespaceprefix_ , eol_))
|
|
2718
|
+
if self.PickupDate is not None:
|
|
2719
|
+
namespaceprefix_ = self.PickupDate_nsprefix_ + ':' if (UseCapturedNS_ and self.PickupDate_nsprefix_) else ''
|
|
2720
|
+
showIndent(outfile, level, pretty_print)
|
|
2721
|
+
outfile.write('<%sPickupDate>%s</%sPickupDate>%s' % (namespaceprefix_ , self.gds_format_datetime(self.PickupDate, input_name='PickupDate'), namespaceprefix_ , eol_))
|
|
2722
|
+
if self.LastStatus is not None:
|
|
2723
|
+
namespaceprefix_ = self.LastStatus_nsprefix_ + ':' if (UseCapturedNS_ and self.LastStatus_nsprefix_) else ''
|
|
2724
|
+
showIndent(outfile, level, pretty_print)
|
|
2725
|
+
outfile.write('<%sLastStatus>%s</%sLastStatus>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.LastStatus), input_name='LastStatus')), namespaceprefix_ , eol_))
|
|
2726
|
+
if self.LastStatusDescription is not None:
|
|
2727
|
+
namespaceprefix_ = self.LastStatusDescription_nsprefix_ + ':' if (UseCapturedNS_ and self.LastStatusDescription_nsprefix_) else ''
|
|
2728
|
+
showIndent(outfile, level, pretty_print)
|
|
2729
|
+
outfile.write('<%sLastStatusDescription>%s</%sLastStatusDescription>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.LastStatusDescription), input_name='LastStatusDescription')), namespaceprefix_ , eol_))
|
|
2730
|
+
if self.CollectedWaybills is not None:
|
|
2731
|
+
namespaceprefix_ = self.CollectedWaybills_nsprefix_ + ':' if (UseCapturedNS_ and self.CollectedWaybills_nsprefix_) else ''
|
|
2732
|
+
self.CollectedWaybills.export(outfile, level, namespaceprefix_, namespacedef_='', name_='CollectedWaybills', pretty_print=pretty_print)
|
|
2733
|
+
def build(self, node, gds_collector_=None):
|
|
2734
|
+
self.gds_collector_ = gds_collector_
|
|
2735
|
+
if SaveElementTreeNode:
|
|
2736
|
+
self.gds_elementtree_node_ = node
|
|
2737
|
+
already_processed = set()
|
|
2738
|
+
self.ns_prefix_ = node.prefix
|
|
2739
|
+
self.buildAttributes(node, node.attrib, already_processed)
|
|
2740
|
+
for child in node:
|
|
2741
|
+
nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
|
|
2742
|
+
self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
|
|
2743
|
+
return self
|
|
2744
|
+
def buildAttributes(self, node, attrs, already_processed):
|
|
2745
|
+
pass
|
|
2746
|
+
def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
|
|
2747
|
+
if nodeName_ == 'Transaction':
|
|
2748
|
+
obj_ = Transaction.factory(parent_object_=self)
|
|
2749
|
+
obj_.build(child_, gds_collector_=gds_collector_)
|
|
2750
|
+
self.Transaction = obj_
|
|
2751
|
+
obj_.original_tagname_ = 'Transaction'
|
|
2752
|
+
elif nodeName_ == 'Notifications':
|
|
2753
|
+
obj_ = ArrayOfNotification.factory(parent_object_=self)
|
|
2754
|
+
obj_.build(child_, gds_collector_=gds_collector_)
|
|
2755
|
+
self.Notifications = obj_
|
|
2756
|
+
obj_.original_tagname_ = 'Notifications'
|
|
2757
|
+
elif nodeName_ == 'HasErrors':
|
|
2758
|
+
sval_ = child_.text
|
|
2759
|
+
ival_ = self.gds_parse_boolean(sval_, node, 'HasErrors')
|
|
2760
|
+
ival_ = self.gds_validate_boolean(ival_, node, 'HasErrors')
|
|
2761
|
+
self.HasErrors = ival_
|
|
2762
|
+
self.HasErrors_nsprefix_ = child_.prefix
|
|
2763
|
+
elif nodeName_ == 'Entity':
|
|
2764
|
+
value_ = child_.text
|
|
2765
|
+
value_ = self.gds_parse_string(value_, node, 'Entity')
|
|
2766
|
+
value_ = self.gds_validate_string(value_, node, 'Entity')
|
|
2767
|
+
self.Entity = value_
|
|
2768
|
+
self.Entity_nsprefix_ = child_.prefix
|
|
2769
|
+
elif nodeName_ == 'Reference':
|
|
2770
|
+
value_ = child_.text
|
|
2771
|
+
value_ = self.gds_parse_string(value_, node, 'Reference')
|
|
2772
|
+
value_ = self.gds_validate_string(value_, node, 'Reference')
|
|
2773
|
+
self.Reference = value_
|
|
2774
|
+
self.Reference_nsprefix_ = child_.prefix
|
|
2775
|
+
elif nodeName_ == 'CollectionDate':
|
|
2776
|
+
sval_ = child_.text
|
|
2777
|
+
dval_ = self.gds_parse_datetime(sval_)
|
|
2778
|
+
self.CollectionDate = dval_
|
|
2779
|
+
self.CollectionDate_nsprefix_ = child_.prefix
|
|
2780
|
+
elif nodeName_ == 'PickupDate':
|
|
2781
|
+
sval_ = child_.text
|
|
2782
|
+
dval_ = self.gds_parse_datetime(sval_)
|
|
2783
|
+
self.PickupDate = dval_
|
|
2784
|
+
self.PickupDate_nsprefix_ = child_.prefix
|
|
2785
|
+
elif nodeName_ == 'LastStatus':
|
|
2786
|
+
value_ = child_.text
|
|
2787
|
+
value_ = self.gds_parse_string(value_, node, 'LastStatus')
|
|
2788
|
+
value_ = self.gds_validate_string(value_, node, 'LastStatus')
|
|
2789
|
+
self.LastStatus = value_
|
|
2790
|
+
self.LastStatus_nsprefix_ = child_.prefix
|
|
2791
|
+
elif nodeName_ == 'LastStatusDescription':
|
|
2792
|
+
value_ = child_.text
|
|
2793
|
+
value_ = self.gds_parse_string(value_, node, 'LastStatusDescription')
|
|
2794
|
+
value_ = self.gds_validate_string(value_, node, 'LastStatusDescription')
|
|
2795
|
+
self.LastStatusDescription = value_
|
|
2796
|
+
self.LastStatusDescription_nsprefix_ = child_.prefix
|
|
2797
|
+
elif nodeName_ == 'CollectedWaybills':
|
|
2798
|
+
obj_ = ArrayOfstring.factory(parent_object_=self)
|
|
2799
|
+
obj_.build(child_, gds_collector_=gds_collector_)
|
|
2800
|
+
self.CollectedWaybills = obj_
|
|
2801
|
+
obj_.original_tagname_ = 'CollectedWaybills'
|
|
2802
|
+
# end class PickupTrackingResponse
|
|
2803
|
+
|
|
2804
|
+
|
|
2805
|
+
class ArrayOfstring(GeneratedsSuper):
|
|
2806
|
+
__hash__ = GeneratedsSuper.__hash__
|
|
2807
|
+
subclass = None
|
|
2808
|
+
superclass = None
|
|
2809
|
+
def __init__(self, string=None, gds_collector_=None, **kwargs_):
|
|
2810
|
+
self.gds_collector_ = gds_collector_
|
|
2811
|
+
self.gds_elementtree_node_ = None
|
|
2812
|
+
self.original_tagname_ = None
|
|
2813
|
+
self.parent_object_ = kwargs_.get('parent_object_')
|
|
2814
|
+
self.ns_prefix_ = None
|
|
2815
|
+
if string is None:
|
|
2816
|
+
self.string = []
|
|
2817
|
+
else:
|
|
2818
|
+
self.string = string
|
|
2819
|
+
self.string_nsprefix_ = None
|
|
2820
|
+
def factory(*args_, **kwargs_):
|
|
2821
|
+
if CurrentSubclassModule_ is not None:
|
|
2822
|
+
subclass = getSubclassFromModule_(
|
|
2823
|
+
CurrentSubclassModule_, ArrayOfstring)
|
|
2824
|
+
if subclass is not None:
|
|
2825
|
+
return subclass(*args_, **kwargs_)
|
|
2826
|
+
if ArrayOfstring.subclass:
|
|
2827
|
+
return ArrayOfstring.subclass(*args_, **kwargs_)
|
|
2828
|
+
else:
|
|
2829
|
+
return ArrayOfstring(*args_, **kwargs_)
|
|
2830
|
+
factory = staticmethod(factory)
|
|
2831
|
+
def get_ns_prefix_(self):
|
|
2832
|
+
return self.ns_prefix_
|
|
2833
|
+
def set_ns_prefix_(self, ns_prefix):
|
|
2834
|
+
self.ns_prefix_ = ns_prefix
|
|
2835
|
+
def get_string(self):
|
|
2836
|
+
return self.string
|
|
2837
|
+
def set_string(self, string):
|
|
2838
|
+
self.string = string
|
|
2839
|
+
def add_string(self, value):
|
|
2840
|
+
self.string.append(value)
|
|
2841
|
+
def insert_string_at(self, index, value):
|
|
2842
|
+
self.string.insert(index, value)
|
|
2843
|
+
def replace_string_at(self, index, value):
|
|
2844
|
+
self.string[index] = value
|
|
2845
|
+
def hasContent_(self):
|
|
2846
|
+
if (
|
|
2847
|
+
self.string
|
|
2848
|
+
):
|
|
2849
|
+
return True
|
|
2850
|
+
else:
|
|
2851
|
+
return False
|
|
2852
|
+
def export(self, outfile, level, namespaceprefix_='tns:', namespacedef_='', name_='ArrayOfstring', pretty_print=True):
|
|
2853
|
+
imported_ns_def_ = GenerateDSNamespaceDefs_.get('ArrayOfstring')
|
|
2854
|
+
if imported_ns_def_ is not None:
|
|
2855
|
+
namespacedef_ = imported_ns_def_
|
|
2856
|
+
if pretty_print:
|
|
2857
|
+
eol_ = '\n'
|
|
2858
|
+
else:
|
|
2859
|
+
eol_ = ''
|
|
2860
|
+
if self.original_tagname_ is not None and name_ == 'ArrayOfstring':
|
|
2861
|
+
name_ = self.original_tagname_
|
|
2862
|
+
if UseCapturedNS_ and self.ns_prefix_:
|
|
2863
|
+
namespaceprefix_ = self.ns_prefix_ + ':'
|
|
2864
|
+
showIndent(outfile, level, pretty_print)
|
|
2865
|
+
outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
|
|
2866
|
+
already_processed = set()
|
|
2867
|
+
self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ArrayOfstring')
|
|
2868
|
+
if self.hasContent_():
|
|
2869
|
+
outfile.write('>%s' % (eol_, ))
|
|
2870
|
+
self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ArrayOfstring', pretty_print=pretty_print)
|
|
2871
|
+
showIndent(outfile, level, pretty_print)
|
|
2872
|
+
outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
|
|
2873
|
+
else:
|
|
2874
|
+
outfile.write('/>%s' % (eol_, ))
|
|
2875
|
+
def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='tns:', name_='ArrayOfstring'):
|
|
2876
|
+
pass
|
|
2877
|
+
def exportChildren(self, outfile, level, namespaceprefix_='tns:', namespacedef_='', name_='ArrayOfstring', fromsubclass_=False, pretty_print=True):
|
|
2878
|
+
if pretty_print:
|
|
2879
|
+
eol_ = '\n'
|
|
2880
|
+
else:
|
|
2881
|
+
eol_ = ''
|
|
2882
|
+
for string_ in self.string:
|
|
2883
|
+
namespaceprefix_ = self.string_nsprefix_ + ':' if (UseCapturedNS_ and self.string_nsprefix_) else ''
|
|
2884
|
+
showIndent(outfile, level, pretty_print)
|
|
2885
|
+
outfile.write('<%sstring>%s</%sstring>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(string_), input_name='string')), namespaceprefix_ , eol_))
|
|
2886
|
+
def build(self, node, gds_collector_=None):
|
|
2887
|
+
self.gds_collector_ = gds_collector_
|
|
2888
|
+
if SaveElementTreeNode:
|
|
2889
|
+
self.gds_elementtree_node_ = node
|
|
2890
|
+
already_processed = set()
|
|
2891
|
+
self.ns_prefix_ = node.prefix
|
|
2892
|
+
self.buildAttributes(node, node.attrib, already_processed)
|
|
2893
|
+
for child in node:
|
|
2894
|
+
nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
|
|
2895
|
+
self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
|
|
2896
|
+
return self
|
|
2897
|
+
def buildAttributes(self, node, attrs, already_processed):
|
|
2898
|
+
pass
|
|
2899
|
+
def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
|
|
2900
|
+
if nodeName_ == 'string':
|
|
2901
|
+
value_ = child_.text
|
|
2902
|
+
value_ = self.gds_parse_string(value_, node, 'string')
|
|
2903
|
+
value_ = self.gds_validate_string(value_, node, 'string')
|
|
2904
|
+
self.string.append(value_)
|
|
2905
|
+
self.string_nsprefix_ = child_.prefix
|
|
2906
|
+
# end class ArrayOfstring
|
|
2907
|
+
|
|
2908
|
+
|
|
2909
|
+
class ArrayOfKeyValueOfstringArrayOfTrackingResultmFAkxlpY(GeneratedsSuper):
|
|
2910
|
+
__hash__ = GeneratedsSuper.__hash__
|
|
2911
|
+
subclass = None
|
|
2912
|
+
superclass = None
|
|
2913
|
+
def __init__(self, KeyValueOfstringArrayOfTrackingResultmFAkxlpY=None, gds_collector_=None, **kwargs_):
|
|
2914
|
+
self.gds_collector_ = gds_collector_
|
|
2915
|
+
self.gds_elementtree_node_ = None
|
|
2916
|
+
self.original_tagname_ = None
|
|
2917
|
+
self.parent_object_ = kwargs_.get('parent_object_')
|
|
2918
|
+
self.ns_prefix_ = None
|
|
2919
|
+
if KeyValueOfstringArrayOfTrackingResultmFAkxlpY is None:
|
|
2920
|
+
self.KeyValueOfstringArrayOfTrackingResultmFAkxlpY = []
|
|
2921
|
+
else:
|
|
2922
|
+
self.KeyValueOfstringArrayOfTrackingResultmFAkxlpY = KeyValueOfstringArrayOfTrackingResultmFAkxlpY
|
|
2923
|
+
self.KeyValueOfstringArrayOfTrackingResultmFAkxlpY_nsprefix_ = None
|
|
2924
|
+
def factory(*args_, **kwargs_):
|
|
2925
|
+
if CurrentSubclassModule_ is not None:
|
|
2926
|
+
subclass = getSubclassFromModule_(
|
|
2927
|
+
CurrentSubclassModule_, ArrayOfKeyValueOfstringArrayOfTrackingResultmFAkxlpY)
|
|
2928
|
+
if subclass is not None:
|
|
2929
|
+
return subclass(*args_, **kwargs_)
|
|
2930
|
+
if ArrayOfKeyValueOfstringArrayOfTrackingResultmFAkxlpY.subclass:
|
|
2931
|
+
return ArrayOfKeyValueOfstringArrayOfTrackingResultmFAkxlpY.subclass(*args_, **kwargs_)
|
|
2932
|
+
else:
|
|
2933
|
+
return ArrayOfKeyValueOfstringArrayOfTrackingResultmFAkxlpY(*args_, **kwargs_)
|
|
2934
|
+
factory = staticmethod(factory)
|
|
2935
|
+
def get_ns_prefix_(self):
|
|
2936
|
+
return self.ns_prefix_
|
|
2937
|
+
def set_ns_prefix_(self, ns_prefix):
|
|
2938
|
+
self.ns_prefix_ = ns_prefix
|
|
2939
|
+
def get_KeyValueOfstringArrayOfTrackingResultmFAkxlpY(self):
|
|
2940
|
+
return self.KeyValueOfstringArrayOfTrackingResultmFAkxlpY
|
|
2941
|
+
def set_KeyValueOfstringArrayOfTrackingResultmFAkxlpY(self, KeyValueOfstringArrayOfTrackingResultmFAkxlpY):
|
|
2942
|
+
self.KeyValueOfstringArrayOfTrackingResultmFAkxlpY = KeyValueOfstringArrayOfTrackingResultmFAkxlpY
|
|
2943
|
+
def add_KeyValueOfstringArrayOfTrackingResultmFAkxlpY(self, value):
|
|
2944
|
+
self.KeyValueOfstringArrayOfTrackingResultmFAkxlpY.append(value)
|
|
2945
|
+
def insert_KeyValueOfstringArrayOfTrackingResultmFAkxlpY_at(self, index, value):
|
|
2946
|
+
self.KeyValueOfstringArrayOfTrackingResultmFAkxlpY.insert(index, value)
|
|
2947
|
+
def replace_KeyValueOfstringArrayOfTrackingResultmFAkxlpY_at(self, index, value):
|
|
2948
|
+
self.KeyValueOfstringArrayOfTrackingResultmFAkxlpY[index] = value
|
|
2949
|
+
def hasContent_(self):
|
|
2950
|
+
if (
|
|
2951
|
+
self.KeyValueOfstringArrayOfTrackingResultmFAkxlpY
|
|
2952
|
+
):
|
|
2953
|
+
return True
|
|
2954
|
+
else:
|
|
2955
|
+
return False
|
|
2956
|
+
def export(self, outfile, level, namespaceprefix_='tns:', namespacedef_='', name_='ArrayOfKeyValueOfstringArrayOfTrackingResultmFAkxlpY', pretty_print=True):
|
|
2957
|
+
imported_ns_def_ = GenerateDSNamespaceDefs_.get('ArrayOfKeyValueOfstringArrayOfTrackingResultmFAkxlpY')
|
|
2958
|
+
if imported_ns_def_ is not None:
|
|
2959
|
+
namespacedef_ = imported_ns_def_
|
|
2960
|
+
if pretty_print:
|
|
2961
|
+
eol_ = '\n'
|
|
2962
|
+
else:
|
|
2963
|
+
eol_ = ''
|
|
2964
|
+
if self.original_tagname_ is not None and name_ == 'ArrayOfKeyValueOfstringArrayOfTrackingResultmFAkxlpY':
|
|
2965
|
+
name_ = self.original_tagname_
|
|
2966
|
+
if UseCapturedNS_ and self.ns_prefix_:
|
|
2967
|
+
namespaceprefix_ = self.ns_prefix_ + ':'
|
|
2968
|
+
showIndent(outfile, level, pretty_print)
|
|
2969
|
+
outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
|
|
2970
|
+
already_processed = set()
|
|
2971
|
+
self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ArrayOfKeyValueOfstringArrayOfTrackingResultmFAkxlpY')
|
|
2972
|
+
if self.hasContent_():
|
|
2973
|
+
outfile.write('>%s' % (eol_, ))
|
|
2974
|
+
self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ArrayOfKeyValueOfstringArrayOfTrackingResultmFAkxlpY', pretty_print=pretty_print)
|
|
2975
|
+
showIndent(outfile, level, pretty_print)
|
|
2976
|
+
outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
|
|
2977
|
+
else:
|
|
2978
|
+
outfile.write('/>%s' % (eol_, ))
|
|
2979
|
+
def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='tns:', name_='ArrayOfKeyValueOfstringArrayOfTrackingResultmFAkxlpY'):
|
|
2980
|
+
pass
|
|
2981
|
+
def exportChildren(self, outfile, level, namespaceprefix_='tns:', namespacedef_='', name_='ArrayOfKeyValueOfstringArrayOfTrackingResultmFAkxlpY', fromsubclass_=False, pretty_print=True):
|
|
2982
|
+
if pretty_print:
|
|
2983
|
+
eol_ = '\n'
|
|
2984
|
+
else:
|
|
2985
|
+
eol_ = ''
|
|
2986
|
+
for KeyValueOfstringArrayOfTrackingResultmFAkxlpY_ in self.KeyValueOfstringArrayOfTrackingResultmFAkxlpY:
|
|
2987
|
+
namespaceprefix_ = self.KeyValueOfstringArrayOfTrackingResultmFAkxlpY_nsprefix_ + ':' if (UseCapturedNS_ and self.KeyValueOfstringArrayOfTrackingResultmFAkxlpY_nsprefix_) else ''
|
|
2988
|
+
KeyValueOfstringArrayOfTrackingResultmFAkxlpY_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='KeyValueOfstringArrayOfTrackingResultmFAkxlpY', pretty_print=pretty_print)
|
|
2989
|
+
def build(self, node, gds_collector_=None):
|
|
2990
|
+
self.gds_collector_ = gds_collector_
|
|
2991
|
+
if SaveElementTreeNode:
|
|
2992
|
+
self.gds_elementtree_node_ = node
|
|
2993
|
+
already_processed = set()
|
|
2994
|
+
self.ns_prefix_ = node.prefix
|
|
2995
|
+
self.buildAttributes(node, node.attrib, already_processed)
|
|
2996
|
+
for child in node:
|
|
2997
|
+
nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
|
|
2998
|
+
self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
|
|
2999
|
+
return self
|
|
3000
|
+
def buildAttributes(self, node, attrs, already_processed):
|
|
3001
|
+
pass
|
|
3002
|
+
def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
|
|
3003
|
+
if nodeName_ == 'KeyValueOfstringArrayOfTrackingResultmFAkxlpY':
|
|
3004
|
+
obj_ = KeyValueOfstringArrayOfTrackingResultmFAkxlpYType3.factory(parent_object_=self)
|
|
3005
|
+
obj_.build(child_, gds_collector_=gds_collector_)
|
|
3006
|
+
self.KeyValueOfstringArrayOfTrackingResultmFAkxlpY.append(obj_)
|
|
3007
|
+
obj_.original_tagname_ = 'KeyValueOfstringArrayOfTrackingResultmFAkxlpY'
|
|
3008
|
+
# end class ArrayOfKeyValueOfstringArrayOfTrackingResultmFAkxlpY
|
|
3009
|
+
|
|
3010
|
+
|
|
3011
|
+
class KeyValueOfstringArrayOfTrackingResultmFAkxlpYType(GeneratedsSuper):
|
|
3012
|
+
__hash__ = GeneratedsSuper.__hash__
|
|
3013
|
+
subclass = None
|
|
3014
|
+
superclass = None
|
|
3015
|
+
def __init__(self, Key=None, Value=None, gds_collector_=None, **kwargs_):
|
|
3016
|
+
self.gds_collector_ = gds_collector_
|
|
3017
|
+
self.gds_elementtree_node_ = None
|
|
3018
|
+
self.original_tagname_ = None
|
|
3019
|
+
self.parent_object_ = kwargs_.get('parent_object_')
|
|
3020
|
+
self.ns_prefix_ = None
|
|
3021
|
+
self.Key = Key
|
|
3022
|
+
self.Key_nsprefix_ = None
|
|
3023
|
+
self.Value = Value
|
|
3024
|
+
self.Value_nsprefix_ = None
|
|
3025
|
+
def factory(*args_, **kwargs_):
|
|
3026
|
+
if CurrentSubclassModule_ is not None:
|
|
3027
|
+
subclass = getSubclassFromModule_(
|
|
3028
|
+
CurrentSubclassModule_, KeyValueOfstringArrayOfTrackingResultmFAkxlpYType)
|
|
3029
|
+
if subclass is not None:
|
|
3030
|
+
return subclass(*args_, **kwargs_)
|
|
3031
|
+
if KeyValueOfstringArrayOfTrackingResultmFAkxlpYType.subclass:
|
|
3032
|
+
return KeyValueOfstringArrayOfTrackingResultmFAkxlpYType.subclass(*args_, **kwargs_)
|
|
3033
|
+
else:
|
|
3034
|
+
return KeyValueOfstringArrayOfTrackingResultmFAkxlpYType(*args_, **kwargs_)
|
|
3035
|
+
factory = staticmethod(factory)
|
|
3036
|
+
def get_ns_prefix_(self):
|
|
3037
|
+
return self.ns_prefix_
|
|
3038
|
+
def set_ns_prefix_(self, ns_prefix):
|
|
3039
|
+
self.ns_prefix_ = ns_prefix
|
|
3040
|
+
def get_Key(self):
|
|
3041
|
+
return self.Key
|
|
3042
|
+
def set_Key(self, Key):
|
|
3043
|
+
self.Key = Key
|
|
3044
|
+
def get_Value(self):
|
|
3045
|
+
return self.Value
|
|
3046
|
+
def set_Value(self, Value):
|
|
3047
|
+
self.Value = Value
|
|
3048
|
+
def hasContent_(self):
|
|
3049
|
+
if (
|
|
3050
|
+
self.Key is not None or
|
|
3051
|
+
self.Value is not None
|
|
3052
|
+
):
|
|
3053
|
+
return True
|
|
3054
|
+
else:
|
|
3055
|
+
return False
|
|
3056
|
+
def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='KeyValueOfstringArrayOfTrackingResultmFAkxlpYType', pretty_print=True):
|
|
3057
|
+
imported_ns_def_ = GenerateDSNamespaceDefs_.get('KeyValueOfstringArrayOfTrackingResultmFAkxlpYType')
|
|
3058
|
+
if imported_ns_def_ is not None:
|
|
3059
|
+
namespacedef_ = imported_ns_def_
|
|
3060
|
+
if pretty_print:
|
|
3061
|
+
eol_ = '\n'
|
|
3062
|
+
else:
|
|
3063
|
+
eol_ = ''
|
|
3064
|
+
if self.original_tagname_ is not None and name_ == 'KeyValueOfstringArrayOfTrackingResultmFAkxlpYType':
|
|
3065
|
+
name_ = self.original_tagname_
|
|
3066
|
+
if UseCapturedNS_ and self.ns_prefix_:
|
|
3067
|
+
namespaceprefix_ = self.ns_prefix_ + ':'
|
|
3068
|
+
showIndent(outfile, level, pretty_print)
|
|
3069
|
+
outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
|
|
3070
|
+
already_processed = set()
|
|
3071
|
+
self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='KeyValueOfstringArrayOfTrackingResultmFAkxlpYType')
|
|
3072
|
+
if self.hasContent_():
|
|
3073
|
+
outfile.write('>%s' % (eol_, ))
|
|
3074
|
+
self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='KeyValueOfstringArrayOfTrackingResultmFAkxlpYType', pretty_print=pretty_print)
|
|
3075
|
+
showIndent(outfile, level, pretty_print)
|
|
3076
|
+
outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
|
|
3077
|
+
else:
|
|
3078
|
+
outfile.write('/>%s' % (eol_, ))
|
|
3079
|
+
def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='KeyValueOfstringArrayOfTrackingResultmFAkxlpYType'):
|
|
3080
|
+
pass
|
|
3081
|
+
def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='KeyValueOfstringArrayOfTrackingResultmFAkxlpYType', fromsubclass_=False, pretty_print=True):
|
|
3082
|
+
if pretty_print:
|
|
3083
|
+
eol_ = '\n'
|
|
3084
|
+
else:
|
|
3085
|
+
eol_ = ''
|
|
3086
|
+
if self.Key is not None:
|
|
3087
|
+
namespaceprefix_ = self.Key_nsprefix_ + ':' if (UseCapturedNS_ and self.Key_nsprefix_) else ''
|
|
3088
|
+
showIndent(outfile, level, pretty_print)
|
|
3089
|
+
outfile.write('<%sKey>%s</%sKey>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Key), input_name='Key')), namespaceprefix_ , eol_))
|
|
3090
|
+
if self.Value is not None:
|
|
3091
|
+
namespaceprefix_ = self.Value_nsprefix_ + ':' if (UseCapturedNS_ and self.Value_nsprefix_) else ''
|
|
3092
|
+
self.Value.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Value', pretty_print=pretty_print)
|
|
3093
|
+
def build(self, node, gds_collector_=None):
|
|
3094
|
+
self.gds_collector_ = gds_collector_
|
|
3095
|
+
if SaveElementTreeNode:
|
|
3096
|
+
self.gds_elementtree_node_ = node
|
|
3097
|
+
already_processed = set()
|
|
3098
|
+
self.ns_prefix_ = node.prefix
|
|
3099
|
+
self.buildAttributes(node, node.attrib, already_processed)
|
|
3100
|
+
for child in node:
|
|
3101
|
+
nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
|
|
3102
|
+
self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
|
|
3103
|
+
return self
|
|
3104
|
+
def buildAttributes(self, node, attrs, already_processed):
|
|
3105
|
+
pass
|
|
3106
|
+
def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
|
|
3107
|
+
if nodeName_ == 'Key':
|
|
3108
|
+
value_ = child_.text
|
|
3109
|
+
value_ = self.gds_parse_string(value_, node, 'Key')
|
|
3110
|
+
value_ = self.gds_validate_string(value_, node, 'Key')
|
|
3111
|
+
self.Key = value_
|
|
3112
|
+
self.Key_nsprefix_ = child_.prefix
|
|
3113
|
+
elif nodeName_ == 'Value':
|
|
3114
|
+
obj_ = ArrayOfTrackingResult.factory(parent_object_=self)
|
|
3115
|
+
obj_.build(child_, gds_collector_=gds_collector_)
|
|
3116
|
+
self.Value = obj_
|
|
3117
|
+
obj_.original_tagname_ = 'Value'
|
|
3118
|
+
# end class KeyValueOfstringArrayOfTrackingResultmFAkxlpYType
|
|
3119
|
+
|
|
3120
|
+
|
|
3121
|
+
class KeyValueOfstringArrayOfTrackingResultmFAkxlpYType3(GeneratedsSuper):
|
|
3122
|
+
__hash__ = GeneratedsSuper.__hash__
|
|
3123
|
+
subclass = None
|
|
3124
|
+
superclass = None
|
|
3125
|
+
def __init__(self, Key=None, Value=None, gds_collector_=None, **kwargs_):
|
|
3126
|
+
self.gds_collector_ = gds_collector_
|
|
3127
|
+
self.gds_elementtree_node_ = None
|
|
3128
|
+
self.original_tagname_ = None
|
|
3129
|
+
self.parent_object_ = kwargs_.get('parent_object_')
|
|
3130
|
+
self.ns_prefix_ = None
|
|
3131
|
+
self.Key = Key
|
|
3132
|
+
self.Key_nsprefix_ = None
|
|
3133
|
+
self.Value = Value
|
|
3134
|
+
self.Value_nsprefix_ = None
|
|
3135
|
+
def factory(*args_, **kwargs_):
|
|
3136
|
+
if CurrentSubclassModule_ is not None:
|
|
3137
|
+
subclass = getSubclassFromModule_(
|
|
3138
|
+
CurrentSubclassModule_, KeyValueOfstringArrayOfTrackingResultmFAkxlpYType3)
|
|
3139
|
+
if subclass is not None:
|
|
3140
|
+
return subclass(*args_, **kwargs_)
|
|
3141
|
+
if KeyValueOfstringArrayOfTrackingResultmFAkxlpYType3.subclass:
|
|
3142
|
+
return KeyValueOfstringArrayOfTrackingResultmFAkxlpYType3.subclass(*args_, **kwargs_)
|
|
3143
|
+
else:
|
|
3144
|
+
return KeyValueOfstringArrayOfTrackingResultmFAkxlpYType3(*args_, **kwargs_)
|
|
3145
|
+
factory = staticmethod(factory)
|
|
3146
|
+
def get_ns_prefix_(self):
|
|
3147
|
+
return self.ns_prefix_
|
|
3148
|
+
def set_ns_prefix_(self, ns_prefix):
|
|
3149
|
+
self.ns_prefix_ = ns_prefix
|
|
3150
|
+
def get_Key(self):
|
|
3151
|
+
return self.Key
|
|
3152
|
+
def set_Key(self, Key):
|
|
3153
|
+
self.Key = Key
|
|
3154
|
+
def get_Value(self):
|
|
3155
|
+
return self.Value
|
|
3156
|
+
def set_Value(self, Value):
|
|
3157
|
+
self.Value = Value
|
|
3158
|
+
def hasContent_(self):
|
|
3159
|
+
if (
|
|
3160
|
+
self.Key is not None or
|
|
3161
|
+
self.Value is not None
|
|
3162
|
+
):
|
|
3163
|
+
return True
|
|
3164
|
+
else:
|
|
3165
|
+
return False
|
|
3166
|
+
def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='KeyValueOfstringArrayOfTrackingResultmFAkxlpYType3', pretty_print=True):
|
|
3167
|
+
imported_ns_def_ = GenerateDSNamespaceDefs_.get('KeyValueOfstringArrayOfTrackingResultmFAkxlpYType3')
|
|
3168
|
+
if imported_ns_def_ is not None:
|
|
3169
|
+
namespacedef_ = imported_ns_def_
|
|
3170
|
+
if pretty_print:
|
|
3171
|
+
eol_ = '\n'
|
|
3172
|
+
else:
|
|
3173
|
+
eol_ = ''
|
|
3174
|
+
if self.original_tagname_ is not None and name_ == 'KeyValueOfstringArrayOfTrackingResultmFAkxlpYType3':
|
|
3175
|
+
name_ = self.original_tagname_
|
|
3176
|
+
if UseCapturedNS_ and self.ns_prefix_:
|
|
3177
|
+
namespaceprefix_ = self.ns_prefix_ + ':'
|
|
3178
|
+
showIndent(outfile, level, pretty_print)
|
|
3179
|
+
outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
|
|
3180
|
+
already_processed = set()
|
|
3181
|
+
self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='KeyValueOfstringArrayOfTrackingResultmFAkxlpYType3')
|
|
3182
|
+
if self.hasContent_():
|
|
3183
|
+
outfile.write('>%s' % (eol_, ))
|
|
3184
|
+
self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='KeyValueOfstringArrayOfTrackingResultmFAkxlpYType3', pretty_print=pretty_print)
|
|
3185
|
+
showIndent(outfile, level, pretty_print)
|
|
3186
|
+
outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
|
|
3187
|
+
else:
|
|
3188
|
+
outfile.write('/>%s' % (eol_, ))
|
|
3189
|
+
def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='KeyValueOfstringArrayOfTrackingResultmFAkxlpYType3'):
|
|
3190
|
+
pass
|
|
3191
|
+
def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='KeyValueOfstringArrayOfTrackingResultmFAkxlpYType3', fromsubclass_=False, pretty_print=True):
|
|
3192
|
+
if pretty_print:
|
|
3193
|
+
eol_ = '\n'
|
|
3194
|
+
else:
|
|
3195
|
+
eol_ = ''
|
|
3196
|
+
if self.Key is not None:
|
|
3197
|
+
namespaceprefix_ = self.Key_nsprefix_ + ':' if (UseCapturedNS_ and self.Key_nsprefix_) else ''
|
|
3198
|
+
showIndent(outfile, level, pretty_print)
|
|
3199
|
+
outfile.write('<%sKey>%s</%sKey>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Key), input_name='Key')), namespaceprefix_ , eol_))
|
|
3200
|
+
if self.Value is not None:
|
|
3201
|
+
namespaceprefix_ = self.Value_nsprefix_ + ':' if (UseCapturedNS_ and self.Value_nsprefix_) else ''
|
|
3202
|
+
self.Value.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Value', pretty_print=pretty_print)
|
|
3203
|
+
def build(self, node, gds_collector_=None):
|
|
3204
|
+
self.gds_collector_ = gds_collector_
|
|
3205
|
+
if SaveElementTreeNode:
|
|
3206
|
+
self.gds_elementtree_node_ = node
|
|
3207
|
+
already_processed = set()
|
|
3208
|
+
self.ns_prefix_ = node.prefix
|
|
3209
|
+
self.buildAttributes(node, node.attrib, already_processed)
|
|
3210
|
+
for child in node:
|
|
3211
|
+
nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
|
|
3212
|
+
self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
|
|
3213
|
+
return self
|
|
3214
|
+
def buildAttributes(self, node, attrs, already_processed):
|
|
3215
|
+
pass
|
|
3216
|
+
def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
|
|
3217
|
+
if nodeName_ == 'Key':
|
|
3218
|
+
value_ = child_.text
|
|
3219
|
+
value_ = self.gds_parse_string(value_, node, 'Key')
|
|
3220
|
+
value_ = self.gds_validate_string(value_, node, 'Key')
|
|
3221
|
+
self.Key = value_
|
|
3222
|
+
self.Key_nsprefix_ = child_.prefix
|
|
3223
|
+
elif nodeName_ == 'Value':
|
|
3224
|
+
obj_ = ArrayOfTrackingResult.factory(parent_object_=self)
|
|
3225
|
+
obj_.build(child_, gds_collector_=gds_collector_)
|
|
3226
|
+
self.Value = obj_
|
|
3227
|
+
obj_.original_tagname_ = 'Value'
|
|
3228
|
+
# end class KeyValueOfstringArrayOfTrackingResultmFAkxlpYType3
|
|
3229
|
+
|
|
3230
|
+
|
|
3231
|
+
GDSClassesMapping = {
|
|
3232
|
+
'ArrayOfKeyValueOfstringArrayOfTrackingResultmFAkxlpY': ArrayOfKeyValueOfstringArrayOfTrackingResultmFAkxlpY,
|
|
3233
|
+
'ArrayOfKeyValueOfstringArrayOfTrackingResultmFAkxlpY': ArrayOfKeyValueOfstringArrayOfTrackingResultmFAkxlpY2,
|
|
3234
|
+
'ArrayOfNotification': ArrayOfNotification,
|
|
3235
|
+
'ArrayOfTrackingResult': ArrayOfTrackingResult,
|
|
3236
|
+
'ArrayOfstring': ArrayOfstring,
|
|
3237
|
+
'ArrayOfstring': ArrayOfstring1,
|
|
3238
|
+
'ClientInfo': ClientInfo,
|
|
3239
|
+
'Notification': Notification,
|
|
3240
|
+
'TrackingResult': TrackingResult,
|
|
3241
|
+
'Transaction': Transaction,
|
|
3242
|
+
}
|
|
3243
|
+
|
|
3244
|
+
|
|
3245
|
+
USAGE_TEXT = """
|
|
3246
|
+
Usage: python <Parser>.py [ -s ] <in_xml_file>
|
|
3247
|
+
"""
|
|
3248
|
+
|
|
3249
|
+
|
|
3250
|
+
def usage():
|
|
3251
|
+
print(USAGE_TEXT)
|
|
3252
|
+
sys.exit(1)
|
|
3253
|
+
|
|
3254
|
+
|
|
3255
|
+
def get_root_tag(node):
|
|
3256
|
+
tag = Tag_pattern_.match(node.tag).groups()[-1]
|
|
3257
|
+
rootClass = GDSClassesMapping.get(tag)
|
|
3258
|
+
if rootClass is None:
|
|
3259
|
+
rootClass = globals().get(tag)
|
|
3260
|
+
return tag, rootClass
|
|
3261
|
+
|
|
3262
|
+
|
|
3263
|
+
def get_required_ns_prefix_defs(rootNode):
|
|
3264
|
+
'''Get all name space prefix definitions required in this XML doc.
|
|
3265
|
+
Return a dictionary of definitions and a char string of definitions.
|
|
3266
|
+
'''
|
|
3267
|
+
nsmap = {
|
|
3268
|
+
prefix: uri
|
|
3269
|
+
for node in rootNode.iter()
|
|
3270
|
+
for (prefix, uri) in node.nsmap.items()
|
|
3271
|
+
if prefix is not None
|
|
3272
|
+
}
|
|
3273
|
+
namespacedefs = ' '.join([
|
|
3274
|
+
'xmlns:{}="{}"'.format(prefix, uri)
|
|
3275
|
+
for prefix, uri in nsmap.items()
|
|
3276
|
+
])
|
|
3277
|
+
return nsmap, namespacedefs
|
|
3278
|
+
|
|
3279
|
+
|
|
3280
|
+
def parse(inFileName, silence=False, print_warnings=True):
|
|
3281
|
+
global CapturedNsmap_
|
|
3282
|
+
gds_collector = GdsCollector_()
|
|
3283
|
+
parser = None
|
|
3284
|
+
doc = parsexml_(inFileName, parser)
|
|
3285
|
+
rootNode = doc.getroot()
|
|
3286
|
+
rootTag, rootClass = get_root_tag(rootNode)
|
|
3287
|
+
if rootClass is None:
|
|
3288
|
+
rootTag = 'ArrayOfstring1'
|
|
3289
|
+
rootClass = ArrayOfstring1
|
|
3290
|
+
rootObj = rootClass.factory()
|
|
3291
|
+
rootObj.build(rootNode, gds_collector_=gds_collector)
|
|
3292
|
+
CapturedNsmap_, namespacedefs = get_required_ns_prefix_defs(rootNode)
|
|
3293
|
+
if not SaveElementTreeNode:
|
|
3294
|
+
doc = None
|
|
3295
|
+
rootNode = None
|
|
3296
|
+
if not silence:
|
|
3297
|
+
sys.stdout.write('<?xml version="1.0" ?>\n')
|
|
3298
|
+
rootObj.export(
|
|
3299
|
+
sys.stdout, 0, name_=rootTag,
|
|
3300
|
+
namespacedef_=namespacedefs,
|
|
3301
|
+
pretty_print=True)
|
|
3302
|
+
if print_warnings and len(gds_collector.get_messages()) > 0:
|
|
3303
|
+
separator = ('-' * 50) + '\n'
|
|
3304
|
+
sys.stderr.write(separator)
|
|
3305
|
+
sys.stderr.write('----- Warnings -- count: {} -----\n'.format(
|
|
3306
|
+
len(gds_collector.get_messages()), ))
|
|
3307
|
+
gds_collector.write_messages(sys.stderr)
|
|
3308
|
+
sys.stderr.write(separator)
|
|
3309
|
+
return rootObj
|
|
3310
|
+
|
|
3311
|
+
|
|
3312
|
+
def parseEtree(inFileName, silence=False, print_warnings=True,
|
|
3313
|
+
mapping=None, nsmap=None):
|
|
3314
|
+
parser = None
|
|
3315
|
+
doc = parsexml_(inFileName, parser)
|
|
3316
|
+
gds_collector = GdsCollector_()
|
|
3317
|
+
rootNode = doc.getroot()
|
|
3318
|
+
rootTag, rootClass = get_root_tag(rootNode)
|
|
3319
|
+
if rootClass is None:
|
|
3320
|
+
rootTag = 'ArrayOfstring1'
|
|
3321
|
+
rootClass = ArrayOfstring1
|
|
3322
|
+
rootObj = rootClass.factory()
|
|
3323
|
+
rootObj.build(rootNode, gds_collector_=gds_collector)
|
|
3324
|
+
# Enable Python to collect the space used by the DOM.
|
|
3325
|
+
if mapping is None:
|
|
3326
|
+
mapping = {}
|
|
3327
|
+
rootElement = rootObj.to_etree(
|
|
3328
|
+
None, name_=rootTag, mapping_=mapping, nsmap_=nsmap)
|
|
3329
|
+
reverse_mapping = rootObj.gds_reverse_node_mapping(mapping)
|
|
3330
|
+
if not SaveElementTreeNode:
|
|
3331
|
+
doc = None
|
|
3332
|
+
rootNode = None
|
|
3333
|
+
if not silence:
|
|
3334
|
+
content = etree_.tostring(
|
|
3335
|
+
rootElement, pretty_print=True,
|
|
3336
|
+
xml_declaration=True, encoding="utf-8")
|
|
3337
|
+
sys.stdout.write(str(content))
|
|
3338
|
+
sys.stdout.write('\n')
|
|
3339
|
+
if print_warnings and len(gds_collector.get_messages()) > 0:
|
|
3340
|
+
separator = ('-' * 50) + '\n'
|
|
3341
|
+
sys.stderr.write(separator)
|
|
3342
|
+
sys.stderr.write('----- Warnings -- count: {} -----\n'.format(
|
|
3343
|
+
len(gds_collector.get_messages()), ))
|
|
3344
|
+
gds_collector.write_messages(sys.stderr)
|
|
3345
|
+
sys.stderr.write(separator)
|
|
3346
|
+
return rootObj, rootElement, mapping, reverse_mapping
|
|
3347
|
+
|
|
3348
|
+
|
|
3349
|
+
def parseString(inString, silence=False, print_warnings=True):
|
|
3350
|
+
'''Parse a string, create the object tree, and export it.
|
|
3351
|
+
|
|
3352
|
+
Arguments:
|
|
3353
|
+
- inString -- A string. This XML fragment should not start
|
|
3354
|
+
with an XML declaration containing an encoding.
|
|
3355
|
+
- silence -- A boolean. If False, export the object.
|
|
3356
|
+
Returns -- The root object in the tree.
|
|
3357
|
+
'''
|
|
3358
|
+
parser = None
|
|
3359
|
+
rootNode= parsexmlstring_(inString, parser)
|
|
3360
|
+
gds_collector = GdsCollector_()
|
|
3361
|
+
rootTag, rootClass = get_root_tag(rootNode)
|
|
3362
|
+
if rootClass is None:
|
|
3363
|
+
rootTag = 'ArrayOfstring1'
|
|
3364
|
+
rootClass = ArrayOfstring1
|
|
3365
|
+
rootObj = rootClass.factory()
|
|
3366
|
+
rootObj.build(rootNode, gds_collector_=gds_collector)
|
|
3367
|
+
if not SaveElementTreeNode:
|
|
3368
|
+
rootNode = None
|
|
3369
|
+
if not silence:
|
|
3370
|
+
sys.stdout.write('<?xml version="1.0" ?>\n')
|
|
3371
|
+
rootObj.export(
|
|
3372
|
+
sys.stdout, 0, name_=rootTag,
|
|
3373
|
+
namespacedef_='xmlns:tns="http://schemas.microsoft.com/2003/10/Serialization/Arrays"')
|
|
3374
|
+
if print_warnings and len(gds_collector.get_messages()) > 0:
|
|
3375
|
+
separator = ('-' * 50) + '\n'
|
|
3376
|
+
sys.stderr.write(separator)
|
|
3377
|
+
sys.stderr.write('----- Warnings -- count: {} -----\n'.format(
|
|
3378
|
+
len(gds_collector.get_messages()), ))
|
|
3379
|
+
gds_collector.write_messages(sys.stderr)
|
|
3380
|
+
sys.stderr.write(separator)
|
|
3381
|
+
return rootObj
|
|
3382
|
+
|
|
3383
|
+
|
|
3384
|
+
def parseLiteral(inFileName, silence=False, print_warnings=True):
|
|
3385
|
+
parser = None
|
|
3386
|
+
doc = parsexml_(inFileName, parser)
|
|
3387
|
+
gds_collector = GdsCollector_()
|
|
3388
|
+
rootNode = doc.getroot()
|
|
3389
|
+
rootTag, rootClass = get_root_tag(rootNode)
|
|
3390
|
+
if rootClass is None:
|
|
3391
|
+
rootTag = 'ArrayOfstring1'
|
|
3392
|
+
rootClass = ArrayOfstring1
|
|
3393
|
+
rootObj = rootClass.factory()
|
|
3394
|
+
rootObj.build(rootNode, gds_collector_=gds_collector)
|
|
3395
|
+
# Enable Python to collect the space used by the DOM.
|
|
3396
|
+
if not SaveElementTreeNode:
|
|
3397
|
+
doc = None
|
|
3398
|
+
rootNode = None
|
|
3399
|
+
if not silence:
|
|
3400
|
+
sys.stdout.write('#from array_of_string import *\n\n')
|
|
3401
|
+
sys.stdout.write('import array_of_string as model_\n\n')
|
|
3402
|
+
sys.stdout.write('rootObj = model_.rootClass(\n')
|
|
3403
|
+
rootObj.exportLiteral(sys.stdout, 0, name_=rootTag)
|
|
3404
|
+
sys.stdout.write(')\n')
|
|
3405
|
+
if print_warnings and len(gds_collector.get_messages()) > 0:
|
|
3406
|
+
separator = ('-' * 50) + '\n'
|
|
3407
|
+
sys.stderr.write(separator)
|
|
3408
|
+
sys.stderr.write('----- Warnings -- count: {} -----\n'.format(
|
|
3409
|
+
len(gds_collector.get_messages()), ))
|
|
3410
|
+
gds_collector.write_messages(sys.stderr)
|
|
3411
|
+
sys.stderr.write(separator)
|
|
3412
|
+
return rootObj
|
|
3413
|
+
|
|
3414
|
+
|
|
3415
|
+
def main():
|
|
3416
|
+
args = sys.argv[1:]
|
|
3417
|
+
if len(args) == 1:
|
|
3418
|
+
parse(args[0])
|
|
3419
|
+
else:
|
|
3420
|
+
usage()
|
|
3421
|
+
|
|
3422
|
+
|
|
3423
|
+
if __name__ == '__main__':
|
|
3424
|
+
#import pdb; pdb.set_trace()
|
|
3425
|
+
main()
|
|
3426
|
+
|
|
3427
|
+
RenameMappings_ = {
|
|
3428
|
+
"{http://schemas.microsoft.com/2003/10/Serialization/Arrays}ArrayOfKeyValueOfstringArrayOfTrackingResultmFAkxlpY": "ArrayOfKeyValueOfstringArrayOfTrackingResultmFAkxlpY2",
|
|
3429
|
+
"{http://schemas.microsoft.com/2003/10/Serialization/Arrays}ArrayOfstring": "ArrayOfstring1",
|
|
3430
|
+
}
|
|
3431
|
+
|
|
3432
|
+
#
|
|
3433
|
+
# Mapping of namespaces to types defined in them
|
|
3434
|
+
# and the file in which each is defined.
|
|
3435
|
+
# simpleTypes are marked "ST" and complexTypes "CT".
|
|
3436
|
+
NamespaceToDefMappings_ = {'http://schemas.microsoft.com/2003/10/Serialization/Arrays': [('ArrayOfstring',
|
|
3437
|
+
'https://ws.aramex.net/ShippingAPI.V2/Tracking/Service_1_0.svc?xsd=xsd2',
|
|
3438
|
+
'CT'),
|
|
3439
|
+
('ArrayOfKeyValueOfstringArrayOfTrackingResultmFAkxlpY',
|
|
3440
|
+
'https://ws.aramex.net/ShippingAPI.V2/Tracking/Service_1_0.svc?xsd=xsd2',
|
|
3441
|
+
'CT'),
|
|
3442
|
+
('ArrayOfstring',
|
|
3443
|
+
'./schemas/array_of_string.xsd',
|
|
3444
|
+
'CT'),
|
|
3445
|
+
('ArrayOfKeyValueOfstringArrayOfTrackingResultmFAkxlpY',
|
|
3446
|
+
'./schemas/array_of_string.xsd',
|
|
3447
|
+
'CT')],
|
|
3448
|
+
'http://ws.aramex.net/ShippingAPI/v1/': [('ClientInfo',
|
|
3449
|
+
'https://ws.aramex.net/ShippingAPI.V2/Tracking/Service_1_0.svc?xsd=xsd0',
|
|
3450
|
+
'CT'),
|
|
3451
|
+
('Transaction',
|
|
3452
|
+
'https://ws.aramex.net/ShippingAPI.V2/Tracking/Service_1_0.svc?xsd=xsd0',
|
|
3453
|
+
'CT'),
|
|
3454
|
+
('ArrayOfNotification',
|
|
3455
|
+
'https://ws.aramex.net/ShippingAPI.V2/Tracking/Service_1_0.svc?xsd=xsd0',
|
|
3456
|
+
'CT'),
|
|
3457
|
+
('Notification',
|
|
3458
|
+
'https://ws.aramex.net/ShippingAPI.V2/Tracking/Service_1_0.svc?xsd=xsd0',
|
|
3459
|
+
'CT'),
|
|
3460
|
+
('ArrayOfTrackingResult',
|
|
3461
|
+
'https://ws.aramex.net/ShippingAPI.V2/Tracking/Service_1_0.svc?xsd=xsd0',
|
|
3462
|
+
'CT'),
|
|
3463
|
+
('TrackingResult',
|
|
3464
|
+
'https://ws.aramex.net/ShippingAPI.V2/Tracking/Service_1_0.svc?xsd=xsd0',
|
|
3465
|
+
'CT')]}
|
|
3466
|
+
|
|
3467
|
+
__all__ = [
|
|
3468
|
+
"ArrayOfKeyValueOfstringArrayOfTrackingResultmFAkxlpY",
|
|
3469
|
+
"ArrayOfKeyValueOfstringArrayOfTrackingResultmFAkxlpY2",
|
|
3470
|
+
"ArrayOfNotification",
|
|
3471
|
+
"ArrayOfTrackingResult",
|
|
3472
|
+
"ArrayOfstring",
|
|
3473
|
+
"ArrayOfstring1",
|
|
3474
|
+
"ClientInfo",
|
|
3475
|
+
"KeyValueOfstringArrayOfTrackingResultmFAkxlpYType",
|
|
3476
|
+
"KeyValueOfstringArrayOfTrackingResultmFAkxlpYType3",
|
|
3477
|
+
"Notification",
|
|
3478
|
+
"PickupTrackingRequest",
|
|
3479
|
+
"PickupTrackingResponse",
|
|
3480
|
+
"ShipmentTrackingRequest",
|
|
3481
|
+
"ShipmentTrackingResponse",
|
|
3482
|
+
"TrackingResult",
|
|
3483
|
+
"Transaction"
|
|
3484
|
+
]
|