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