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.
- karrio/mappers/postat/__init__.py +3 -0
- karrio/mappers/postat/mapper.py +41 -0
- karrio/mappers/postat/proxy.py +43 -0
- karrio/mappers/postat/settings.py +35 -0
- karrio/plugins/postat/__init__.py +28 -0
- karrio/providers/postat/__init__.py +8 -0
- karrio/providers/postat/error.py +30 -0
- karrio/providers/postat/shipment/__init__.py +9 -0
- karrio/providers/postat/shipment/cancel.py +65 -0
- karrio/providers/postat/shipment/create.py +147 -0
- karrio/providers/postat/units.py +241 -0
- karrio/providers/postat/utils.py +54 -0
- karrio/schemas/postat/__init__.py +0 -0
- karrio/schemas/postat/plc_types.py +3344 -0
- karrio/schemas/postat/void_types.py +1734 -0
- karrio_postat-2026.1.dist-info/METADATA +44 -0
- karrio_postat-2026.1.dist-info/RECORD +20 -0
- karrio_postat-2026.1.dist-info/WHEEL +5 -0
- karrio_postat-2026.1.dist-info/entry_points.txt +2 -0
- karrio_postat-2026.1.dist-info/top_level.txt +4 -0
|
@@ -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('&', '&')
|
|
770
|
+
s1 = s1.replace('<', '<')
|
|
771
|
+
s1 = s1.replace('>', '>')
|
|
772
|
+
return s1
|
|
773
|
+
|
|
774
|
+
|
|
775
|
+
def quote_attrib(inStr):
|
|
776
|
+
s1 = (isinstance(inStr, BaseStrType_) and inStr or '%s' % inStr)
|
|
777
|
+
s1 = s1.replace('&', '&')
|
|
778
|
+
s1 = s1.replace('<', '<')
|
|
779
|
+
s1 = s1.replace('>', '>')
|
|
780
|
+
s1 = s1.replace('\n', ' ')
|
|
781
|
+
if '"' in s1:
|
|
782
|
+
if "'" in s1:
|
|
783
|
+
s1 = '"%s"' % s1.replace('"', """)
|
|
784
|
+
else:
|
|
785
|
+
s1 = "'%s'" % s1
|
|
786
|
+
else:
|
|
787
|
+
s1 = '"%s"' % s1
|
|
788
|
+
return s1
|
|
789
|
+
|
|
790
|
+
|
|
791
|
+
def quote_python(inStr):
|
|
792
|
+
s1 = inStr
|
|
793
|
+
if s1.find("'") == -1:
|
|
794
|
+
if s1.find('\n') == -1:
|
|
795
|
+
return "'%s'" % s1
|
|
796
|
+
else:
|
|
797
|
+
return "'''%s'''" % s1
|
|
798
|
+
else:
|
|
799
|
+
if s1.find('"') != -1:
|
|
800
|
+
s1 = s1.replace('"', '\\"')
|
|
801
|
+
if s1.find('\n') == -1:
|
|
802
|
+
return '"%s"' % s1
|
|
803
|
+
else:
|
|
804
|
+
return '"""%s"""' % s1
|
|
805
|
+
|
|
806
|
+
|
|
807
|
+
def get_all_text_(node):
|
|
808
|
+
if node.text is not None:
|
|
809
|
+
text = node.text
|
|
810
|
+
else:
|
|
811
|
+
text = ''
|
|
812
|
+
for child in node:
|
|
813
|
+
if child.tail is not None:
|
|
814
|
+
text += child.tail
|
|
815
|
+
return text
|
|
816
|
+
|
|
817
|
+
|
|
818
|
+
def find_attr_value_(attr_name, node):
|
|
819
|
+
attrs = node.attrib
|
|
820
|
+
attr_parts = attr_name.split(':')
|
|
821
|
+
value = None
|
|
822
|
+
if len(attr_parts) == 1:
|
|
823
|
+
value = attrs.get(attr_name)
|
|
824
|
+
elif len(attr_parts) == 2:
|
|
825
|
+
prefix, name = attr_parts
|
|
826
|
+
if prefix == 'xml':
|
|
827
|
+
namespace = 'http://www.w3.org/XML/1998/namespace'
|
|
828
|
+
else:
|
|
829
|
+
namespace = node.nsmap.get(prefix)
|
|
830
|
+
if namespace is not None:
|
|
831
|
+
value = attrs.get('{%s}%s' % (namespace, name, ))
|
|
832
|
+
return value
|
|
833
|
+
|
|
834
|
+
|
|
835
|
+
def encode_str_2_3(instr):
|
|
836
|
+
return instr
|
|
837
|
+
|
|
838
|
+
|
|
839
|
+
class GDSParseError(Exception):
|
|
840
|
+
pass
|
|
841
|
+
|
|
842
|
+
|
|
843
|
+
def raise_parse_error(node, msg):
|
|
844
|
+
if node is not None:
|
|
845
|
+
msg = '%s (element %s/line %d)' % (msg, node.tag, node.sourceline, )
|
|
846
|
+
raise GDSParseError(msg)
|
|
847
|
+
|
|
848
|
+
|
|
849
|
+
class MixedContainer:
|
|
850
|
+
# Constants for category:
|
|
851
|
+
CategoryNone = 0
|
|
852
|
+
CategoryText = 1
|
|
853
|
+
CategorySimple = 2
|
|
854
|
+
CategoryComplex = 3
|
|
855
|
+
# Constants for content_type:
|
|
856
|
+
TypeNone = 0
|
|
857
|
+
TypeText = 1
|
|
858
|
+
TypeString = 2
|
|
859
|
+
TypeInteger = 3
|
|
860
|
+
TypeFloat = 4
|
|
861
|
+
TypeDecimal = 5
|
|
862
|
+
TypeDouble = 6
|
|
863
|
+
TypeBoolean = 7
|
|
864
|
+
TypeBase64 = 8
|
|
865
|
+
def __init__(self, category, content_type, name, value):
|
|
866
|
+
self.category = category
|
|
867
|
+
self.content_type = content_type
|
|
868
|
+
self.name = name
|
|
869
|
+
self.value = value
|
|
870
|
+
def getCategory(self):
|
|
871
|
+
return self.category
|
|
872
|
+
def getContenttype(self, content_type):
|
|
873
|
+
return self.content_type
|
|
874
|
+
def getValue(self):
|
|
875
|
+
return self.value
|
|
876
|
+
def getName(self):
|
|
877
|
+
return self.name
|
|
878
|
+
def export(self, outfile, level, name, namespace,
|
|
879
|
+
pretty_print=True):
|
|
880
|
+
if self.category == MixedContainer.CategoryText:
|
|
881
|
+
# Prevent exporting empty content as empty lines.
|
|
882
|
+
if self.value.strip():
|
|
883
|
+
outfile.write(self.value)
|
|
884
|
+
elif self.category == MixedContainer.CategorySimple:
|
|
885
|
+
self.exportSimple(outfile, level, name)
|
|
886
|
+
else: # category == MixedContainer.CategoryComplex
|
|
887
|
+
self.value.export(
|
|
888
|
+
outfile, level, namespace, name_=name,
|
|
889
|
+
pretty_print=pretty_print)
|
|
890
|
+
def exportSimple(self, outfile, level, name):
|
|
891
|
+
if self.content_type == MixedContainer.TypeString:
|
|
892
|
+
outfile.write('<%s>%s</%s>' % (
|
|
893
|
+
self.name, self.value, self.name))
|
|
894
|
+
elif self.content_type == MixedContainer.TypeInteger or \
|
|
895
|
+
self.content_type == MixedContainer.TypeBoolean:
|
|
896
|
+
outfile.write('<%s>%d</%s>' % (
|
|
897
|
+
self.name, self.value, self.name))
|
|
898
|
+
elif self.content_type == MixedContainer.TypeFloat or \
|
|
899
|
+
self.content_type == MixedContainer.TypeDecimal:
|
|
900
|
+
outfile.write('<%s>%f</%s>' % (
|
|
901
|
+
self.name, self.value, self.name))
|
|
902
|
+
elif self.content_type == MixedContainer.TypeDouble:
|
|
903
|
+
outfile.write('<%s>%g</%s>' % (
|
|
904
|
+
self.name, self.value, self.name))
|
|
905
|
+
elif self.content_type == MixedContainer.TypeBase64:
|
|
906
|
+
outfile.write('<%s>%s</%s>' % (
|
|
907
|
+
self.name,
|
|
908
|
+
base64.b64encode(self.value),
|
|
909
|
+
self.name))
|
|
910
|
+
def to_etree(self, element, mapping_=None, reverse_mapping_=None, nsmap_=None):
|
|
911
|
+
if self.category == MixedContainer.CategoryText:
|
|
912
|
+
# Prevent exporting empty content as empty lines.
|
|
913
|
+
if self.value.strip():
|
|
914
|
+
if len(element) > 0:
|
|
915
|
+
if element[-1].tail is None:
|
|
916
|
+
element[-1].tail = self.value
|
|
917
|
+
else:
|
|
918
|
+
element[-1].tail += self.value
|
|
919
|
+
else:
|
|
920
|
+
if element.text is None:
|
|
921
|
+
element.text = self.value
|
|
922
|
+
else:
|
|
923
|
+
element.text += self.value
|
|
924
|
+
elif self.category == MixedContainer.CategorySimple:
|
|
925
|
+
subelement = etree_.SubElement(
|
|
926
|
+
element, '%s' % self.name)
|
|
927
|
+
subelement.text = self.to_etree_simple()
|
|
928
|
+
else: # category == MixedContainer.CategoryComplex
|
|
929
|
+
self.value.to_etree(element)
|
|
930
|
+
def to_etree_simple(self, mapping_=None, reverse_mapping_=None, nsmap_=None):
|
|
931
|
+
if self.content_type == MixedContainer.TypeString:
|
|
932
|
+
text = self.value
|
|
933
|
+
elif (self.content_type == MixedContainer.TypeInteger or
|
|
934
|
+
self.content_type == MixedContainer.TypeBoolean):
|
|
935
|
+
text = '%d' % self.value
|
|
936
|
+
elif (self.content_type == MixedContainer.TypeFloat or
|
|
937
|
+
self.content_type == MixedContainer.TypeDecimal):
|
|
938
|
+
text = '%f' % self.value
|
|
939
|
+
elif self.content_type == MixedContainer.TypeDouble:
|
|
940
|
+
text = '%g' % self.value
|
|
941
|
+
elif self.content_type == MixedContainer.TypeBase64:
|
|
942
|
+
text = '%s' % base64.b64encode(self.value)
|
|
943
|
+
return text
|
|
944
|
+
def exportLiteral(self, outfile, level, name):
|
|
945
|
+
if self.category == MixedContainer.CategoryText:
|
|
946
|
+
showIndent(outfile, level)
|
|
947
|
+
outfile.write(
|
|
948
|
+
'model_.MixedContainer(%d, %d, "%s", "%s"),\n' % (
|
|
949
|
+
self.category, self.content_type,
|
|
950
|
+
self.name, self.value))
|
|
951
|
+
elif self.category == MixedContainer.CategorySimple:
|
|
952
|
+
showIndent(outfile, level)
|
|
953
|
+
outfile.write(
|
|
954
|
+
'model_.MixedContainer(%d, %d, "%s", "%s"),\n' % (
|
|
955
|
+
self.category, self.content_type,
|
|
956
|
+
self.name, self.value))
|
|
957
|
+
else: # category == MixedContainer.CategoryComplex
|
|
958
|
+
showIndent(outfile, level)
|
|
959
|
+
outfile.write(
|
|
960
|
+
'model_.MixedContainer(%d, %d, "%s",\n' % (
|
|
961
|
+
self.category, self.content_type, self.name,))
|
|
962
|
+
self.value.exportLiteral(outfile, level + 1)
|
|
963
|
+
showIndent(outfile, level)
|
|
964
|
+
outfile.write(')\n')
|
|
965
|
+
|
|
966
|
+
|
|
967
|
+
class MemberSpec_(object):
|
|
968
|
+
def __init__(self, name='', data_type='', container=0,
|
|
969
|
+
optional=0, child_attrs=None, choice=None):
|
|
970
|
+
self.name = name
|
|
971
|
+
self.data_type = data_type
|
|
972
|
+
self.container = container
|
|
973
|
+
self.child_attrs = child_attrs
|
|
974
|
+
self.choice = choice
|
|
975
|
+
self.optional = optional
|
|
976
|
+
def set_name(self, name): self.name = name
|
|
977
|
+
def get_name(self): return self.name
|
|
978
|
+
def set_data_type(self, data_type): self.data_type = data_type
|
|
979
|
+
def get_data_type_chain(self): return self.data_type
|
|
980
|
+
def get_data_type(self):
|
|
981
|
+
if isinstance(self.data_type, list):
|
|
982
|
+
if len(self.data_type) > 0:
|
|
983
|
+
return self.data_type[-1]
|
|
984
|
+
else:
|
|
985
|
+
return 'xs:string'
|
|
986
|
+
else:
|
|
987
|
+
return self.data_type
|
|
988
|
+
def set_container(self, container): self.container = container
|
|
989
|
+
def get_container(self): return self.container
|
|
990
|
+
def set_child_attrs(self, child_attrs): self.child_attrs = child_attrs
|
|
991
|
+
def get_child_attrs(self): return self.child_attrs
|
|
992
|
+
def set_choice(self, choice): self.choice = choice
|
|
993
|
+
def get_choice(self): return self.choice
|
|
994
|
+
def set_optional(self, optional): self.optional = optional
|
|
995
|
+
def get_optional(self): return self.optional
|
|
996
|
+
|
|
997
|
+
|
|
998
|
+
def _cast(typ, value):
|
|
999
|
+
if typ is None or value is None:
|
|
1000
|
+
return value
|
|
1001
|
+
return typ(value)
|
|
1002
|
+
|
|
1003
|
+
|
|
1004
|
+
#
|
|
1005
|
+
# Start enum classes
|
|
1006
|
+
#
|
|
1007
|
+
class 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
|
+
]
|