karrio-aramex 2025.5rc34__py3-none-any.whl

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