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.
@@ -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('&', '&amp;')
770
+ s1 = s1.replace('<', '&lt;')
771
+ s1 = s1.replace('>', '&gt;')
772
+ return s1
773
+
774
+
775
+ def quote_attrib(inStr):
776
+ s1 = (isinstance(inStr, BaseStrType_) and inStr or '%s' % inStr)
777
+ s1 = s1.replace('&', '&amp;')
778
+ s1 = s1.replace('<', '&lt;')
779
+ s1 = s1.replace('>', '&gt;')
780
+ s1 = s1.replace('\n', '&#10;')
781
+ if '"' in s1:
782
+ if "'" in s1:
783
+ s1 = '"%s"' % s1.replace('"', "&quot;")
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
+ ]