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