karrio-tnt 2025.5rc1__py3-none-any.whl

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