karrio-canadapost 2025.5rc1__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- karrio/mappers/canadapost/__init__.py +3 -0
- karrio/mappers/canadapost/mapper.py +88 -0
- karrio/mappers/canadapost/proxy.py +373 -0
- karrio/mappers/canadapost/settings.py +23 -0
- karrio/plugins/canadapost/__init__.py +23 -0
- karrio/providers/canadapost/__init__.py +25 -0
- karrio/providers/canadapost/error.py +42 -0
- karrio/providers/canadapost/manifest.py +127 -0
- karrio/providers/canadapost/pickup/__init__.py +3 -0
- karrio/providers/canadapost/pickup/cancel.py +33 -0
- karrio/providers/canadapost/pickup/create.py +217 -0
- karrio/providers/canadapost/pickup/update.py +55 -0
- karrio/providers/canadapost/rate.py +192 -0
- karrio/providers/canadapost/shipment/__init__.py +8 -0
- karrio/providers/canadapost/shipment/cancel.py +53 -0
- karrio/providers/canadapost/shipment/create.py +308 -0
- karrio/providers/canadapost/tracking.py +75 -0
- karrio/providers/canadapost/units.py +285 -0
- karrio/providers/canadapost/utils.py +92 -0
- karrio/schemas/canadapost/__init__.py +0 -0
- karrio/schemas/canadapost/authreturn.py +3389 -0
- karrio/schemas/canadapost/common.py +2037 -0
- karrio/schemas/canadapost/customerinfo.py +2307 -0
- karrio/schemas/canadapost/discovery.py +3016 -0
- karrio/schemas/canadapost/manifest.py +3704 -0
- karrio/schemas/canadapost/merchantregistration.py +1498 -0
- karrio/schemas/canadapost/messages.py +1431 -0
- karrio/schemas/canadapost/ncshipment.py +7231 -0
- karrio/schemas/canadapost/openreturn.py +2438 -0
- karrio/schemas/canadapost/pickup.py +1407 -0
- karrio/schemas/canadapost/pickuprequest.py +6794 -0
- karrio/schemas/canadapost/postoffice.py +2240 -0
- karrio/schemas/canadapost/rating.py +5308 -0
- karrio/schemas/canadapost/serviceinfo.py +1505 -0
- karrio/schemas/canadapost/shipment.py +9982 -0
- karrio/schemas/canadapost/track.py +3100 -0
- karrio_canadapost-2025.5rc1.dist-info/METADATA +44 -0
- karrio_canadapost-2025.5rc1.dist-info/RECORD +41 -0
- karrio_canadapost-2025.5rc1.dist-info/WHEEL +5 -0
- karrio_canadapost-2025.5rc1.dist-info/entry_points.txt +2 -0
- karrio_canadapost-2025.5rc1.dist-info/top_level.txt +3 -0
@@ -0,0 +1,3704 @@
|
|
1
|
+
#!/usr/bin/env python
|
2
|
+
# -*- coding: utf-8 -*-
|
3
|
+
|
4
|
+
#
|
5
|
+
# Generated Sat Mar 16 02:19:29 2024 by generateDS.py version 2.43.3.
|
6
|
+
# Python 3.12.2 (main, Feb 28 2024, 21:12:07) [GCC 11.4.0]
|
7
|
+
#
|
8
|
+
# Command line options:
|
9
|
+
# ('--no-namespace-defs', '')
|
10
|
+
# ('-o', './karrio/schemas/canadapost/manifest.py')
|
11
|
+
#
|
12
|
+
# Command line arguments:
|
13
|
+
# ./schemas/manifest.xsd
|
14
|
+
#
|
15
|
+
# Command line:
|
16
|
+
# /home/kserver/Workspace/karrio/.venv/karrio/bin/generateDS --no-namespace-defs -o "./karrio/schemas/canadapost/manifest.py" ./schemas/manifest.xsd
|
17
|
+
#
|
18
|
+
# Current working directory (os.getcwd()):
|
19
|
+
# canadapost
|
20
|
+
#
|
21
|
+
|
22
|
+
import sys
|
23
|
+
try:
|
24
|
+
ModulenotfoundExp_ = ModuleNotFoundError
|
25
|
+
except NameError:
|
26
|
+
ModulenotfoundExp_ = ImportError
|
27
|
+
from six.moves import zip_longest
|
28
|
+
import os
|
29
|
+
import re as re_
|
30
|
+
import base64
|
31
|
+
import datetime as datetime_
|
32
|
+
import decimal as decimal_
|
33
|
+
from lxml import etree as etree_
|
34
|
+
|
35
|
+
|
36
|
+
Validate_simpletypes_ = True
|
37
|
+
SaveElementTreeNode = True
|
38
|
+
TagNamePrefix = ""
|
39
|
+
if sys.version_info.major == 2:
|
40
|
+
BaseStrType_ = basestring
|
41
|
+
else:
|
42
|
+
BaseStrType_ = str
|
43
|
+
|
44
|
+
|
45
|
+
def parsexml_(infile, parser=None, **kwargs):
|
46
|
+
if parser is None:
|
47
|
+
# Use the lxml ElementTree compatible parser so that, e.g.,
|
48
|
+
# we ignore comments.
|
49
|
+
try:
|
50
|
+
parser = etree_.ETCompatXMLParser()
|
51
|
+
except AttributeError:
|
52
|
+
# fallback to xml.etree
|
53
|
+
parser = etree_.XMLParser()
|
54
|
+
try:
|
55
|
+
if isinstance(infile, os.PathLike):
|
56
|
+
infile = os.path.join(infile)
|
57
|
+
except AttributeError:
|
58
|
+
pass
|
59
|
+
doc = etree_.parse(infile, parser=parser, **kwargs)
|
60
|
+
return doc
|
61
|
+
|
62
|
+
def parsexmlstring_(instring, parser=None, **kwargs):
|
63
|
+
if parser is None:
|
64
|
+
# Use the lxml ElementTree compatible parser so that, e.g.,
|
65
|
+
# we ignore comments.
|
66
|
+
try:
|
67
|
+
parser = etree_.ETCompatXMLParser()
|
68
|
+
except AttributeError:
|
69
|
+
# fallback to xml.etree
|
70
|
+
parser = etree_.XMLParser()
|
71
|
+
element = etree_.fromstring(instring, parser=parser, **kwargs)
|
72
|
+
return element
|
73
|
+
|
74
|
+
#
|
75
|
+
# Namespace prefix definition table (and other attributes, too)
|
76
|
+
#
|
77
|
+
# The module generatedsnamespaces, if it is importable, must contain
|
78
|
+
# a dictionary named GeneratedsNamespaceDefs. This Python dictionary
|
79
|
+
# should map element type names (strings) to XML schema namespace prefix
|
80
|
+
# definitions. The export method for any class for which there is
|
81
|
+
# a namespace prefix definition, will export that definition in the
|
82
|
+
# XML representation of that element. See the export method of
|
83
|
+
# any generated element type class for an example of the use of this
|
84
|
+
# table.
|
85
|
+
# A sample table is:
|
86
|
+
#
|
87
|
+
# # File: generatedsnamespaces.py
|
88
|
+
#
|
89
|
+
# GenerateDSNamespaceDefs = {
|
90
|
+
# "ElementtypeA": "http://www.xxx.com/namespaceA",
|
91
|
+
# "ElementtypeB": "http://www.xxx.com/namespaceB",
|
92
|
+
# }
|
93
|
+
#
|
94
|
+
# Additionally, the generatedsnamespaces module can contain a python
|
95
|
+
# dictionary named GenerateDSNamespaceTypePrefixes that associates element
|
96
|
+
# types with the namespace prefixes that are to be added to the
|
97
|
+
# "xsi:type" attribute value. See the _exportAttributes method of
|
98
|
+
# any generated element type and the generation of "xsi:type" for an
|
99
|
+
# example of the use of this table.
|
100
|
+
# An example table:
|
101
|
+
#
|
102
|
+
# # File: generatedsnamespaces.py
|
103
|
+
#
|
104
|
+
# GenerateDSNamespaceTypePrefixes = {
|
105
|
+
# "ElementtypeC": "aaa:",
|
106
|
+
# "ElementtypeD": "bbb:",
|
107
|
+
# }
|
108
|
+
#
|
109
|
+
|
110
|
+
try:
|
111
|
+
from generatedsnamespaces import GenerateDSNamespaceDefs as GenerateDSNamespaceDefs_
|
112
|
+
except ModulenotfoundExp_ :
|
113
|
+
GenerateDSNamespaceDefs_ = {}
|
114
|
+
try:
|
115
|
+
from generatedsnamespaces import GenerateDSNamespaceTypePrefixes as GenerateDSNamespaceTypePrefixes_
|
116
|
+
except ModulenotfoundExp_ :
|
117
|
+
GenerateDSNamespaceTypePrefixes_ = {}
|
118
|
+
|
119
|
+
#
|
120
|
+
# You can replace the following class definition by defining an
|
121
|
+
# importable module named "generatedscollector" containing a class
|
122
|
+
# named "GdsCollector". See the default class definition below for
|
123
|
+
# clues about the possible content of that class.
|
124
|
+
#
|
125
|
+
try:
|
126
|
+
from generatedscollector import GdsCollector as GdsCollector_
|
127
|
+
except ModulenotfoundExp_ :
|
128
|
+
|
129
|
+
class GdsCollector_(object):
|
130
|
+
|
131
|
+
def __init__(self, messages=None):
|
132
|
+
if messages is None:
|
133
|
+
self.messages = []
|
134
|
+
else:
|
135
|
+
self.messages = messages
|
136
|
+
|
137
|
+
def add_message(self, msg):
|
138
|
+
self.messages.append(msg)
|
139
|
+
|
140
|
+
def get_messages(self):
|
141
|
+
return self.messages
|
142
|
+
|
143
|
+
def clear_messages(self):
|
144
|
+
self.messages = []
|
145
|
+
|
146
|
+
def print_messages(self):
|
147
|
+
for msg in self.messages:
|
148
|
+
print("Warning: {}".format(msg))
|
149
|
+
|
150
|
+
def write_messages(self, outstream):
|
151
|
+
for msg in self.messages:
|
152
|
+
outstream.write("Warning: {}\n".format(msg))
|
153
|
+
|
154
|
+
|
155
|
+
#
|
156
|
+
# The super-class for enum types
|
157
|
+
#
|
158
|
+
|
159
|
+
try:
|
160
|
+
from enum import Enum
|
161
|
+
except ModulenotfoundExp_ :
|
162
|
+
Enum = object
|
163
|
+
|
164
|
+
#
|
165
|
+
# The root super-class for element type classes
|
166
|
+
#
|
167
|
+
# Calls to the methods in these classes are generated by generateDS.py.
|
168
|
+
# You can replace these methods by re-implementing the following class
|
169
|
+
# in a module named generatedssuper.py.
|
170
|
+
|
171
|
+
try:
|
172
|
+
from generatedssuper import GeneratedsSuper
|
173
|
+
except ModulenotfoundExp_ as exp:
|
174
|
+
try:
|
175
|
+
from generatedssupersuper import GeneratedsSuperSuper
|
176
|
+
except ModulenotfoundExp_ as exp:
|
177
|
+
class GeneratedsSuperSuper(object):
|
178
|
+
pass
|
179
|
+
|
180
|
+
class GeneratedsSuper(GeneratedsSuperSuper):
|
181
|
+
__hash__ = object.__hash__
|
182
|
+
tzoff_pattern = re_.compile(r'(\+|-)((0\d|1[0-3]):[0-5]\d|14:00)$')
|
183
|
+
class _FixedOffsetTZ(datetime_.tzinfo):
|
184
|
+
def __init__(self, offset, name):
|
185
|
+
self.__offset = datetime_.timedelta(minutes=offset)
|
186
|
+
self.__name = name
|
187
|
+
def utcoffset(self, dt):
|
188
|
+
return self.__offset
|
189
|
+
def tzname(self, dt):
|
190
|
+
return self.__name
|
191
|
+
def dst(self, dt):
|
192
|
+
return None
|
193
|
+
def __str__(self):
|
194
|
+
settings = {
|
195
|
+
'str_pretty_print': True,
|
196
|
+
'str_indent_level': 0,
|
197
|
+
'str_namespaceprefix': '',
|
198
|
+
'str_name': self.__class__.__name__,
|
199
|
+
'str_namespacedefs': '',
|
200
|
+
}
|
201
|
+
for n in settings:
|
202
|
+
if hasattr(self, n):
|
203
|
+
settings[n] = getattr(self, n)
|
204
|
+
if sys.version_info.major == 2:
|
205
|
+
from StringIO import StringIO
|
206
|
+
else:
|
207
|
+
from io import StringIO
|
208
|
+
output = StringIO()
|
209
|
+
self.export(
|
210
|
+
output,
|
211
|
+
settings['str_indent_level'],
|
212
|
+
pretty_print=settings['str_pretty_print'],
|
213
|
+
namespaceprefix_=settings['str_namespaceprefix'],
|
214
|
+
name_=settings['str_name'],
|
215
|
+
namespacedef_=settings['str_namespacedefs']
|
216
|
+
)
|
217
|
+
strval = output.getvalue()
|
218
|
+
output.close()
|
219
|
+
return strval
|
220
|
+
def gds_format_string(self, input_data, input_name=''):
|
221
|
+
return input_data
|
222
|
+
def gds_parse_string(self, input_data, node=None, input_name=''):
|
223
|
+
return input_data
|
224
|
+
def gds_validate_string(self, input_data, node=None, input_name=''):
|
225
|
+
if not input_data:
|
226
|
+
return ''
|
227
|
+
else:
|
228
|
+
return input_data
|
229
|
+
def gds_format_base64(self, input_data, input_name=''):
|
230
|
+
return base64.b64encode(input_data).decode('ascii')
|
231
|
+
def gds_validate_base64(self, input_data, node=None, input_name=''):
|
232
|
+
return input_data
|
233
|
+
def gds_format_integer(self, input_data, input_name=''):
|
234
|
+
return '%d' % int(input_data)
|
235
|
+
def gds_parse_integer(self, input_data, node=None, input_name=''):
|
236
|
+
try:
|
237
|
+
ival = int(input_data)
|
238
|
+
except (TypeError, ValueError) as exp:
|
239
|
+
raise_parse_error(node, 'Requires integer value: %s' % exp)
|
240
|
+
return ival
|
241
|
+
def gds_validate_integer(self, input_data, node=None, input_name=''):
|
242
|
+
try:
|
243
|
+
value = int(input_data)
|
244
|
+
except (TypeError, ValueError):
|
245
|
+
raise_parse_error(node, 'Requires integer value')
|
246
|
+
return value
|
247
|
+
def gds_format_integer_list(self, input_data, input_name=''):
|
248
|
+
if len(input_data) > 0 and not isinstance(input_data[0], BaseStrType_):
|
249
|
+
input_data = [str(s) for s in input_data]
|
250
|
+
return '%s' % ' '.join(input_data)
|
251
|
+
def gds_validate_integer_list(
|
252
|
+
self, input_data, node=None, input_name=''):
|
253
|
+
values = input_data.split()
|
254
|
+
for value in values:
|
255
|
+
try:
|
256
|
+
int(value)
|
257
|
+
except (TypeError, ValueError):
|
258
|
+
raise_parse_error(node, 'Requires sequence of integer values')
|
259
|
+
return values
|
260
|
+
def gds_format_float(self, input_data, input_name=''):
|
261
|
+
value = ('%.15f' % float(input_data)).rstrip('0')
|
262
|
+
if value.endswith('.'):
|
263
|
+
value += '0'
|
264
|
+
return value
|
265
|
+
|
266
|
+
def gds_parse_float(self, input_data, node=None, input_name=''):
|
267
|
+
try:
|
268
|
+
fval_ = float(input_data)
|
269
|
+
except (TypeError, ValueError) as exp:
|
270
|
+
raise_parse_error(node, 'Requires float or double value: %s' % exp)
|
271
|
+
return fval_
|
272
|
+
def gds_validate_float(self, input_data, node=None, input_name=''):
|
273
|
+
try:
|
274
|
+
value = float(input_data)
|
275
|
+
except (TypeError, ValueError):
|
276
|
+
raise_parse_error(node, 'Requires float value')
|
277
|
+
return value
|
278
|
+
def gds_format_float_list(self, input_data, input_name=''):
|
279
|
+
if len(input_data) > 0 and not isinstance(input_data[0], BaseStrType_):
|
280
|
+
input_data = [str(s) for s in input_data]
|
281
|
+
return '%s' % ' '.join(input_data)
|
282
|
+
def gds_validate_float_list(
|
283
|
+
self, input_data, node=None, input_name=''):
|
284
|
+
values = input_data.split()
|
285
|
+
for value in values:
|
286
|
+
try:
|
287
|
+
float(value)
|
288
|
+
except (TypeError, ValueError):
|
289
|
+
raise_parse_error(node, 'Requires sequence of float values')
|
290
|
+
return values
|
291
|
+
def gds_format_decimal(self, input_data, input_name=''):
|
292
|
+
return_value = '%s' % input_data
|
293
|
+
if '.' in return_value:
|
294
|
+
return_value = return_value.rstrip('0')
|
295
|
+
if return_value.endswith('.'):
|
296
|
+
return_value = return_value.rstrip('.')
|
297
|
+
return return_value
|
298
|
+
def gds_parse_decimal(self, input_data, node=None, input_name=''):
|
299
|
+
try:
|
300
|
+
decimal_value = decimal_.Decimal(input_data)
|
301
|
+
except (TypeError, ValueError):
|
302
|
+
raise_parse_error(node, 'Requires decimal value')
|
303
|
+
return decimal_value
|
304
|
+
def gds_validate_decimal(self, input_data, node=None, input_name=''):
|
305
|
+
try:
|
306
|
+
value = decimal_.Decimal(input_data)
|
307
|
+
except (TypeError, ValueError):
|
308
|
+
raise_parse_error(node, 'Requires decimal value')
|
309
|
+
return value
|
310
|
+
def gds_format_decimal_list(self, input_data, input_name=''):
|
311
|
+
if len(input_data) > 0 and not isinstance(input_data[0], BaseStrType_):
|
312
|
+
input_data = [str(s) for s in input_data]
|
313
|
+
return ' '.join([self.gds_format_decimal(item) for item in input_data])
|
314
|
+
def gds_validate_decimal_list(
|
315
|
+
self, input_data, node=None, input_name=''):
|
316
|
+
values = input_data.split()
|
317
|
+
for value in values:
|
318
|
+
try:
|
319
|
+
decimal_.Decimal(value)
|
320
|
+
except (TypeError, ValueError):
|
321
|
+
raise_parse_error(node, 'Requires sequence of decimal values')
|
322
|
+
return values
|
323
|
+
def gds_format_double(self, input_data, input_name=''):
|
324
|
+
return '%s' % input_data
|
325
|
+
def gds_parse_double(self, input_data, node=None, input_name=''):
|
326
|
+
try:
|
327
|
+
fval_ = float(input_data)
|
328
|
+
except (TypeError, ValueError) as exp:
|
329
|
+
raise_parse_error(node, 'Requires double or float value: %s' % exp)
|
330
|
+
return fval_
|
331
|
+
def gds_validate_double(self, input_data, node=None, input_name=''):
|
332
|
+
try:
|
333
|
+
value = float(input_data)
|
334
|
+
except (TypeError, ValueError):
|
335
|
+
raise_parse_error(node, 'Requires double or float value')
|
336
|
+
return value
|
337
|
+
def gds_format_double_list(self, input_data, input_name=''):
|
338
|
+
if len(input_data) > 0 and not isinstance(input_data[0], BaseStrType_):
|
339
|
+
input_data = [str(s) for s in input_data]
|
340
|
+
return '%s' % ' '.join(input_data)
|
341
|
+
def gds_validate_double_list(
|
342
|
+
self, input_data, node=None, input_name=''):
|
343
|
+
values = input_data.split()
|
344
|
+
for value in values:
|
345
|
+
try:
|
346
|
+
float(value)
|
347
|
+
except (TypeError, ValueError):
|
348
|
+
raise_parse_error(
|
349
|
+
node, 'Requires sequence of double or float values')
|
350
|
+
return values
|
351
|
+
def gds_format_boolean(self, input_data, input_name=''):
|
352
|
+
return ('%s' % input_data).lower()
|
353
|
+
def gds_parse_boolean(self, input_data, node=None, input_name=''):
|
354
|
+
input_data = input_data.strip()
|
355
|
+
if input_data in ('true', '1'):
|
356
|
+
bval = True
|
357
|
+
elif input_data in ('false', '0'):
|
358
|
+
bval = False
|
359
|
+
else:
|
360
|
+
raise_parse_error(node, 'Requires boolean value')
|
361
|
+
return bval
|
362
|
+
def gds_validate_boolean(self, input_data, node=None, input_name=''):
|
363
|
+
if input_data not in (True, 1, False, 0, ):
|
364
|
+
raise_parse_error(
|
365
|
+
node,
|
366
|
+
'Requires boolean value '
|
367
|
+
'(one of True, 1, False, 0)')
|
368
|
+
return input_data
|
369
|
+
def gds_format_boolean_list(self, input_data, input_name=''):
|
370
|
+
if len(input_data) > 0 and not isinstance(input_data[0], BaseStrType_):
|
371
|
+
input_data = [str(s) for s in input_data]
|
372
|
+
return '%s' % ' '.join(input_data)
|
373
|
+
def gds_validate_boolean_list(
|
374
|
+
self, input_data, node=None, input_name=''):
|
375
|
+
values = input_data.split()
|
376
|
+
for value in values:
|
377
|
+
value = self.gds_parse_boolean(value, node, input_name)
|
378
|
+
if value not in (True, 1, False, 0, ):
|
379
|
+
raise_parse_error(
|
380
|
+
node,
|
381
|
+
'Requires sequence of boolean values '
|
382
|
+
'(one of True, 1, False, 0)')
|
383
|
+
return values
|
384
|
+
def gds_validate_datetime(self, input_data, node=None, input_name=''):
|
385
|
+
return input_data
|
386
|
+
def gds_format_datetime(self, input_data, input_name=''):
|
387
|
+
if input_data.microsecond == 0:
|
388
|
+
_svalue = '%04d-%02d-%02dT%02d:%02d:%02d' % (
|
389
|
+
input_data.year,
|
390
|
+
input_data.month,
|
391
|
+
input_data.day,
|
392
|
+
input_data.hour,
|
393
|
+
input_data.minute,
|
394
|
+
input_data.second,
|
395
|
+
)
|
396
|
+
else:
|
397
|
+
_svalue = '%04d-%02d-%02dT%02d:%02d:%02d.%s' % (
|
398
|
+
input_data.year,
|
399
|
+
input_data.month,
|
400
|
+
input_data.day,
|
401
|
+
input_data.hour,
|
402
|
+
input_data.minute,
|
403
|
+
input_data.second,
|
404
|
+
('%f' % (float(input_data.microsecond) / 1000000))[2:],
|
405
|
+
)
|
406
|
+
if input_data.tzinfo is not None:
|
407
|
+
tzoff = input_data.tzinfo.utcoffset(input_data)
|
408
|
+
if tzoff is not None:
|
409
|
+
total_seconds = tzoff.seconds + (86400 * tzoff.days)
|
410
|
+
if total_seconds == 0:
|
411
|
+
_svalue += 'Z'
|
412
|
+
else:
|
413
|
+
if total_seconds < 0:
|
414
|
+
_svalue += '-'
|
415
|
+
total_seconds *= -1
|
416
|
+
else:
|
417
|
+
_svalue += '+'
|
418
|
+
hours = total_seconds // 3600
|
419
|
+
minutes = (total_seconds - (hours * 3600)) // 60
|
420
|
+
_svalue += '{0:02d}:{1:02d}'.format(hours, minutes)
|
421
|
+
return _svalue
|
422
|
+
@classmethod
|
423
|
+
def gds_parse_datetime(cls, input_data):
|
424
|
+
tz = None
|
425
|
+
if input_data[-1] == 'Z':
|
426
|
+
tz = GeneratedsSuper._FixedOffsetTZ(0, 'UTC')
|
427
|
+
input_data = input_data[:-1]
|
428
|
+
else:
|
429
|
+
results = GeneratedsSuper.tzoff_pattern.search(input_data)
|
430
|
+
if results is not None:
|
431
|
+
tzoff_parts = results.group(2).split(':')
|
432
|
+
tzoff = int(tzoff_parts[0]) * 60 + int(tzoff_parts[1])
|
433
|
+
if results.group(1) == '-':
|
434
|
+
tzoff *= -1
|
435
|
+
tz = GeneratedsSuper._FixedOffsetTZ(
|
436
|
+
tzoff, results.group(0))
|
437
|
+
input_data = input_data[:-6]
|
438
|
+
time_parts = input_data.split('.')
|
439
|
+
if len(time_parts) > 1:
|
440
|
+
micro_seconds = int(float('0.' + time_parts[1]) * 1000000)
|
441
|
+
input_data = '%s.%s' % (
|
442
|
+
time_parts[0], "{}".format(micro_seconds).rjust(6, "0"), )
|
443
|
+
dt = datetime_.datetime.strptime(
|
444
|
+
input_data, '%Y-%m-%dT%H:%M:%S.%f')
|
445
|
+
else:
|
446
|
+
dt = datetime_.datetime.strptime(
|
447
|
+
input_data, '%Y-%m-%dT%H:%M:%S')
|
448
|
+
dt = dt.replace(tzinfo=tz)
|
449
|
+
return dt
|
450
|
+
def gds_validate_date(self, input_data, node=None, input_name=''):
|
451
|
+
return input_data
|
452
|
+
def gds_format_date(self, input_data, input_name=''):
|
453
|
+
_svalue = '%04d-%02d-%02d' % (
|
454
|
+
input_data.year,
|
455
|
+
input_data.month,
|
456
|
+
input_data.day,
|
457
|
+
)
|
458
|
+
try:
|
459
|
+
if input_data.tzinfo is not None:
|
460
|
+
tzoff = input_data.tzinfo.utcoffset(input_data)
|
461
|
+
if tzoff is not None:
|
462
|
+
total_seconds = tzoff.seconds + (86400 * tzoff.days)
|
463
|
+
if total_seconds == 0:
|
464
|
+
_svalue += 'Z'
|
465
|
+
else:
|
466
|
+
if total_seconds < 0:
|
467
|
+
_svalue += '-'
|
468
|
+
total_seconds *= -1
|
469
|
+
else:
|
470
|
+
_svalue += '+'
|
471
|
+
hours = total_seconds // 3600
|
472
|
+
minutes = (total_seconds - (hours * 3600)) // 60
|
473
|
+
_svalue += '{0:02d}:{1:02d}'.format(
|
474
|
+
hours, minutes)
|
475
|
+
except AttributeError:
|
476
|
+
pass
|
477
|
+
return _svalue
|
478
|
+
@classmethod
|
479
|
+
def gds_parse_date(cls, input_data):
|
480
|
+
tz = None
|
481
|
+
if input_data[-1] == 'Z':
|
482
|
+
tz = GeneratedsSuper._FixedOffsetTZ(0, 'UTC')
|
483
|
+
input_data = input_data[:-1]
|
484
|
+
else:
|
485
|
+
results = GeneratedsSuper.tzoff_pattern.search(input_data)
|
486
|
+
if results is not None:
|
487
|
+
tzoff_parts = results.group(2).split(':')
|
488
|
+
tzoff = int(tzoff_parts[0]) * 60 + int(tzoff_parts[1])
|
489
|
+
if results.group(1) == '-':
|
490
|
+
tzoff *= -1
|
491
|
+
tz = GeneratedsSuper._FixedOffsetTZ(
|
492
|
+
tzoff, results.group(0))
|
493
|
+
input_data = input_data[:-6]
|
494
|
+
dt = datetime_.datetime.strptime(input_data, '%Y-%m-%d')
|
495
|
+
dt = dt.replace(tzinfo=tz)
|
496
|
+
return dt.date()
|
497
|
+
def gds_validate_time(self, input_data, node=None, input_name=''):
|
498
|
+
return input_data
|
499
|
+
def gds_format_time(self, input_data, input_name=''):
|
500
|
+
if input_data.microsecond == 0:
|
501
|
+
_svalue = '%02d:%02d:%02d' % (
|
502
|
+
input_data.hour,
|
503
|
+
input_data.minute,
|
504
|
+
input_data.second,
|
505
|
+
)
|
506
|
+
else:
|
507
|
+
_svalue = '%02d:%02d:%02d.%s' % (
|
508
|
+
input_data.hour,
|
509
|
+
input_data.minute,
|
510
|
+
input_data.second,
|
511
|
+
('%f' % (float(input_data.microsecond) / 1000000))[2:],
|
512
|
+
)
|
513
|
+
if input_data.tzinfo is not None:
|
514
|
+
tzoff = input_data.tzinfo.utcoffset(input_data)
|
515
|
+
if tzoff is not None:
|
516
|
+
total_seconds = tzoff.seconds + (86400 * tzoff.days)
|
517
|
+
if total_seconds == 0:
|
518
|
+
_svalue += 'Z'
|
519
|
+
else:
|
520
|
+
if total_seconds < 0:
|
521
|
+
_svalue += '-'
|
522
|
+
total_seconds *= -1
|
523
|
+
else:
|
524
|
+
_svalue += '+'
|
525
|
+
hours = total_seconds // 3600
|
526
|
+
minutes = (total_seconds - (hours * 3600)) // 60
|
527
|
+
_svalue += '{0:02d}:{1:02d}'.format(hours, minutes)
|
528
|
+
return _svalue
|
529
|
+
def gds_validate_simple_patterns(self, patterns, target):
|
530
|
+
# pat is a list of lists of strings/patterns.
|
531
|
+
# The target value must match at least one of the patterns
|
532
|
+
# in order for the test to succeed.
|
533
|
+
found1 = True
|
534
|
+
target = str(target)
|
535
|
+
for patterns1 in patterns:
|
536
|
+
found2 = False
|
537
|
+
for patterns2 in patterns1:
|
538
|
+
mo = re_.search(patterns2, target)
|
539
|
+
if mo is not None and len(mo.group(0)) == len(target):
|
540
|
+
found2 = True
|
541
|
+
break
|
542
|
+
if not found2:
|
543
|
+
found1 = False
|
544
|
+
break
|
545
|
+
return found1
|
546
|
+
@classmethod
|
547
|
+
def gds_parse_time(cls, input_data):
|
548
|
+
tz = None
|
549
|
+
if input_data[-1] == 'Z':
|
550
|
+
tz = GeneratedsSuper._FixedOffsetTZ(0, 'UTC')
|
551
|
+
input_data = input_data[:-1]
|
552
|
+
else:
|
553
|
+
results = GeneratedsSuper.tzoff_pattern.search(input_data)
|
554
|
+
if results is not None:
|
555
|
+
tzoff_parts = results.group(2).split(':')
|
556
|
+
tzoff = int(tzoff_parts[0]) * 60 + int(tzoff_parts[1])
|
557
|
+
if results.group(1) == '-':
|
558
|
+
tzoff *= -1
|
559
|
+
tz = GeneratedsSuper._FixedOffsetTZ(
|
560
|
+
tzoff, results.group(0))
|
561
|
+
input_data = input_data[:-6]
|
562
|
+
if len(input_data.split('.')) > 1:
|
563
|
+
dt = datetime_.datetime.strptime(input_data, '%H:%M:%S.%f')
|
564
|
+
else:
|
565
|
+
dt = datetime_.datetime.strptime(input_data, '%H:%M:%S')
|
566
|
+
dt = dt.replace(tzinfo=tz)
|
567
|
+
return dt.time()
|
568
|
+
def gds_check_cardinality_(
|
569
|
+
self, value, input_name,
|
570
|
+
min_occurs=0, max_occurs=1, required=None):
|
571
|
+
if value is None:
|
572
|
+
length = 0
|
573
|
+
elif isinstance(value, list):
|
574
|
+
length = len(value)
|
575
|
+
else:
|
576
|
+
length = 1
|
577
|
+
if required is not None :
|
578
|
+
if required and length < 1:
|
579
|
+
self.gds_collector_.add_message(
|
580
|
+
"Required value {}{} is missing".format(
|
581
|
+
input_name, self.gds_get_node_lineno_()))
|
582
|
+
if length < min_occurs:
|
583
|
+
self.gds_collector_.add_message(
|
584
|
+
"Number of values for {}{} is below "
|
585
|
+
"the minimum allowed, "
|
586
|
+
"expected at least {}, found {}".format(
|
587
|
+
input_name, self.gds_get_node_lineno_(),
|
588
|
+
min_occurs, length))
|
589
|
+
elif length > max_occurs:
|
590
|
+
self.gds_collector_.add_message(
|
591
|
+
"Number of values for {}{} is above "
|
592
|
+
"the maximum allowed, "
|
593
|
+
"expected at most {}, found {}".format(
|
594
|
+
input_name, self.gds_get_node_lineno_(),
|
595
|
+
max_occurs, length))
|
596
|
+
def gds_validate_builtin_ST_(
|
597
|
+
self, validator, value, input_name,
|
598
|
+
min_occurs=None, max_occurs=None, required=None):
|
599
|
+
if value is not None:
|
600
|
+
try:
|
601
|
+
validator(value, input_name=input_name)
|
602
|
+
except GDSParseError as parse_error:
|
603
|
+
self.gds_collector_.add_message(str(parse_error))
|
604
|
+
def gds_validate_defined_ST_(
|
605
|
+
self, validator, value, input_name,
|
606
|
+
min_occurs=None, max_occurs=None, required=None):
|
607
|
+
if value is not None:
|
608
|
+
try:
|
609
|
+
validator(value)
|
610
|
+
except GDSParseError as parse_error:
|
611
|
+
self.gds_collector_.add_message(str(parse_error))
|
612
|
+
def gds_str_lower(self, instring):
|
613
|
+
return instring.lower()
|
614
|
+
def get_path_(self, node):
|
615
|
+
path_list = []
|
616
|
+
self.get_path_list_(node, path_list)
|
617
|
+
path_list.reverse()
|
618
|
+
path = '/'.join(path_list)
|
619
|
+
return path
|
620
|
+
Tag_strip_pattern_ = re_.compile(r'\{.*\}')
|
621
|
+
def get_path_list_(self, node, path_list):
|
622
|
+
if node is None:
|
623
|
+
return
|
624
|
+
tag = GeneratedsSuper.Tag_strip_pattern_.sub('', node.tag)
|
625
|
+
if tag:
|
626
|
+
path_list.append(tag)
|
627
|
+
self.get_path_list_(node.getparent(), path_list)
|
628
|
+
def get_class_obj_(self, node, default_class=None):
|
629
|
+
class_obj1 = default_class
|
630
|
+
if 'xsi' in node.nsmap:
|
631
|
+
classname = node.get('{%s}type' % node.nsmap['xsi'])
|
632
|
+
if classname is not None:
|
633
|
+
names = classname.split(':')
|
634
|
+
if len(names) == 2:
|
635
|
+
classname = names[1]
|
636
|
+
class_obj2 = globals().get(classname)
|
637
|
+
if class_obj2 is not None:
|
638
|
+
class_obj1 = class_obj2
|
639
|
+
return class_obj1
|
640
|
+
def gds_build_any(self, node, type_name=None):
|
641
|
+
# provide default value in case option --disable-xml is used.
|
642
|
+
content = ""
|
643
|
+
content = etree_.tostring(node, encoding="unicode")
|
644
|
+
return content
|
645
|
+
@classmethod
|
646
|
+
def gds_reverse_node_mapping(cls, mapping):
|
647
|
+
return dict(((v, k) for k, v in mapping.items()))
|
648
|
+
@staticmethod
|
649
|
+
def gds_encode(instring):
|
650
|
+
if sys.version_info.major == 2:
|
651
|
+
if ExternalEncoding:
|
652
|
+
encoding = ExternalEncoding
|
653
|
+
else:
|
654
|
+
encoding = 'utf-8'
|
655
|
+
return instring.encode(encoding)
|
656
|
+
else:
|
657
|
+
return instring
|
658
|
+
@staticmethod
|
659
|
+
def convert_unicode(instring):
|
660
|
+
if isinstance(instring, str):
|
661
|
+
result = quote_xml(instring)
|
662
|
+
elif sys.version_info.major == 2 and isinstance(instring, unicode):
|
663
|
+
result = quote_xml(instring).encode('utf8')
|
664
|
+
else:
|
665
|
+
result = GeneratedsSuper.gds_encode(str(instring))
|
666
|
+
return result
|
667
|
+
def __eq__(self, other):
|
668
|
+
def excl_select_objs_(obj):
|
669
|
+
return (obj[0] != 'parent_object_' and
|
670
|
+
obj[0] != 'gds_collector_')
|
671
|
+
if type(self) != type(other):
|
672
|
+
return False
|
673
|
+
return all(x == y for x, y in zip_longest(
|
674
|
+
filter(excl_select_objs_, self.__dict__.items()),
|
675
|
+
filter(excl_select_objs_, other.__dict__.items())))
|
676
|
+
def __ne__(self, other):
|
677
|
+
return not self.__eq__(other)
|
678
|
+
# Django ETL transform hooks.
|
679
|
+
def gds_djo_etl_transform(self):
|
680
|
+
pass
|
681
|
+
def gds_djo_etl_transform_db_obj(self, dbobj):
|
682
|
+
pass
|
683
|
+
# SQLAlchemy ETL transform hooks.
|
684
|
+
def gds_sqa_etl_transform(self):
|
685
|
+
return 0, None
|
686
|
+
def gds_sqa_etl_transform_db_obj(self, dbobj):
|
687
|
+
pass
|
688
|
+
def gds_get_node_lineno_(self):
|
689
|
+
if (hasattr(self, "gds_elementtree_node_") and
|
690
|
+
self.gds_elementtree_node_ is not None):
|
691
|
+
return ' near line {}'.format(
|
692
|
+
self.gds_elementtree_node_.sourceline)
|
693
|
+
else:
|
694
|
+
return ""
|
695
|
+
|
696
|
+
|
697
|
+
def getSubclassFromModule_(module, class_):
|
698
|
+
'''Get the subclass of a class from a specific module.'''
|
699
|
+
name = class_.__name__ + 'Sub'
|
700
|
+
if hasattr(module, name):
|
701
|
+
return getattr(module, name)
|
702
|
+
else:
|
703
|
+
return None
|
704
|
+
|
705
|
+
|
706
|
+
#
|
707
|
+
# If you have installed IPython you can uncomment and use the following.
|
708
|
+
# IPython is available from http://ipython.scipy.org/.
|
709
|
+
#
|
710
|
+
|
711
|
+
## from IPython.Shell import IPShellEmbed
|
712
|
+
## args = ''
|
713
|
+
## ipshell = IPShellEmbed(args,
|
714
|
+
## banner = 'Dropping into IPython',
|
715
|
+
## exit_msg = 'Leaving Interpreter, back to program.')
|
716
|
+
|
717
|
+
# Then use the following line where and when you want to drop into the
|
718
|
+
# IPython shell:
|
719
|
+
# ipshell('<some message> -- Entering ipshell.\nHit Ctrl-D to exit')
|
720
|
+
|
721
|
+
#
|
722
|
+
# Globals
|
723
|
+
#
|
724
|
+
|
725
|
+
ExternalEncoding = ''
|
726
|
+
# Set this to false in order to deactivate during export, the use of
|
727
|
+
# name space prefixes captured from the input document.
|
728
|
+
UseCapturedNS_ = True
|
729
|
+
CapturedNsmap_ = {}
|
730
|
+
Tag_pattern_ = re_.compile(r'({.*})?(.*)')
|
731
|
+
String_cleanup_pat_ = re_.compile(r"[\n\r\s]+")
|
732
|
+
Namespace_extract_pat_ = re_.compile(r'{(.*)}(.*)')
|
733
|
+
CDATA_pattern_ = re_.compile(r"<!\[CDATA\[.*?\]\]>", re_.DOTALL)
|
734
|
+
|
735
|
+
# Change this to redirect the generated superclass module to use a
|
736
|
+
# specific subclass module.
|
737
|
+
CurrentSubclassModule_ = None
|
738
|
+
|
739
|
+
#
|
740
|
+
# Support/utility functions.
|
741
|
+
#
|
742
|
+
|
743
|
+
|
744
|
+
def showIndent(outfile, level, pretty_print=True):
|
745
|
+
if pretty_print:
|
746
|
+
for idx in range(level):
|
747
|
+
outfile.write(' ')
|
748
|
+
|
749
|
+
|
750
|
+
def quote_xml(inStr):
|
751
|
+
"Escape markup chars, but do not modify CDATA sections."
|
752
|
+
if not inStr:
|
753
|
+
return ''
|
754
|
+
s1 = (isinstance(inStr, BaseStrType_) and inStr or '%s' % inStr)
|
755
|
+
s2 = ''
|
756
|
+
pos = 0
|
757
|
+
matchobjects = CDATA_pattern_.finditer(s1)
|
758
|
+
for mo in matchobjects:
|
759
|
+
s3 = s1[pos:mo.start()]
|
760
|
+
s2 += quote_xml_aux(s3)
|
761
|
+
s2 += s1[mo.start():mo.end()]
|
762
|
+
pos = mo.end()
|
763
|
+
s3 = s1[pos:]
|
764
|
+
s2 += quote_xml_aux(s3)
|
765
|
+
return s2
|
766
|
+
|
767
|
+
|
768
|
+
def quote_xml_aux(inStr):
|
769
|
+
s1 = inStr.replace('&', '&')
|
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 RelType(str, Enum):
|
1008
|
+
SELF='self'
|
1009
|
+
ARTIFACT='artifact'
|
1010
|
+
DETAILS='details'
|
1011
|
+
MANIFEST_SHIPMENTS='manifestShipments'
|
1012
|
+
MANIFEST='manifest'
|
1013
|
+
SHIPMENT='shipment'
|
1014
|
+
|
1015
|
+
|
1016
|
+
class country_codeType(str, Enum):
|
1017
|
+
CA='CA'
|
1018
|
+
US='US'
|
1019
|
+
|
1020
|
+
|
1021
|
+
#
|
1022
|
+
# Start data representation classes
|
1023
|
+
#
|
1024
|
+
class ShipmentTransmitSetType(GeneratedsSuper):
|
1025
|
+
"""customer-request-id -- For future use
|
1026
|
+
|
1027
|
+
"""
|
1028
|
+
__hash__ = GeneratedsSuper.__hash__
|
1029
|
+
subclass = None
|
1030
|
+
superclass = None
|
1031
|
+
def __init__(self, customer_request_id=None, group_ids=None, cpc_pickup_indicator=None, requested_shipping_point=None, shipping_point_id=None, detailed_manifests=None, method_of_payment=None, manifest_address=None, customer_reference=None, excluded_shipments=None, gds_collector_=None, **kwargs_):
|
1032
|
+
self.gds_collector_ = gds_collector_
|
1033
|
+
self.gds_elementtree_node_ = None
|
1034
|
+
self.original_tagname_ = None
|
1035
|
+
self.parent_object_ = kwargs_.get('parent_object_')
|
1036
|
+
self.ns_prefix_ = None
|
1037
|
+
self.customer_request_id = customer_request_id
|
1038
|
+
self.validate_CustomerRequestIdType(self.customer_request_id)
|
1039
|
+
self.customer_request_id_nsprefix_ = None
|
1040
|
+
self.group_ids = group_ids
|
1041
|
+
self.group_ids_nsprefix_ = None
|
1042
|
+
self.cpc_pickup_indicator = cpc_pickup_indicator
|
1043
|
+
self.cpc_pickup_indicator_nsprefix_ = None
|
1044
|
+
self.requested_shipping_point = requested_shipping_point
|
1045
|
+
self.requested_shipping_point_nsprefix_ = None
|
1046
|
+
self.shipping_point_id = shipping_point_id
|
1047
|
+
self.shipping_point_id_nsprefix_ = None
|
1048
|
+
self.detailed_manifests = detailed_manifests
|
1049
|
+
self.detailed_manifests_nsprefix_ = None
|
1050
|
+
self.method_of_payment = method_of_payment
|
1051
|
+
self.method_of_payment_nsprefix_ = None
|
1052
|
+
self.manifest_address = manifest_address
|
1053
|
+
self.manifest_address_nsprefix_ = None
|
1054
|
+
self.customer_reference = customer_reference
|
1055
|
+
self.validate_CustomerReferenceType(self.customer_reference)
|
1056
|
+
self.customer_reference_nsprefix_ = None
|
1057
|
+
self.excluded_shipments = excluded_shipments
|
1058
|
+
self.excluded_shipments_nsprefix_ = None
|
1059
|
+
def factory(*args_, **kwargs_):
|
1060
|
+
if CurrentSubclassModule_ is not None:
|
1061
|
+
subclass = getSubclassFromModule_(
|
1062
|
+
CurrentSubclassModule_, ShipmentTransmitSetType)
|
1063
|
+
if subclass is not None:
|
1064
|
+
return subclass(*args_, **kwargs_)
|
1065
|
+
if ShipmentTransmitSetType.subclass:
|
1066
|
+
return ShipmentTransmitSetType.subclass(*args_, **kwargs_)
|
1067
|
+
else:
|
1068
|
+
return ShipmentTransmitSetType(*args_, **kwargs_)
|
1069
|
+
factory = staticmethod(factory)
|
1070
|
+
def get_ns_prefix_(self):
|
1071
|
+
return self.ns_prefix_
|
1072
|
+
def set_ns_prefix_(self, ns_prefix):
|
1073
|
+
self.ns_prefix_ = ns_prefix
|
1074
|
+
def get_customer_request_id(self):
|
1075
|
+
return self.customer_request_id
|
1076
|
+
def set_customer_request_id(self, customer_request_id):
|
1077
|
+
self.customer_request_id = customer_request_id
|
1078
|
+
def get_group_ids(self):
|
1079
|
+
return self.group_ids
|
1080
|
+
def set_group_ids(self, group_ids):
|
1081
|
+
self.group_ids = group_ids
|
1082
|
+
def get_cpc_pickup_indicator(self):
|
1083
|
+
return self.cpc_pickup_indicator
|
1084
|
+
def set_cpc_pickup_indicator(self, cpc_pickup_indicator):
|
1085
|
+
self.cpc_pickup_indicator = cpc_pickup_indicator
|
1086
|
+
def get_requested_shipping_point(self):
|
1087
|
+
return self.requested_shipping_point
|
1088
|
+
def set_requested_shipping_point(self, requested_shipping_point):
|
1089
|
+
self.requested_shipping_point = requested_shipping_point
|
1090
|
+
def get_shipping_point_id(self):
|
1091
|
+
return self.shipping_point_id
|
1092
|
+
def set_shipping_point_id(self, shipping_point_id):
|
1093
|
+
self.shipping_point_id = shipping_point_id
|
1094
|
+
def get_detailed_manifests(self):
|
1095
|
+
return self.detailed_manifests
|
1096
|
+
def set_detailed_manifests(self, detailed_manifests):
|
1097
|
+
self.detailed_manifests = detailed_manifests
|
1098
|
+
def get_method_of_payment(self):
|
1099
|
+
return self.method_of_payment
|
1100
|
+
def set_method_of_payment(self, method_of_payment):
|
1101
|
+
self.method_of_payment = method_of_payment
|
1102
|
+
def get_manifest_address(self):
|
1103
|
+
return self.manifest_address
|
1104
|
+
def set_manifest_address(self, manifest_address):
|
1105
|
+
self.manifest_address = manifest_address
|
1106
|
+
def get_customer_reference(self):
|
1107
|
+
return self.customer_reference
|
1108
|
+
def set_customer_reference(self, customer_reference):
|
1109
|
+
self.customer_reference = customer_reference
|
1110
|
+
def get_excluded_shipments(self):
|
1111
|
+
return self.excluded_shipments
|
1112
|
+
def set_excluded_shipments(self, excluded_shipments):
|
1113
|
+
self.excluded_shipments = excluded_shipments
|
1114
|
+
def validate_CustomerRequestIdType(self, value):
|
1115
|
+
result = True
|
1116
|
+
# Validate type CustomerRequestIdType, a restriction on xsd:normalizedString.
|
1117
|
+
if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None:
|
1118
|
+
if not isinstance(value, str):
|
1119
|
+
lineno = self.gds_get_node_lineno_()
|
1120
|
+
self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, })
|
1121
|
+
return False
|
1122
|
+
if len(value) > 35:
|
1123
|
+
lineno = self.gds_get_node_lineno_()
|
1124
|
+
self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on CustomerRequestIdType' % {"value": value, "lineno": lineno} )
|
1125
|
+
result = False
|
1126
|
+
return result
|
1127
|
+
def validate_CustomerReferenceType(self, value):
|
1128
|
+
result = True
|
1129
|
+
# Validate type CustomerReferenceType, a restriction on xsd:string.
|
1130
|
+
if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None:
|
1131
|
+
if not isinstance(value, str):
|
1132
|
+
lineno = self.gds_get_node_lineno_()
|
1133
|
+
self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, })
|
1134
|
+
return False
|
1135
|
+
if len(value) > 12:
|
1136
|
+
lineno = self.gds_get_node_lineno_()
|
1137
|
+
self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on CustomerReferenceType' % {"value" : encode_str_2_3(value), "lineno": lineno} )
|
1138
|
+
result = False
|
1139
|
+
return result
|
1140
|
+
def has__content(self):
|
1141
|
+
if (
|
1142
|
+
self.customer_request_id is not None or
|
1143
|
+
self.group_ids is not None or
|
1144
|
+
self.cpc_pickup_indicator is not None or
|
1145
|
+
self.requested_shipping_point is not None or
|
1146
|
+
self.shipping_point_id is not None or
|
1147
|
+
self.detailed_manifests is not None or
|
1148
|
+
self.method_of_payment is not None or
|
1149
|
+
self.manifest_address is not None or
|
1150
|
+
self.customer_reference is not None or
|
1151
|
+
self.excluded_shipments is not None
|
1152
|
+
):
|
1153
|
+
return True
|
1154
|
+
else:
|
1155
|
+
return False
|
1156
|
+
def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='ShipmentTransmitSetType', pretty_print=True):
|
1157
|
+
imported_ns_def_ = GenerateDSNamespaceDefs_.get('ShipmentTransmitSetType')
|
1158
|
+
if imported_ns_def_ is not None:
|
1159
|
+
namespacedef_ = imported_ns_def_
|
1160
|
+
if pretty_print:
|
1161
|
+
eol_ = '\n'
|
1162
|
+
else:
|
1163
|
+
eol_ = ''
|
1164
|
+
if self.original_tagname_ is not None and name_ == 'ShipmentTransmitSetType':
|
1165
|
+
name_ = self.original_tagname_
|
1166
|
+
if UseCapturedNS_ and self.ns_prefix_:
|
1167
|
+
namespaceprefix_ = self.ns_prefix_ + ':'
|
1168
|
+
showIndent(outfile, level, pretty_print)
|
1169
|
+
outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
|
1170
|
+
already_processed = set()
|
1171
|
+
self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ShipmentTransmitSetType')
|
1172
|
+
if self.has__content():
|
1173
|
+
outfile.write('>%s' % (eol_, ))
|
1174
|
+
self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ShipmentTransmitSetType', pretty_print=pretty_print)
|
1175
|
+
showIndent(outfile, level, pretty_print)
|
1176
|
+
outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
|
1177
|
+
else:
|
1178
|
+
outfile.write('/>%s' % (eol_, ))
|
1179
|
+
def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ShipmentTransmitSetType'):
|
1180
|
+
pass
|
1181
|
+
def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='ShipmentTransmitSetType', fromsubclass_=False, pretty_print=True):
|
1182
|
+
if pretty_print:
|
1183
|
+
eol_ = '\n'
|
1184
|
+
else:
|
1185
|
+
eol_ = ''
|
1186
|
+
if self.customer_request_id is not None:
|
1187
|
+
namespaceprefix_ = self.customer_request_id_nsprefix_ + ':' if (UseCapturedNS_ and self.customer_request_id_nsprefix_) else ''
|
1188
|
+
showIndent(outfile, level, pretty_print)
|
1189
|
+
outfile.write('<%scustomer-request-id>%s</%scustomer-request-id>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.customer_request_id), input_name='customer-request-id')), namespaceprefix_ , eol_))
|
1190
|
+
if self.group_ids is not None:
|
1191
|
+
namespaceprefix_ = self.group_ids_nsprefix_ + ':' if (UseCapturedNS_ and self.group_ids_nsprefix_) else ''
|
1192
|
+
self.group_ids.export(outfile, level, namespaceprefix_, namespacedef_='', name_='group-ids', pretty_print=pretty_print)
|
1193
|
+
if self.cpc_pickup_indicator is not None:
|
1194
|
+
namespaceprefix_ = self.cpc_pickup_indicator_nsprefix_ + ':' if (UseCapturedNS_ and self.cpc_pickup_indicator_nsprefix_) else ''
|
1195
|
+
showIndent(outfile, level, pretty_print)
|
1196
|
+
outfile.write('<%scpc-pickup-indicator>%s</%scpc-pickup-indicator>%s' % (namespaceprefix_ , self.gds_format_boolean(self.cpc_pickup_indicator, input_name='cpc-pickup-indicator'), namespaceprefix_ , eol_))
|
1197
|
+
if self.requested_shipping_point is not None:
|
1198
|
+
namespaceprefix_ = self.requested_shipping_point_nsprefix_ + ':' if (UseCapturedNS_ and self.requested_shipping_point_nsprefix_) else ''
|
1199
|
+
showIndent(outfile, level, pretty_print)
|
1200
|
+
outfile.write('<%srequested-shipping-point>%s</%srequested-shipping-point>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.requested_shipping_point), input_name='requested-shipping-point')), namespaceprefix_ , eol_))
|
1201
|
+
if self.shipping_point_id is not None:
|
1202
|
+
namespaceprefix_ = self.shipping_point_id_nsprefix_ + ':' if (UseCapturedNS_ and self.shipping_point_id_nsprefix_) else ''
|
1203
|
+
showIndent(outfile, level, pretty_print)
|
1204
|
+
outfile.write('<%sshipping-point-id>%s</%sshipping-point-id>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.shipping_point_id), input_name='shipping-point-id')), namespaceprefix_ , eol_))
|
1205
|
+
if self.detailed_manifests is not None:
|
1206
|
+
namespaceprefix_ = self.detailed_manifests_nsprefix_ + ':' if (UseCapturedNS_ and self.detailed_manifests_nsprefix_) else ''
|
1207
|
+
showIndent(outfile, level, pretty_print)
|
1208
|
+
outfile.write('<%sdetailed-manifests>%s</%sdetailed-manifests>%s' % (namespaceprefix_ , self.gds_format_boolean(self.detailed_manifests, input_name='detailed-manifests'), namespaceprefix_ , eol_))
|
1209
|
+
if self.method_of_payment is not None:
|
1210
|
+
namespaceprefix_ = self.method_of_payment_nsprefix_ + ':' if (UseCapturedNS_ and self.method_of_payment_nsprefix_) else ''
|
1211
|
+
showIndent(outfile, level, pretty_print)
|
1212
|
+
outfile.write('<%smethod-of-payment>%s</%smethod-of-payment>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.method_of_payment), input_name='method-of-payment')), namespaceprefix_ , eol_))
|
1213
|
+
if self.manifest_address is not None:
|
1214
|
+
namespaceprefix_ = self.manifest_address_nsprefix_ + ':' if (UseCapturedNS_ and self.manifest_address_nsprefix_) else ''
|
1215
|
+
self.manifest_address.export(outfile, level, namespaceprefix_, namespacedef_='', name_='manifest-address', pretty_print=pretty_print)
|
1216
|
+
if self.customer_reference is not None:
|
1217
|
+
namespaceprefix_ = self.customer_reference_nsprefix_ + ':' if (UseCapturedNS_ and self.customer_reference_nsprefix_) else ''
|
1218
|
+
showIndent(outfile, level, pretty_print)
|
1219
|
+
outfile.write('<%scustomer-reference>%s</%scustomer-reference>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.customer_reference), input_name='customer-reference')), namespaceprefix_ , eol_))
|
1220
|
+
if self.excluded_shipments is not None:
|
1221
|
+
namespaceprefix_ = self.excluded_shipments_nsprefix_ + ':' if (UseCapturedNS_ and self.excluded_shipments_nsprefix_) else ''
|
1222
|
+
self.excluded_shipments.export(outfile, level, namespaceprefix_, namespacedef_='', name_='excluded-shipments', pretty_print=pretty_print)
|
1223
|
+
def build(self, node, gds_collector_=None):
|
1224
|
+
self.gds_collector_ = gds_collector_
|
1225
|
+
if SaveElementTreeNode:
|
1226
|
+
self.gds_elementtree_node_ = node
|
1227
|
+
already_processed = set()
|
1228
|
+
self.ns_prefix_ = node.prefix
|
1229
|
+
self._buildAttributes(node, node.attrib, already_processed)
|
1230
|
+
for child in node:
|
1231
|
+
nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
|
1232
|
+
self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
|
1233
|
+
return self
|
1234
|
+
def _buildAttributes(self, node, attrs, already_processed):
|
1235
|
+
pass
|
1236
|
+
def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
|
1237
|
+
if nodeName_ == 'customer-request-id':
|
1238
|
+
value_ = child_.text
|
1239
|
+
value_ = self.gds_parse_string(value_, node, 'customer_request_id')
|
1240
|
+
value_ = self.gds_validate_string(value_, node, 'customer_request_id')
|
1241
|
+
self.customer_request_id = value_
|
1242
|
+
self.customer_request_id_nsprefix_ = child_.prefix
|
1243
|
+
# validate type CustomerRequestIdType
|
1244
|
+
self.validate_CustomerRequestIdType(self.customer_request_id)
|
1245
|
+
elif nodeName_ == 'group-ids':
|
1246
|
+
obj_ = GroupIDListType.factory(parent_object_=self)
|
1247
|
+
obj_.build(child_, gds_collector_=gds_collector_)
|
1248
|
+
self.group_ids = obj_
|
1249
|
+
obj_.original_tagname_ = 'group-ids'
|
1250
|
+
elif nodeName_ == 'cpc-pickup-indicator':
|
1251
|
+
sval_ = child_.text
|
1252
|
+
ival_ = self.gds_parse_boolean(sval_, node, 'cpc_pickup_indicator')
|
1253
|
+
ival_ = self.gds_validate_boolean(ival_, node, 'cpc_pickup_indicator')
|
1254
|
+
self.cpc_pickup_indicator = ival_
|
1255
|
+
self.cpc_pickup_indicator_nsprefix_ = child_.prefix
|
1256
|
+
elif nodeName_ == 'requested-shipping-point':
|
1257
|
+
value_ = child_.text
|
1258
|
+
value_ = self.gds_parse_string(value_, node, 'requested_shipping_point')
|
1259
|
+
value_ = self.gds_validate_string(value_, node, 'requested_shipping_point')
|
1260
|
+
self.requested_shipping_point = value_
|
1261
|
+
self.requested_shipping_point_nsprefix_ = child_.prefix
|
1262
|
+
elif nodeName_ == 'shipping-point-id':
|
1263
|
+
value_ = child_.text
|
1264
|
+
value_ = self.gds_parse_string(value_, node, 'shipping_point_id')
|
1265
|
+
value_ = self.gds_validate_string(value_, node, 'shipping_point_id')
|
1266
|
+
self.shipping_point_id = value_
|
1267
|
+
self.shipping_point_id_nsprefix_ = child_.prefix
|
1268
|
+
elif nodeName_ == 'detailed-manifests':
|
1269
|
+
sval_ = child_.text
|
1270
|
+
ival_ = self.gds_parse_boolean(sval_, node, 'detailed_manifests')
|
1271
|
+
ival_ = self.gds_validate_boolean(ival_, node, 'detailed_manifests')
|
1272
|
+
self.detailed_manifests = ival_
|
1273
|
+
self.detailed_manifests_nsprefix_ = child_.prefix
|
1274
|
+
elif nodeName_ == 'method-of-payment':
|
1275
|
+
value_ = child_.text
|
1276
|
+
value_ = self.gds_parse_string(value_, node, 'method_of_payment')
|
1277
|
+
value_ = self.gds_validate_string(value_, node, 'method_of_payment')
|
1278
|
+
self.method_of_payment = value_
|
1279
|
+
self.method_of_payment_nsprefix_ = child_.prefix
|
1280
|
+
elif nodeName_ == 'manifest-address':
|
1281
|
+
obj_ = ManifestAddressType.factory(parent_object_=self)
|
1282
|
+
obj_.build(child_, gds_collector_=gds_collector_)
|
1283
|
+
self.manifest_address = obj_
|
1284
|
+
obj_.original_tagname_ = 'manifest-address'
|
1285
|
+
elif nodeName_ == 'customer-reference':
|
1286
|
+
value_ = child_.text
|
1287
|
+
value_ = self.gds_parse_string(value_, node, 'customer_reference')
|
1288
|
+
value_ = self.gds_validate_string(value_, node, 'customer_reference')
|
1289
|
+
self.customer_reference = value_
|
1290
|
+
self.customer_reference_nsprefix_ = child_.prefix
|
1291
|
+
# validate type CustomerReferenceType
|
1292
|
+
self.validate_CustomerReferenceType(self.customer_reference)
|
1293
|
+
elif nodeName_ == 'excluded-shipments':
|
1294
|
+
obj_ = ExcludedShipmentsType.factory(parent_object_=self)
|
1295
|
+
obj_.build(child_, gds_collector_=gds_collector_)
|
1296
|
+
self.excluded_shipments = obj_
|
1297
|
+
obj_.original_tagname_ = 'excluded-shipments'
|
1298
|
+
# end class ShipmentTransmitSetType
|
1299
|
+
|
1300
|
+
|
1301
|
+
class GroupIDListType(GeneratedsSuper):
|
1302
|
+
__hash__ = GeneratedsSuper.__hash__
|
1303
|
+
subclass = None
|
1304
|
+
superclass = None
|
1305
|
+
def __init__(self, group_id=None, gds_collector_=None, **kwargs_):
|
1306
|
+
self.gds_collector_ = gds_collector_
|
1307
|
+
self.gds_elementtree_node_ = None
|
1308
|
+
self.original_tagname_ = None
|
1309
|
+
self.parent_object_ = kwargs_.get('parent_object_')
|
1310
|
+
self.ns_prefix_ = None
|
1311
|
+
if group_id is None:
|
1312
|
+
self.group_id = []
|
1313
|
+
else:
|
1314
|
+
self.group_id = group_id
|
1315
|
+
self.group_id_nsprefix_ = None
|
1316
|
+
def factory(*args_, **kwargs_):
|
1317
|
+
if CurrentSubclassModule_ is not None:
|
1318
|
+
subclass = getSubclassFromModule_(
|
1319
|
+
CurrentSubclassModule_, GroupIDListType)
|
1320
|
+
if subclass is not None:
|
1321
|
+
return subclass(*args_, **kwargs_)
|
1322
|
+
if GroupIDListType.subclass:
|
1323
|
+
return GroupIDListType.subclass(*args_, **kwargs_)
|
1324
|
+
else:
|
1325
|
+
return GroupIDListType(*args_, **kwargs_)
|
1326
|
+
factory = staticmethod(factory)
|
1327
|
+
def get_ns_prefix_(self):
|
1328
|
+
return self.ns_prefix_
|
1329
|
+
def set_ns_prefix_(self, ns_prefix):
|
1330
|
+
self.ns_prefix_ = ns_prefix
|
1331
|
+
def get_group_id(self):
|
1332
|
+
return self.group_id
|
1333
|
+
def set_group_id(self, group_id):
|
1334
|
+
self.group_id = group_id
|
1335
|
+
def add_group_id(self, value):
|
1336
|
+
self.group_id.append(value)
|
1337
|
+
def insert_group_id_at(self, index, value):
|
1338
|
+
self.group_id.insert(index, value)
|
1339
|
+
def replace_group_id_at(self, index, value):
|
1340
|
+
self.group_id[index] = value
|
1341
|
+
def validate_GroupIDType(self, value):
|
1342
|
+
result = True
|
1343
|
+
# Validate type GroupIDType, a restriction on xsd:normalizedString.
|
1344
|
+
if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None:
|
1345
|
+
if not isinstance(value, str):
|
1346
|
+
lineno = self.gds_get_node_lineno_()
|
1347
|
+
self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, })
|
1348
|
+
return False
|
1349
|
+
if len(value) > 32:
|
1350
|
+
lineno = self.gds_get_node_lineno_()
|
1351
|
+
self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on GroupIDType' % {"value": value, "lineno": lineno} )
|
1352
|
+
result = False
|
1353
|
+
if len(value) < 1:
|
1354
|
+
lineno = self.gds_get_node_lineno_()
|
1355
|
+
self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on GroupIDType' % {"value" : value, "lineno": lineno} )
|
1356
|
+
result = False
|
1357
|
+
return result
|
1358
|
+
def has__content(self):
|
1359
|
+
if (
|
1360
|
+
self.group_id
|
1361
|
+
):
|
1362
|
+
return True
|
1363
|
+
else:
|
1364
|
+
return False
|
1365
|
+
def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='GroupIDListType', pretty_print=True):
|
1366
|
+
imported_ns_def_ = GenerateDSNamespaceDefs_.get('GroupIDListType')
|
1367
|
+
if imported_ns_def_ is not None:
|
1368
|
+
namespacedef_ = imported_ns_def_
|
1369
|
+
if pretty_print:
|
1370
|
+
eol_ = '\n'
|
1371
|
+
else:
|
1372
|
+
eol_ = ''
|
1373
|
+
if self.original_tagname_ is not None and name_ == 'GroupIDListType':
|
1374
|
+
name_ = self.original_tagname_
|
1375
|
+
if UseCapturedNS_ and self.ns_prefix_:
|
1376
|
+
namespaceprefix_ = self.ns_prefix_ + ':'
|
1377
|
+
showIndent(outfile, level, pretty_print)
|
1378
|
+
outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
|
1379
|
+
already_processed = set()
|
1380
|
+
self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='GroupIDListType')
|
1381
|
+
if self.has__content():
|
1382
|
+
outfile.write('>%s' % (eol_, ))
|
1383
|
+
self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='GroupIDListType', pretty_print=pretty_print)
|
1384
|
+
showIndent(outfile, level, pretty_print)
|
1385
|
+
outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
|
1386
|
+
else:
|
1387
|
+
outfile.write('/>%s' % (eol_, ))
|
1388
|
+
def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='GroupIDListType'):
|
1389
|
+
pass
|
1390
|
+
def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='GroupIDListType', fromsubclass_=False, pretty_print=True):
|
1391
|
+
if pretty_print:
|
1392
|
+
eol_ = '\n'
|
1393
|
+
else:
|
1394
|
+
eol_ = ''
|
1395
|
+
for group_id_ in self.group_id:
|
1396
|
+
namespaceprefix_ = self.group_id_nsprefix_ + ':' if (UseCapturedNS_ and self.group_id_nsprefix_) else ''
|
1397
|
+
showIndent(outfile, level, pretty_print)
|
1398
|
+
outfile.write('<%sgroup-id>%s</%sgroup-id>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(group_id_), input_name='group-id')), namespaceprefix_ , eol_))
|
1399
|
+
def build(self, node, gds_collector_=None):
|
1400
|
+
self.gds_collector_ = gds_collector_
|
1401
|
+
if SaveElementTreeNode:
|
1402
|
+
self.gds_elementtree_node_ = node
|
1403
|
+
already_processed = set()
|
1404
|
+
self.ns_prefix_ = node.prefix
|
1405
|
+
self._buildAttributes(node, node.attrib, already_processed)
|
1406
|
+
for child in node:
|
1407
|
+
nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
|
1408
|
+
self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
|
1409
|
+
return self
|
1410
|
+
def _buildAttributes(self, node, attrs, already_processed):
|
1411
|
+
pass
|
1412
|
+
def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
|
1413
|
+
if nodeName_ == 'group-id':
|
1414
|
+
value_ = child_.text
|
1415
|
+
value_ = self.gds_parse_string(value_, node, 'group_id')
|
1416
|
+
value_ = self.gds_validate_string(value_, node, 'group_id')
|
1417
|
+
self.group_id.append(value_)
|
1418
|
+
self.group_id_nsprefix_ = child_.prefix
|
1419
|
+
# validate type GroupIDType
|
1420
|
+
self.validate_GroupIDType(self.group_id[-1])
|
1421
|
+
# end class GroupIDListType
|
1422
|
+
|
1423
|
+
|
1424
|
+
class ExcludedShipmentsType(GeneratedsSuper):
|
1425
|
+
__hash__ = GeneratedsSuper.__hash__
|
1426
|
+
subclass = None
|
1427
|
+
superclass = None
|
1428
|
+
def __init__(self, shipment_id=None, gds_collector_=None, **kwargs_):
|
1429
|
+
self.gds_collector_ = gds_collector_
|
1430
|
+
self.gds_elementtree_node_ = None
|
1431
|
+
self.original_tagname_ = None
|
1432
|
+
self.parent_object_ = kwargs_.get('parent_object_')
|
1433
|
+
self.ns_prefix_ = None
|
1434
|
+
if shipment_id is None:
|
1435
|
+
self.shipment_id = []
|
1436
|
+
else:
|
1437
|
+
self.shipment_id = shipment_id
|
1438
|
+
self.shipment_id_nsprefix_ = None
|
1439
|
+
def factory(*args_, **kwargs_):
|
1440
|
+
if CurrentSubclassModule_ is not None:
|
1441
|
+
subclass = getSubclassFromModule_(
|
1442
|
+
CurrentSubclassModule_, ExcludedShipmentsType)
|
1443
|
+
if subclass is not None:
|
1444
|
+
return subclass(*args_, **kwargs_)
|
1445
|
+
if ExcludedShipmentsType.subclass:
|
1446
|
+
return ExcludedShipmentsType.subclass(*args_, **kwargs_)
|
1447
|
+
else:
|
1448
|
+
return ExcludedShipmentsType(*args_, **kwargs_)
|
1449
|
+
factory = staticmethod(factory)
|
1450
|
+
def get_ns_prefix_(self):
|
1451
|
+
return self.ns_prefix_
|
1452
|
+
def set_ns_prefix_(self, ns_prefix):
|
1453
|
+
self.ns_prefix_ = ns_prefix
|
1454
|
+
def get_shipment_id(self):
|
1455
|
+
return self.shipment_id
|
1456
|
+
def set_shipment_id(self, shipment_id):
|
1457
|
+
self.shipment_id = shipment_id
|
1458
|
+
def add_shipment_id(self, value):
|
1459
|
+
self.shipment_id.append(value)
|
1460
|
+
def insert_shipment_id_at(self, index, value):
|
1461
|
+
self.shipment_id.insert(index, value)
|
1462
|
+
def replace_shipment_id_at(self, index, value):
|
1463
|
+
self.shipment_id[index] = value
|
1464
|
+
def validate_ShipmentIDType(self, value):
|
1465
|
+
result = True
|
1466
|
+
# Validate type ShipmentIDType, a restriction on xsd:normalizedString.
|
1467
|
+
if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None:
|
1468
|
+
if not isinstance(value, str):
|
1469
|
+
lineno = self.gds_get_node_lineno_()
|
1470
|
+
self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, })
|
1471
|
+
return False
|
1472
|
+
if len(value) > 32:
|
1473
|
+
lineno = self.gds_get_node_lineno_()
|
1474
|
+
self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on ShipmentIDType' % {"value": value, "lineno": lineno} )
|
1475
|
+
result = False
|
1476
|
+
return result
|
1477
|
+
def has__content(self):
|
1478
|
+
if (
|
1479
|
+
self.shipment_id
|
1480
|
+
):
|
1481
|
+
return True
|
1482
|
+
else:
|
1483
|
+
return False
|
1484
|
+
def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='ExcludedShipmentsType', pretty_print=True):
|
1485
|
+
imported_ns_def_ = GenerateDSNamespaceDefs_.get('ExcludedShipmentsType')
|
1486
|
+
if imported_ns_def_ is not None:
|
1487
|
+
namespacedef_ = imported_ns_def_
|
1488
|
+
if pretty_print:
|
1489
|
+
eol_ = '\n'
|
1490
|
+
else:
|
1491
|
+
eol_ = ''
|
1492
|
+
if self.original_tagname_ is not None and name_ == 'ExcludedShipmentsType':
|
1493
|
+
name_ = self.original_tagname_
|
1494
|
+
if UseCapturedNS_ and self.ns_prefix_:
|
1495
|
+
namespaceprefix_ = self.ns_prefix_ + ':'
|
1496
|
+
showIndent(outfile, level, pretty_print)
|
1497
|
+
outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
|
1498
|
+
already_processed = set()
|
1499
|
+
self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ExcludedShipmentsType')
|
1500
|
+
if self.has__content():
|
1501
|
+
outfile.write('>%s' % (eol_, ))
|
1502
|
+
self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ExcludedShipmentsType', pretty_print=pretty_print)
|
1503
|
+
showIndent(outfile, level, pretty_print)
|
1504
|
+
outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
|
1505
|
+
else:
|
1506
|
+
outfile.write('/>%s' % (eol_, ))
|
1507
|
+
def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ExcludedShipmentsType'):
|
1508
|
+
pass
|
1509
|
+
def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='ExcludedShipmentsType', fromsubclass_=False, pretty_print=True):
|
1510
|
+
if pretty_print:
|
1511
|
+
eol_ = '\n'
|
1512
|
+
else:
|
1513
|
+
eol_ = ''
|
1514
|
+
for shipment_id_ in self.shipment_id:
|
1515
|
+
namespaceprefix_ = self.shipment_id_nsprefix_ + ':' if (UseCapturedNS_ and self.shipment_id_nsprefix_) else ''
|
1516
|
+
showIndent(outfile, level, pretty_print)
|
1517
|
+
outfile.write('<%sshipment-id>%s</%sshipment-id>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(shipment_id_), input_name='shipment-id')), namespaceprefix_ , eol_))
|
1518
|
+
def build(self, node, gds_collector_=None):
|
1519
|
+
self.gds_collector_ = gds_collector_
|
1520
|
+
if SaveElementTreeNode:
|
1521
|
+
self.gds_elementtree_node_ = node
|
1522
|
+
already_processed = set()
|
1523
|
+
self.ns_prefix_ = node.prefix
|
1524
|
+
self._buildAttributes(node, node.attrib, already_processed)
|
1525
|
+
for child in node:
|
1526
|
+
nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
|
1527
|
+
self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
|
1528
|
+
return self
|
1529
|
+
def _buildAttributes(self, node, attrs, already_processed):
|
1530
|
+
pass
|
1531
|
+
def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
|
1532
|
+
if nodeName_ == 'shipment-id':
|
1533
|
+
value_ = child_.text
|
1534
|
+
value_ = self.gds_parse_string(value_, node, 'shipment_id')
|
1535
|
+
value_ = self.gds_validate_string(value_, node, 'shipment_id')
|
1536
|
+
self.shipment_id.append(value_)
|
1537
|
+
self.shipment_id_nsprefix_ = child_.prefix
|
1538
|
+
# validate type ShipmentIDType
|
1539
|
+
self.validate_ShipmentIDType(self.shipment_id[-1])
|
1540
|
+
# end class ExcludedShipmentsType
|
1541
|
+
|
1542
|
+
|
1543
|
+
class ShipmentsType(GeneratedsSuper):
|
1544
|
+
__hash__ = GeneratedsSuper.__hash__
|
1545
|
+
subclass = None
|
1546
|
+
superclass = None
|
1547
|
+
def __init__(self, link=None, gds_collector_=None, **kwargs_):
|
1548
|
+
self.gds_collector_ = gds_collector_
|
1549
|
+
self.gds_elementtree_node_ = None
|
1550
|
+
self.original_tagname_ = None
|
1551
|
+
self.parent_object_ = kwargs_.get('parent_object_')
|
1552
|
+
self.ns_prefix_ = None
|
1553
|
+
if link is None:
|
1554
|
+
self.link = []
|
1555
|
+
else:
|
1556
|
+
self.link = link
|
1557
|
+
self.link_nsprefix_ = None
|
1558
|
+
def factory(*args_, **kwargs_):
|
1559
|
+
if CurrentSubclassModule_ is not None:
|
1560
|
+
subclass = getSubclassFromModule_(
|
1561
|
+
CurrentSubclassModule_, ShipmentsType)
|
1562
|
+
if subclass is not None:
|
1563
|
+
return subclass(*args_, **kwargs_)
|
1564
|
+
if ShipmentsType.subclass:
|
1565
|
+
return ShipmentsType.subclass(*args_, **kwargs_)
|
1566
|
+
else:
|
1567
|
+
return ShipmentsType(*args_, **kwargs_)
|
1568
|
+
factory = staticmethod(factory)
|
1569
|
+
def get_ns_prefix_(self):
|
1570
|
+
return self.ns_prefix_
|
1571
|
+
def set_ns_prefix_(self, ns_prefix):
|
1572
|
+
self.ns_prefix_ = ns_prefix
|
1573
|
+
def get_link(self):
|
1574
|
+
return self.link
|
1575
|
+
def set_link(self, link):
|
1576
|
+
self.link = link
|
1577
|
+
def add_link(self, value):
|
1578
|
+
self.link.append(value)
|
1579
|
+
def insert_link_at(self, index, value):
|
1580
|
+
self.link.insert(index, value)
|
1581
|
+
def replace_link_at(self, index, value):
|
1582
|
+
self.link[index] = value
|
1583
|
+
def has__content(self):
|
1584
|
+
if (
|
1585
|
+
self.link
|
1586
|
+
):
|
1587
|
+
return True
|
1588
|
+
else:
|
1589
|
+
return False
|
1590
|
+
def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='ShipmentsType', pretty_print=True):
|
1591
|
+
imported_ns_def_ = GenerateDSNamespaceDefs_.get('ShipmentsType')
|
1592
|
+
if imported_ns_def_ is not None:
|
1593
|
+
namespacedef_ = imported_ns_def_
|
1594
|
+
if pretty_print:
|
1595
|
+
eol_ = '\n'
|
1596
|
+
else:
|
1597
|
+
eol_ = ''
|
1598
|
+
if self.original_tagname_ is not None and name_ == 'ShipmentsType':
|
1599
|
+
name_ = self.original_tagname_
|
1600
|
+
if UseCapturedNS_ and self.ns_prefix_:
|
1601
|
+
namespaceprefix_ = self.ns_prefix_ + ':'
|
1602
|
+
showIndent(outfile, level, pretty_print)
|
1603
|
+
outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
|
1604
|
+
already_processed = set()
|
1605
|
+
self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ShipmentsType')
|
1606
|
+
if self.has__content():
|
1607
|
+
outfile.write('>%s' % (eol_, ))
|
1608
|
+
self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ShipmentsType', pretty_print=pretty_print)
|
1609
|
+
showIndent(outfile, level, pretty_print)
|
1610
|
+
outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
|
1611
|
+
else:
|
1612
|
+
outfile.write('/>%s' % (eol_, ))
|
1613
|
+
def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ShipmentsType'):
|
1614
|
+
pass
|
1615
|
+
def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='ShipmentsType', fromsubclass_=False, pretty_print=True):
|
1616
|
+
if pretty_print:
|
1617
|
+
eol_ = '\n'
|
1618
|
+
else:
|
1619
|
+
eol_ = ''
|
1620
|
+
for link_ in self.link:
|
1621
|
+
namespaceprefix_ = self.link_nsprefix_ + ':' if (UseCapturedNS_ and self.link_nsprefix_) else ''
|
1622
|
+
showIndent(outfile, level, pretty_print)
|
1623
|
+
outfile.write('<%slink>%s</%slink>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(link_), input_name='link')), namespaceprefix_ , eol_))
|
1624
|
+
def build(self, node, gds_collector_=None):
|
1625
|
+
self.gds_collector_ = gds_collector_
|
1626
|
+
if SaveElementTreeNode:
|
1627
|
+
self.gds_elementtree_node_ = node
|
1628
|
+
already_processed = set()
|
1629
|
+
self.ns_prefix_ = node.prefix
|
1630
|
+
self._buildAttributes(node, node.attrib, already_processed)
|
1631
|
+
for child in node:
|
1632
|
+
nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
|
1633
|
+
self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
|
1634
|
+
return self
|
1635
|
+
def _buildAttributes(self, node, attrs, already_processed):
|
1636
|
+
pass
|
1637
|
+
def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
|
1638
|
+
if nodeName_ == 'link':
|
1639
|
+
value_ = child_.text
|
1640
|
+
value_ = self.gds_parse_string(value_, node, 'link')
|
1641
|
+
value_ = self.gds_validate_string(value_, node, 'link')
|
1642
|
+
self.link.append(value_)
|
1643
|
+
self.link_nsprefix_ = child_.prefix
|
1644
|
+
# end class ShipmentsType
|
1645
|
+
|
1646
|
+
|
1647
|
+
class ManifestsType(GeneratedsSuper):
|
1648
|
+
__hash__ = GeneratedsSuper.__hash__
|
1649
|
+
subclass = None
|
1650
|
+
superclass = None
|
1651
|
+
def __init__(self, link=None, gds_collector_=None, **kwargs_):
|
1652
|
+
self.gds_collector_ = gds_collector_
|
1653
|
+
self.gds_elementtree_node_ = None
|
1654
|
+
self.original_tagname_ = None
|
1655
|
+
self.parent_object_ = kwargs_.get('parent_object_')
|
1656
|
+
self.ns_prefix_ = None
|
1657
|
+
if link is None:
|
1658
|
+
self.link = []
|
1659
|
+
else:
|
1660
|
+
self.link = link
|
1661
|
+
self.link_nsprefix_ = None
|
1662
|
+
def factory(*args_, **kwargs_):
|
1663
|
+
if CurrentSubclassModule_ is not None:
|
1664
|
+
subclass = getSubclassFromModule_(
|
1665
|
+
CurrentSubclassModule_, ManifestsType)
|
1666
|
+
if subclass is not None:
|
1667
|
+
return subclass(*args_, **kwargs_)
|
1668
|
+
if ManifestsType.subclass:
|
1669
|
+
return ManifestsType.subclass(*args_, **kwargs_)
|
1670
|
+
else:
|
1671
|
+
return ManifestsType(*args_, **kwargs_)
|
1672
|
+
factory = staticmethod(factory)
|
1673
|
+
def get_ns_prefix_(self):
|
1674
|
+
return self.ns_prefix_
|
1675
|
+
def set_ns_prefix_(self, ns_prefix):
|
1676
|
+
self.ns_prefix_ = ns_prefix
|
1677
|
+
def get_link(self):
|
1678
|
+
return self.link
|
1679
|
+
def set_link(self, link):
|
1680
|
+
self.link = link
|
1681
|
+
def add_link(self, value):
|
1682
|
+
self.link.append(value)
|
1683
|
+
def insert_link_at(self, index, value):
|
1684
|
+
self.link.insert(index, value)
|
1685
|
+
def replace_link_at(self, index, value):
|
1686
|
+
self.link[index] = value
|
1687
|
+
def has__content(self):
|
1688
|
+
if (
|
1689
|
+
self.link
|
1690
|
+
):
|
1691
|
+
return True
|
1692
|
+
else:
|
1693
|
+
return False
|
1694
|
+
def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='ManifestsType', pretty_print=True):
|
1695
|
+
imported_ns_def_ = GenerateDSNamespaceDefs_.get('ManifestsType')
|
1696
|
+
if imported_ns_def_ is not None:
|
1697
|
+
namespacedef_ = imported_ns_def_
|
1698
|
+
if pretty_print:
|
1699
|
+
eol_ = '\n'
|
1700
|
+
else:
|
1701
|
+
eol_ = ''
|
1702
|
+
if self.original_tagname_ is not None and name_ == 'ManifestsType':
|
1703
|
+
name_ = self.original_tagname_
|
1704
|
+
if UseCapturedNS_ and self.ns_prefix_:
|
1705
|
+
namespaceprefix_ = self.ns_prefix_ + ':'
|
1706
|
+
showIndent(outfile, level, pretty_print)
|
1707
|
+
outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
|
1708
|
+
already_processed = set()
|
1709
|
+
self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ManifestsType')
|
1710
|
+
if self.has__content():
|
1711
|
+
outfile.write('>%s' % (eol_, ))
|
1712
|
+
self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ManifestsType', pretty_print=pretty_print)
|
1713
|
+
showIndent(outfile, level, pretty_print)
|
1714
|
+
outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
|
1715
|
+
else:
|
1716
|
+
outfile.write('/>%s' % (eol_, ))
|
1717
|
+
def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ManifestsType'):
|
1718
|
+
pass
|
1719
|
+
def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='ManifestsType', fromsubclass_=False, pretty_print=True):
|
1720
|
+
if pretty_print:
|
1721
|
+
eol_ = '\n'
|
1722
|
+
else:
|
1723
|
+
eol_ = ''
|
1724
|
+
for link_ in self.link:
|
1725
|
+
namespaceprefix_ = self.link_nsprefix_ + ':' if (UseCapturedNS_ and self.link_nsprefix_) else ''
|
1726
|
+
showIndent(outfile, level, pretty_print)
|
1727
|
+
outfile.write('<%slink>%s</%slink>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(link_), input_name='link')), namespaceprefix_ , eol_))
|
1728
|
+
def build(self, node, gds_collector_=None):
|
1729
|
+
self.gds_collector_ = gds_collector_
|
1730
|
+
if SaveElementTreeNode:
|
1731
|
+
self.gds_elementtree_node_ = node
|
1732
|
+
already_processed = set()
|
1733
|
+
self.ns_prefix_ = node.prefix
|
1734
|
+
self._buildAttributes(node, node.attrib, already_processed)
|
1735
|
+
for child in node:
|
1736
|
+
nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
|
1737
|
+
self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
|
1738
|
+
return self
|
1739
|
+
def _buildAttributes(self, node, attrs, already_processed):
|
1740
|
+
pass
|
1741
|
+
def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
|
1742
|
+
if nodeName_ == 'link':
|
1743
|
+
value_ = child_.text
|
1744
|
+
value_ = self.gds_parse_string(value_, node, 'link')
|
1745
|
+
value_ = self.gds_validate_string(value_, node, 'link')
|
1746
|
+
self.link.append(value_)
|
1747
|
+
self.link_nsprefix_ = child_.prefix
|
1748
|
+
# end class ManifestsType
|
1749
|
+
|
1750
|
+
|
1751
|
+
class ManifestType(GeneratedsSuper):
|
1752
|
+
"""customer-request-id -- For future use
|
1753
|
+
|
1754
|
+
"""
|
1755
|
+
__hash__ = GeneratedsSuper.__hash__
|
1756
|
+
subclass = None
|
1757
|
+
superclass = None
|
1758
|
+
def __init__(self, customer_request_id=None, po_number=None, links=None, gds_collector_=None, **kwargs_):
|
1759
|
+
self.gds_collector_ = gds_collector_
|
1760
|
+
self.gds_elementtree_node_ = None
|
1761
|
+
self.original_tagname_ = None
|
1762
|
+
self.parent_object_ = kwargs_.get('parent_object_')
|
1763
|
+
self.ns_prefix_ = None
|
1764
|
+
self.customer_request_id = customer_request_id
|
1765
|
+
self.validate_CustomerRequestIdType(self.customer_request_id)
|
1766
|
+
self.customer_request_id_nsprefix_ = None
|
1767
|
+
self.po_number = po_number
|
1768
|
+
self.po_number_nsprefix_ = None
|
1769
|
+
self.links = links
|
1770
|
+
self.links_nsprefix_ = None
|
1771
|
+
def factory(*args_, **kwargs_):
|
1772
|
+
if CurrentSubclassModule_ is not None:
|
1773
|
+
subclass = getSubclassFromModule_(
|
1774
|
+
CurrentSubclassModule_, ManifestType)
|
1775
|
+
if subclass is not None:
|
1776
|
+
return subclass(*args_, **kwargs_)
|
1777
|
+
if ManifestType.subclass:
|
1778
|
+
return ManifestType.subclass(*args_, **kwargs_)
|
1779
|
+
else:
|
1780
|
+
return ManifestType(*args_, **kwargs_)
|
1781
|
+
factory = staticmethod(factory)
|
1782
|
+
def get_ns_prefix_(self):
|
1783
|
+
return self.ns_prefix_
|
1784
|
+
def set_ns_prefix_(self, ns_prefix):
|
1785
|
+
self.ns_prefix_ = ns_prefix
|
1786
|
+
def get_customer_request_id(self):
|
1787
|
+
return self.customer_request_id
|
1788
|
+
def set_customer_request_id(self, customer_request_id):
|
1789
|
+
self.customer_request_id = customer_request_id
|
1790
|
+
def get_po_number(self):
|
1791
|
+
return self.po_number
|
1792
|
+
def set_po_number(self, po_number):
|
1793
|
+
self.po_number = po_number
|
1794
|
+
def get_links(self):
|
1795
|
+
return self.links
|
1796
|
+
def set_links(self, links):
|
1797
|
+
self.links = links
|
1798
|
+
def validate_CustomerRequestIdType(self, value):
|
1799
|
+
result = True
|
1800
|
+
# Validate type CustomerRequestIdType, a restriction on xsd:normalizedString.
|
1801
|
+
if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None:
|
1802
|
+
if not isinstance(value, str):
|
1803
|
+
lineno = self.gds_get_node_lineno_()
|
1804
|
+
self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, })
|
1805
|
+
return False
|
1806
|
+
if len(value) > 35:
|
1807
|
+
lineno = self.gds_get_node_lineno_()
|
1808
|
+
self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on CustomerRequestIdType' % {"value": value, "lineno": lineno} )
|
1809
|
+
result = False
|
1810
|
+
return result
|
1811
|
+
def has__content(self):
|
1812
|
+
if (
|
1813
|
+
self.customer_request_id is not None or
|
1814
|
+
self.po_number is not None or
|
1815
|
+
self.links is not None
|
1816
|
+
):
|
1817
|
+
return True
|
1818
|
+
else:
|
1819
|
+
return False
|
1820
|
+
def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='ManifestType', pretty_print=True):
|
1821
|
+
imported_ns_def_ = GenerateDSNamespaceDefs_.get('ManifestType')
|
1822
|
+
if imported_ns_def_ is not None:
|
1823
|
+
namespacedef_ = imported_ns_def_
|
1824
|
+
if pretty_print:
|
1825
|
+
eol_ = '\n'
|
1826
|
+
else:
|
1827
|
+
eol_ = ''
|
1828
|
+
if self.original_tagname_ is not None and name_ == 'ManifestType':
|
1829
|
+
name_ = self.original_tagname_
|
1830
|
+
if UseCapturedNS_ and self.ns_prefix_:
|
1831
|
+
namespaceprefix_ = self.ns_prefix_ + ':'
|
1832
|
+
showIndent(outfile, level, pretty_print)
|
1833
|
+
outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
|
1834
|
+
already_processed = set()
|
1835
|
+
self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ManifestType')
|
1836
|
+
if self.has__content():
|
1837
|
+
outfile.write('>%s' % (eol_, ))
|
1838
|
+
self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ManifestType', pretty_print=pretty_print)
|
1839
|
+
showIndent(outfile, level, pretty_print)
|
1840
|
+
outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
|
1841
|
+
else:
|
1842
|
+
outfile.write('/>%s' % (eol_, ))
|
1843
|
+
def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ManifestType'):
|
1844
|
+
pass
|
1845
|
+
def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='ManifestType', fromsubclass_=False, pretty_print=True):
|
1846
|
+
if pretty_print:
|
1847
|
+
eol_ = '\n'
|
1848
|
+
else:
|
1849
|
+
eol_ = ''
|
1850
|
+
if self.customer_request_id is not None:
|
1851
|
+
namespaceprefix_ = self.customer_request_id_nsprefix_ + ':' if (UseCapturedNS_ and self.customer_request_id_nsprefix_) else ''
|
1852
|
+
showIndent(outfile, level, pretty_print)
|
1853
|
+
outfile.write('<%scustomer-request-id>%s</%scustomer-request-id>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.customer_request_id), input_name='customer-request-id')), namespaceprefix_ , eol_))
|
1854
|
+
if self.po_number is not None:
|
1855
|
+
namespaceprefix_ = self.po_number_nsprefix_ + ':' if (UseCapturedNS_ and self.po_number_nsprefix_) else ''
|
1856
|
+
showIndent(outfile, level, pretty_print)
|
1857
|
+
outfile.write('<%spo-number>%s</%spo-number>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.po_number), input_name='po-number')), namespaceprefix_ , eol_))
|
1858
|
+
if self.links is not None:
|
1859
|
+
namespaceprefix_ = self.links_nsprefix_ + ':' if (UseCapturedNS_ and self.links_nsprefix_) else ''
|
1860
|
+
showIndent(outfile, level, pretty_print)
|
1861
|
+
outfile.write('<%slinks>%s</%slinks>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.links), input_name='links')), namespaceprefix_ , eol_))
|
1862
|
+
def build(self, node, gds_collector_=None):
|
1863
|
+
self.gds_collector_ = gds_collector_
|
1864
|
+
if SaveElementTreeNode:
|
1865
|
+
self.gds_elementtree_node_ = node
|
1866
|
+
already_processed = set()
|
1867
|
+
self.ns_prefix_ = node.prefix
|
1868
|
+
self._buildAttributes(node, node.attrib, already_processed)
|
1869
|
+
for child in node:
|
1870
|
+
nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
|
1871
|
+
self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
|
1872
|
+
return self
|
1873
|
+
def _buildAttributes(self, node, attrs, already_processed):
|
1874
|
+
pass
|
1875
|
+
def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
|
1876
|
+
if nodeName_ == 'customer-request-id':
|
1877
|
+
value_ = child_.text
|
1878
|
+
value_ = self.gds_parse_string(value_, node, 'customer_request_id')
|
1879
|
+
value_ = self.gds_validate_string(value_, node, 'customer_request_id')
|
1880
|
+
self.customer_request_id = value_
|
1881
|
+
self.customer_request_id_nsprefix_ = child_.prefix
|
1882
|
+
# validate type CustomerRequestIdType
|
1883
|
+
self.validate_CustomerRequestIdType(self.customer_request_id)
|
1884
|
+
elif nodeName_ == 'po-number':
|
1885
|
+
value_ = child_.text
|
1886
|
+
value_ = self.gds_parse_string(value_, node, 'po_number')
|
1887
|
+
value_ = self.gds_validate_string(value_, node, 'po_number')
|
1888
|
+
self.po_number = value_
|
1889
|
+
self.po_number_nsprefix_ = child_.prefix
|
1890
|
+
elif nodeName_ == 'links':
|
1891
|
+
value_ = child_.text
|
1892
|
+
value_ = self.gds_parse_string(value_, node, 'links')
|
1893
|
+
value_ = self.gds_validate_string(value_, node, 'links')
|
1894
|
+
self.links = value_
|
1895
|
+
self.links_nsprefix_ = child_.prefix
|
1896
|
+
# end class ManifestType
|
1897
|
+
|
1898
|
+
|
1899
|
+
class ManifestDetailsType(GeneratedsSuper):
|
1900
|
+
__hash__ = GeneratedsSuper.__hash__
|
1901
|
+
subclass = None
|
1902
|
+
superclass = None
|
1903
|
+
def __init__(self, po_number=None, final_shipping_point=None, shipping_point_name=None, shipping_point_id=None, cpc_pickup_indicator=None, mailed_by_customer=None, mailed_on_behalf_of=None, paid_by_customer=None, customer_ref=None, manifest_date=None, manifest_time=None, contract_id=None, method_of_payment=None, cc_receipt_details=None, supplier_account_receipt_details=None, manifest_pricing_info=None, manifest_address=None, gds_collector_=None, **kwargs_):
|
1904
|
+
self.gds_collector_ = gds_collector_
|
1905
|
+
self.gds_elementtree_node_ = None
|
1906
|
+
self.original_tagname_ = None
|
1907
|
+
self.parent_object_ = kwargs_.get('parent_object_')
|
1908
|
+
self.ns_prefix_ = None
|
1909
|
+
self.po_number = po_number
|
1910
|
+
self.po_number_nsprefix_ = None
|
1911
|
+
self.final_shipping_point = final_shipping_point
|
1912
|
+
self.final_shipping_point_nsprefix_ = None
|
1913
|
+
self.shipping_point_name = shipping_point_name
|
1914
|
+
self.validate_shipping_point_nameType(self.shipping_point_name)
|
1915
|
+
self.shipping_point_name_nsprefix_ = None
|
1916
|
+
self.shipping_point_id = shipping_point_id
|
1917
|
+
self.shipping_point_id_nsprefix_ = None
|
1918
|
+
self.cpc_pickup_indicator = cpc_pickup_indicator
|
1919
|
+
self.cpc_pickup_indicator_nsprefix_ = None
|
1920
|
+
self.mailed_by_customer = mailed_by_customer
|
1921
|
+
self.mailed_by_customer_nsprefix_ = None
|
1922
|
+
self.mailed_on_behalf_of = mailed_on_behalf_of
|
1923
|
+
self.mailed_on_behalf_of_nsprefix_ = None
|
1924
|
+
self.paid_by_customer = paid_by_customer
|
1925
|
+
self.paid_by_customer_nsprefix_ = None
|
1926
|
+
self.customer_ref = customer_ref
|
1927
|
+
self.customer_ref_nsprefix_ = None
|
1928
|
+
if isinstance(manifest_date, BaseStrType_):
|
1929
|
+
initvalue_ = datetime_.datetime.strptime(manifest_date, '%Y-%m-%d').date()
|
1930
|
+
else:
|
1931
|
+
initvalue_ = manifest_date
|
1932
|
+
self.manifest_date = initvalue_
|
1933
|
+
self.manifest_date_nsprefix_ = None
|
1934
|
+
self.manifest_time = manifest_time
|
1935
|
+
self.validate_manifest_timeType(self.manifest_time)
|
1936
|
+
self.manifest_time_nsprefix_ = None
|
1937
|
+
self.contract_id = contract_id
|
1938
|
+
self.contract_id_nsprefix_ = None
|
1939
|
+
self.method_of_payment = method_of_payment
|
1940
|
+
self.method_of_payment_nsprefix_ = None
|
1941
|
+
self.cc_receipt_details = cc_receipt_details
|
1942
|
+
self.cc_receipt_details_nsprefix_ = None
|
1943
|
+
self.supplier_account_receipt_details = supplier_account_receipt_details
|
1944
|
+
self.supplier_account_receipt_details_nsprefix_ = None
|
1945
|
+
self.manifest_pricing_info = manifest_pricing_info
|
1946
|
+
self.manifest_pricing_info_nsprefix_ = None
|
1947
|
+
self.manifest_address = manifest_address
|
1948
|
+
self.manifest_address_nsprefix_ = None
|
1949
|
+
def factory(*args_, **kwargs_):
|
1950
|
+
if CurrentSubclassModule_ is not None:
|
1951
|
+
subclass = getSubclassFromModule_(
|
1952
|
+
CurrentSubclassModule_, ManifestDetailsType)
|
1953
|
+
if subclass is not None:
|
1954
|
+
return subclass(*args_, **kwargs_)
|
1955
|
+
if ManifestDetailsType.subclass:
|
1956
|
+
return ManifestDetailsType.subclass(*args_, **kwargs_)
|
1957
|
+
else:
|
1958
|
+
return ManifestDetailsType(*args_, **kwargs_)
|
1959
|
+
factory = staticmethod(factory)
|
1960
|
+
def get_ns_prefix_(self):
|
1961
|
+
return self.ns_prefix_
|
1962
|
+
def set_ns_prefix_(self, ns_prefix):
|
1963
|
+
self.ns_prefix_ = ns_prefix
|
1964
|
+
def get_po_number(self):
|
1965
|
+
return self.po_number
|
1966
|
+
def set_po_number(self, po_number):
|
1967
|
+
self.po_number = po_number
|
1968
|
+
def get_final_shipping_point(self):
|
1969
|
+
return self.final_shipping_point
|
1970
|
+
def set_final_shipping_point(self, final_shipping_point):
|
1971
|
+
self.final_shipping_point = final_shipping_point
|
1972
|
+
def get_shipping_point_name(self):
|
1973
|
+
return self.shipping_point_name
|
1974
|
+
def set_shipping_point_name(self, shipping_point_name):
|
1975
|
+
self.shipping_point_name = shipping_point_name
|
1976
|
+
def get_shipping_point_id(self):
|
1977
|
+
return self.shipping_point_id
|
1978
|
+
def set_shipping_point_id(self, shipping_point_id):
|
1979
|
+
self.shipping_point_id = shipping_point_id
|
1980
|
+
def get_cpc_pickup_indicator(self):
|
1981
|
+
return self.cpc_pickup_indicator
|
1982
|
+
def set_cpc_pickup_indicator(self, cpc_pickup_indicator):
|
1983
|
+
self.cpc_pickup_indicator = cpc_pickup_indicator
|
1984
|
+
def get_mailed_by_customer(self):
|
1985
|
+
return self.mailed_by_customer
|
1986
|
+
def set_mailed_by_customer(self, mailed_by_customer):
|
1987
|
+
self.mailed_by_customer = mailed_by_customer
|
1988
|
+
def get_mailed_on_behalf_of(self):
|
1989
|
+
return self.mailed_on_behalf_of
|
1990
|
+
def set_mailed_on_behalf_of(self, mailed_on_behalf_of):
|
1991
|
+
self.mailed_on_behalf_of = mailed_on_behalf_of
|
1992
|
+
def get_paid_by_customer(self):
|
1993
|
+
return self.paid_by_customer
|
1994
|
+
def set_paid_by_customer(self, paid_by_customer):
|
1995
|
+
self.paid_by_customer = paid_by_customer
|
1996
|
+
def get_customer_ref(self):
|
1997
|
+
return self.customer_ref
|
1998
|
+
def set_customer_ref(self, customer_ref):
|
1999
|
+
self.customer_ref = customer_ref
|
2000
|
+
def get_manifest_date(self):
|
2001
|
+
return self.manifest_date
|
2002
|
+
def set_manifest_date(self, manifest_date):
|
2003
|
+
self.manifest_date = manifest_date
|
2004
|
+
def get_manifest_time(self):
|
2005
|
+
return self.manifest_time
|
2006
|
+
def set_manifest_time(self, manifest_time):
|
2007
|
+
self.manifest_time = manifest_time
|
2008
|
+
def get_contract_id(self):
|
2009
|
+
return self.contract_id
|
2010
|
+
def set_contract_id(self, contract_id):
|
2011
|
+
self.contract_id = contract_id
|
2012
|
+
def get_method_of_payment(self):
|
2013
|
+
return self.method_of_payment
|
2014
|
+
def set_method_of_payment(self, method_of_payment):
|
2015
|
+
self.method_of_payment = method_of_payment
|
2016
|
+
def get_cc_receipt_details(self):
|
2017
|
+
return self.cc_receipt_details
|
2018
|
+
def set_cc_receipt_details(self, cc_receipt_details):
|
2019
|
+
self.cc_receipt_details = cc_receipt_details
|
2020
|
+
def get_supplier_account_receipt_details(self):
|
2021
|
+
return self.supplier_account_receipt_details
|
2022
|
+
def set_supplier_account_receipt_details(self, supplier_account_receipt_details):
|
2023
|
+
self.supplier_account_receipt_details = supplier_account_receipt_details
|
2024
|
+
def get_manifest_pricing_info(self):
|
2025
|
+
return self.manifest_pricing_info
|
2026
|
+
def set_manifest_pricing_info(self, manifest_pricing_info):
|
2027
|
+
self.manifest_pricing_info = manifest_pricing_info
|
2028
|
+
def get_manifest_address(self):
|
2029
|
+
return self.manifest_address
|
2030
|
+
def set_manifest_address(self, manifest_address):
|
2031
|
+
self.manifest_address = manifest_address
|
2032
|
+
def validate_shipping_point_nameType(self, value):
|
2033
|
+
result = True
|
2034
|
+
# Validate type shipping-point-nameType, a restriction on xsd:normalizedString.
|
2035
|
+
if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None:
|
2036
|
+
if not isinstance(value, str):
|
2037
|
+
lineno = self.gds_get_node_lineno_()
|
2038
|
+
self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, })
|
2039
|
+
return False
|
2040
|
+
if len(value) > 35:
|
2041
|
+
lineno = self.gds_get_node_lineno_()
|
2042
|
+
self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on shipping-point-nameType' % {"value": value, "lineno": lineno} )
|
2043
|
+
result = False
|
2044
|
+
return result
|
2045
|
+
def validate_manifest_timeType(self, value):
|
2046
|
+
result = True
|
2047
|
+
# Validate type manifest-timeType, a restriction on xsd:normalizedString.
|
2048
|
+
if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None:
|
2049
|
+
if not isinstance(value, str):
|
2050
|
+
lineno = self.gds_get_node_lineno_()
|
2051
|
+
self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, })
|
2052
|
+
return False
|
2053
|
+
if not self.gds_validate_simple_patterns(
|
2054
|
+
self.validate_manifest_timeType_patterns_, value):
|
2055
|
+
self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_manifest_timeType_patterns_, ))
|
2056
|
+
result = False
|
2057
|
+
return result
|
2058
|
+
validate_manifest_timeType_patterns_ = [['^(\\d{2}:\\d{2} [a-zA-Z ]+)$']]
|
2059
|
+
def has__content(self):
|
2060
|
+
if (
|
2061
|
+
self.po_number is not None or
|
2062
|
+
self.final_shipping_point is not None or
|
2063
|
+
self.shipping_point_name is not None or
|
2064
|
+
self.shipping_point_id is not None or
|
2065
|
+
self.cpc_pickup_indicator is not None or
|
2066
|
+
self.mailed_by_customer is not None or
|
2067
|
+
self.mailed_on_behalf_of is not None or
|
2068
|
+
self.paid_by_customer is not None or
|
2069
|
+
self.customer_ref is not None or
|
2070
|
+
self.manifest_date is not None or
|
2071
|
+
self.manifest_time is not None or
|
2072
|
+
self.contract_id is not None or
|
2073
|
+
self.method_of_payment is not None or
|
2074
|
+
self.cc_receipt_details is not None or
|
2075
|
+
self.supplier_account_receipt_details is not None or
|
2076
|
+
self.manifest_pricing_info is not None or
|
2077
|
+
self.manifest_address is not None
|
2078
|
+
):
|
2079
|
+
return True
|
2080
|
+
else:
|
2081
|
+
return False
|
2082
|
+
def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='ManifestDetailsType', pretty_print=True):
|
2083
|
+
imported_ns_def_ = GenerateDSNamespaceDefs_.get('ManifestDetailsType')
|
2084
|
+
if imported_ns_def_ is not None:
|
2085
|
+
namespacedef_ = imported_ns_def_
|
2086
|
+
if pretty_print:
|
2087
|
+
eol_ = '\n'
|
2088
|
+
else:
|
2089
|
+
eol_ = ''
|
2090
|
+
if self.original_tagname_ is not None and name_ == 'ManifestDetailsType':
|
2091
|
+
name_ = self.original_tagname_
|
2092
|
+
if UseCapturedNS_ and self.ns_prefix_:
|
2093
|
+
namespaceprefix_ = self.ns_prefix_ + ':'
|
2094
|
+
showIndent(outfile, level, pretty_print)
|
2095
|
+
outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
|
2096
|
+
already_processed = set()
|
2097
|
+
self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ManifestDetailsType')
|
2098
|
+
if self.has__content():
|
2099
|
+
outfile.write('>%s' % (eol_, ))
|
2100
|
+
self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ManifestDetailsType', pretty_print=pretty_print)
|
2101
|
+
showIndent(outfile, level, pretty_print)
|
2102
|
+
outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
|
2103
|
+
else:
|
2104
|
+
outfile.write('/>%s' % (eol_, ))
|
2105
|
+
def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ManifestDetailsType'):
|
2106
|
+
pass
|
2107
|
+
def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='ManifestDetailsType', fromsubclass_=False, pretty_print=True):
|
2108
|
+
if pretty_print:
|
2109
|
+
eol_ = '\n'
|
2110
|
+
else:
|
2111
|
+
eol_ = ''
|
2112
|
+
if self.po_number is not None:
|
2113
|
+
namespaceprefix_ = self.po_number_nsprefix_ + ':' if (UseCapturedNS_ and self.po_number_nsprefix_) else ''
|
2114
|
+
showIndent(outfile, level, pretty_print)
|
2115
|
+
outfile.write('<%spo-number>%s</%spo-number>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.po_number), input_name='po-number')), namespaceprefix_ , eol_))
|
2116
|
+
if self.final_shipping_point is not None:
|
2117
|
+
namespaceprefix_ = self.final_shipping_point_nsprefix_ + ':' if (UseCapturedNS_ and self.final_shipping_point_nsprefix_) else ''
|
2118
|
+
showIndent(outfile, level, pretty_print)
|
2119
|
+
outfile.write('<%sfinal-shipping-point>%s</%sfinal-shipping-point>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.final_shipping_point), input_name='final-shipping-point')), namespaceprefix_ , eol_))
|
2120
|
+
if self.shipping_point_name is not None:
|
2121
|
+
namespaceprefix_ = self.shipping_point_name_nsprefix_ + ':' if (UseCapturedNS_ and self.shipping_point_name_nsprefix_) else ''
|
2122
|
+
showIndent(outfile, level, pretty_print)
|
2123
|
+
outfile.write('<%sshipping-point-name>%s</%sshipping-point-name>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.shipping_point_name), input_name='shipping-point-name')), namespaceprefix_ , eol_))
|
2124
|
+
if self.shipping_point_id is not None:
|
2125
|
+
namespaceprefix_ = self.shipping_point_id_nsprefix_ + ':' if (UseCapturedNS_ and self.shipping_point_id_nsprefix_) else ''
|
2126
|
+
showIndent(outfile, level, pretty_print)
|
2127
|
+
outfile.write('<%sshipping-point-id>%s</%sshipping-point-id>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.shipping_point_id), input_name='shipping-point-id')), namespaceprefix_ , eol_))
|
2128
|
+
if self.cpc_pickup_indicator is not None:
|
2129
|
+
namespaceprefix_ = self.cpc_pickup_indicator_nsprefix_ + ':' if (UseCapturedNS_ and self.cpc_pickup_indicator_nsprefix_) else ''
|
2130
|
+
showIndent(outfile, level, pretty_print)
|
2131
|
+
outfile.write('<%scpc-pickup-indicator>%s</%scpc-pickup-indicator>%s' % (namespaceprefix_ , self.gds_format_boolean(self.cpc_pickup_indicator, input_name='cpc-pickup-indicator'), namespaceprefix_ , eol_))
|
2132
|
+
if self.mailed_by_customer is not None:
|
2133
|
+
namespaceprefix_ = self.mailed_by_customer_nsprefix_ + ':' if (UseCapturedNS_ and self.mailed_by_customer_nsprefix_) else ''
|
2134
|
+
showIndent(outfile, level, pretty_print)
|
2135
|
+
outfile.write('<%smailed-by-customer>%s</%smailed-by-customer>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.mailed_by_customer), input_name='mailed-by-customer')), namespaceprefix_ , eol_))
|
2136
|
+
if self.mailed_on_behalf_of is not None:
|
2137
|
+
namespaceprefix_ = self.mailed_on_behalf_of_nsprefix_ + ':' if (UseCapturedNS_ and self.mailed_on_behalf_of_nsprefix_) else ''
|
2138
|
+
showIndent(outfile, level, pretty_print)
|
2139
|
+
outfile.write('<%smailed-on-behalf-of>%s</%smailed-on-behalf-of>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.mailed_on_behalf_of), input_name='mailed-on-behalf-of')), namespaceprefix_ , eol_))
|
2140
|
+
if self.paid_by_customer is not None:
|
2141
|
+
namespaceprefix_ = self.paid_by_customer_nsprefix_ + ':' if (UseCapturedNS_ and self.paid_by_customer_nsprefix_) else ''
|
2142
|
+
showIndent(outfile, level, pretty_print)
|
2143
|
+
outfile.write('<%spaid-by-customer>%s</%spaid-by-customer>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.paid_by_customer), input_name='paid-by-customer')), namespaceprefix_ , eol_))
|
2144
|
+
if self.customer_ref is not None:
|
2145
|
+
namespaceprefix_ = self.customer_ref_nsprefix_ + ':' if (UseCapturedNS_ and self.customer_ref_nsprefix_) else ''
|
2146
|
+
showIndent(outfile, level, pretty_print)
|
2147
|
+
outfile.write('<%scustomer-ref>%s</%scustomer-ref>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.customer_ref), input_name='customer-ref')), namespaceprefix_ , eol_))
|
2148
|
+
if self.manifest_date is not None:
|
2149
|
+
namespaceprefix_ = self.manifest_date_nsprefix_ + ':' if (UseCapturedNS_ and self.manifest_date_nsprefix_) else ''
|
2150
|
+
showIndent(outfile, level, pretty_print)
|
2151
|
+
outfile.write('<%smanifest-date>%s</%smanifest-date>%s' % (namespaceprefix_ , self.gds_format_date(self.manifest_date, input_name='manifest-date'), namespaceprefix_ , eol_))
|
2152
|
+
if self.manifest_time is not None:
|
2153
|
+
namespaceprefix_ = self.manifest_time_nsprefix_ + ':' if (UseCapturedNS_ and self.manifest_time_nsprefix_) else ''
|
2154
|
+
showIndent(outfile, level, pretty_print)
|
2155
|
+
outfile.write('<%smanifest-time>%s</%smanifest-time>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.manifest_time), input_name='manifest-time')), namespaceprefix_ , eol_))
|
2156
|
+
if self.contract_id is not None:
|
2157
|
+
namespaceprefix_ = self.contract_id_nsprefix_ + ':' if (UseCapturedNS_ and self.contract_id_nsprefix_) else ''
|
2158
|
+
showIndent(outfile, level, pretty_print)
|
2159
|
+
outfile.write('<%scontract-id>%s</%scontract-id>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.contract_id), input_name='contract-id')), namespaceprefix_ , eol_))
|
2160
|
+
if self.method_of_payment is not None:
|
2161
|
+
namespaceprefix_ = self.method_of_payment_nsprefix_ + ':' if (UseCapturedNS_ and self.method_of_payment_nsprefix_) else ''
|
2162
|
+
showIndent(outfile, level, pretty_print)
|
2163
|
+
outfile.write('<%smethod-of-payment>%s</%smethod-of-payment>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.method_of_payment), input_name='method-of-payment')), namespaceprefix_ , eol_))
|
2164
|
+
if self.cc_receipt_details is not None:
|
2165
|
+
namespaceprefix_ = self.cc_receipt_details_nsprefix_ + ':' if (UseCapturedNS_ and self.cc_receipt_details_nsprefix_) else ''
|
2166
|
+
self.cc_receipt_details.export(outfile, level, namespaceprefix_, namespacedef_='', name_='cc-receipt-details', pretty_print=pretty_print)
|
2167
|
+
if self.supplier_account_receipt_details is not None:
|
2168
|
+
namespaceprefix_ = self.supplier_account_receipt_details_nsprefix_ + ':' if (UseCapturedNS_ and self.supplier_account_receipt_details_nsprefix_) else ''
|
2169
|
+
self.supplier_account_receipt_details.export(outfile, level, namespaceprefix_, namespacedef_='', name_='supplier-account-receipt-details', pretty_print=pretty_print)
|
2170
|
+
if self.manifest_pricing_info is not None:
|
2171
|
+
namespaceprefix_ = self.manifest_pricing_info_nsprefix_ + ':' if (UseCapturedNS_ and self.manifest_pricing_info_nsprefix_) else ''
|
2172
|
+
self.manifest_pricing_info.export(outfile, level, namespaceprefix_, namespacedef_='', name_='manifest-pricing-info', pretty_print=pretty_print)
|
2173
|
+
if self.manifest_address is not None:
|
2174
|
+
namespaceprefix_ = self.manifest_address_nsprefix_ + ':' if (UseCapturedNS_ and self.manifest_address_nsprefix_) else ''
|
2175
|
+
self.manifest_address.export(outfile, level, namespaceprefix_, namespacedef_='', name_='manifest-address', pretty_print=pretty_print)
|
2176
|
+
def build(self, node, gds_collector_=None):
|
2177
|
+
self.gds_collector_ = gds_collector_
|
2178
|
+
if SaveElementTreeNode:
|
2179
|
+
self.gds_elementtree_node_ = node
|
2180
|
+
already_processed = set()
|
2181
|
+
self.ns_prefix_ = node.prefix
|
2182
|
+
self._buildAttributes(node, node.attrib, already_processed)
|
2183
|
+
for child in node:
|
2184
|
+
nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
|
2185
|
+
self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
|
2186
|
+
return self
|
2187
|
+
def _buildAttributes(self, node, attrs, already_processed):
|
2188
|
+
pass
|
2189
|
+
def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
|
2190
|
+
if nodeName_ == 'po-number':
|
2191
|
+
value_ = child_.text
|
2192
|
+
value_ = self.gds_parse_string(value_, node, 'po_number')
|
2193
|
+
value_ = self.gds_validate_string(value_, node, 'po_number')
|
2194
|
+
self.po_number = value_
|
2195
|
+
self.po_number_nsprefix_ = child_.prefix
|
2196
|
+
elif nodeName_ == 'final-shipping-point':
|
2197
|
+
value_ = child_.text
|
2198
|
+
value_ = self.gds_parse_string(value_, node, 'final_shipping_point')
|
2199
|
+
value_ = self.gds_validate_string(value_, node, 'final_shipping_point')
|
2200
|
+
self.final_shipping_point = value_
|
2201
|
+
self.final_shipping_point_nsprefix_ = child_.prefix
|
2202
|
+
elif nodeName_ == 'shipping-point-name':
|
2203
|
+
value_ = child_.text
|
2204
|
+
value_ = self.gds_parse_string(value_, node, 'shipping_point_name')
|
2205
|
+
value_ = self.gds_validate_string(value_, node, 'shipping_point_name')
|
2206
|
+
self.shipping_point_name = value_
|
2207
|
+
self.shipping_point_name_nsprefix_ = child_.prefix
|
2208
|
+
# validate type shipping-point-nameType
|
2209
|
+
self.validate_shipping_point_nameType(self.shipping_point_name)
|
2210
|
+
elif nodeName_ == 'shipping-point-id':
|
2211
|
+
value_ = child_.text
|
2212
|
+
value_ = self.gds_parse_string(value_, node, 'shipping_point_id')
|
2213
|
+
value_ = self.gds_validate_string(value_, node, 'shipping_point_id')
|
2214
|
+
self.shipping_point_id = value_
|
2215
|
+
self.shipping_point_id_nsprefix_ = child_.prefix
|
2216
|
+
elif nodeName_ == 'cpc-pickup-indicator':
|
2217
|
+
sval_ = child_.text
|
2218
|
+
ival_ = self.gds_parse_boolean(sval_, node, 'cpc_pickup_indicator')
|
2219
|
+
ival_ = self.gds_validate_boolean(ival_, node, 'cpc_pickup_indicator')
|
2220
|
+
self.cpc_pickup_indicator = ival_
|
2221
|
+
self.cpc_pickup_indicator_nsprefix_ = child_.prefix
|
2222
|
+
elif nodeName_ == 'mailed-by-customer':
|
2223
|
+
value_ = child_.text
|
2224
|
+
value_ = self.gds_parse_string(value_, node, 'mailed_by_customer')
|
2225
|
+
value_ = self.gds_validate_string(value_, node, 'mailed_by_customer')
|
2226
|
+
self.mailed_by_customer = value_
|
2227
|
+
self.mailed_by_customer_nsprefix_ = child_.prefix
|
2228
|
+
elif nodeName_ == 'mailed-on-behalf-of':
|
2229
|
+
value_ = child_.text
|
2230
|
+
value_ = self.gds_parse_string(value_, node, 'mailed_on_behalf_of')
|
2231
|
+
value_ = self.gds_validate_string(value_, node, 'mailed_on_behalf_of')
|
2232
|
+
self.mailed_on_behalf_of = value_
|
2233
|
+
self.mailed_on_behalf_of_nsprefix_ = child_.prefix
|
2234
|
+
elif nodeName_ == 'paid-by-customer':
|
2235
|
+
value_ = child_.text
|
2236
|
+
value_ = self.gds_parse_string(value_, node, 'paid_by_customer')
|
2237
|
+
value_ = self.gds_validate_string(value_, node, 'paid_by_customer')
|
2238
|
+
self.paid_by_customer = value_
|
2239
|
+
self.paid_by_customer_nsprefix_ = child_.prefix
|
2240
|
+
elif nodeName_ == 'customer-ref':
|
2241
|
+
value_ = child_.text
|
2242
|
+
value_ = self.gds_parse_string(value_, node, 'customer_ref')
|
2243
|
+
value_ = self.gds_validate_string(value_, node, 'customer_ref')
|
2244
|
+
self.customer_ref = value_
|
2245
|
+
self.customer_ref_nsprefix_ = child_.prefix
|
2246
|
+
elif nodeName_ == 'manifest-date':
|
2247
|
+
sval_ = child_.text
|
2248
|
+
dval_ = self.gds_parse_date(sval_)
|
2249
|
+
self.manifest_date = dval_
|
2250
|
+
self.manifest_date_nsprefix_ = child_.prefix
|
2251
|
+
elif nodeName_ == 'manifest-time':
|
2252
|
+
value_ = child_.text
|
2253
|
+
value_ = self.gds_parse_string(value_, node, 'manifest_time')
|
2254
|
+
value_ = self.gds_validate_string(value_, node, 'manifest_time')
|
2255
|
+
self.manifest_time = value_
|
2256
|
+
self.manifest_time_nsprefix_ = child_.prefix
|
2257
|
+
# validate type manifest-timeType
|
2258
|
+
self.validate_manifest_timeType(self.manifest_time)
|
2259
|
+
elif nodeName_ == 'contract-id':
|
2260
|
+
value_ = child_.text
|
2261
|
+
value_ = self.gds_parse_string(value_, node, 'contract_id')
|
2262
|
+
value_ = self.gds_validate_string(value_, node, 'contract_id')
|
2263
|
+
self.contract_id = value_
|
2264
|
+
self.contract_id_nsprefix_ = child_.prefix
|
2265
|
+
elif nodeName_ == 'method-of-payment':
|
2266
|
+
value_ = child_.text
|
2267
|
+
value_ = self.gds_parse_string(value_, node, 'method_of_payment')
|
2268
|
+
value_ = self.gds_validate_string(value_, node, 'method_of_payment')
|
2269
|
+
self.method_of_payment = value_
|
2270
|
+
self.method_of_payment_nsprefix_ = child_.prefix
|
2271
|
+
elif nodeName_ == 'cc-receipt-details':
|
2272
|
+
obj_ = cc_receipt_detailsType.factory(parent_object_=self)
|
2273
|
+
obj_.build(child_, gds_collector_=gds_collector_)
|
2274
|
+
self.cc_receipt_details = obj_
|
2275
|
+
obj_.original_tagname_ = 'cc-receipt-details'
|
2276
|
+
elif nodeName_ == 'supplier-account-receipt-details':
|
2277
|
+
obj_ = supplier_account_receipt_detailsType.factory(parent_object_=self)
|
2278
|
+
obj_.build(child_, gds_collector_=gds_collector_)
|
2279
|
+
self.supplier_account_receipt_details = obj_
|
2280
|
+
obj_.original_tagname_ = 'supplier-account-receipt-details'
|
2281
|
+
elif nodeName_ == 'manifest-pricing-info':
|
2282
|
+
obj_ = ManifestPricingInfoType.factory(parent_object_=self)
|
2283
|
+
obj_.build(child_, gds_collector_=gds_collector_)
|
2284
|
+
self.manifest_pricing_info = obj_
|
2285
|
+
obj_.original_tagname_ = 'manifest-pricing-info'
|
2286
|
+
elif nodeName_ == 'manifest-address':
|
2287
|
+
obj_ = ManifestAddressType.factory(parent_object_=self)
|
2288
|
+
obj_.build(child_, gds_collector_=gds_collector_)
|
2289
|
+
self.manifest_address = obj_
|
2290
|
+
obj_.original_tagname_ = 'manifest-address'
|
2291
|
+
# end class ManifestDetailsType
|
2292
|
+
|
2293
|
+
|
2294
|
+
class ManifestPricingInfoType(GeneratedsSuper):
|
2295
|
+
__hash__ = GeneratedsSuper.__hash__
|
2296
|
+
subclass = None
|
2297
|
+
superclass = None
|
2298
|
+
def __init__(self, base_cost=None, automation_discount=None, options_and_surcharges=None, gst=None, pst=None, hst=None, total_due_cpc=None, gds_collector_=None, **kwargs_):
|
2299
|
+
self.gds_collector_ = gds_collector_
|
2300
|
+
self.gds_elementtree_node_ = None
|
2301
|
+
self.original_tagname_ = None
|
2302
|
+
self.parent_object_ = kwargs_.get('parent_object_')
|
2303
|
+
self.ns_prefix_ = None
|
2304
|
+
self.base_cost = base_cost
|
2305
|
+
self.base_cost_nsprefix_ = None
|
2306
|
+
self.automation_discount = automation_discount
|
2307
|
+
self.automation_discount_nsprefix_ = None
|
2308
|
+
self.options_and_surcharges = options_and_surcharges
|
2309
|
+
self.options_and_surcharges_nsprefix_ = None
|
2310
|
+
self.gst = gst
|
2311
|
+
self.gst_nsprefix_ = None
|
2312
|
+
self.pst = pst
|
2313
|
+
self.pst_nsprefix_ = None
|
2314
|
+
self.hst = hst
|
2315
|
+
self.hst_nsprefix_ = None
|
2316
|
+
self.total_due_cpc = total_due_cpc
|
2317
|
+
self.total_due_cpc_nsprefix_ = None
|
2318
|
+
def factory(*args_, **kwargs_):
|
2319
|
+
if CurrentSubclassModule_ is not None:
|
2320
|
+
subclass = getSubclassFromModule_(
|
2321
|
+
CurrentSubclassModule_, ManifestPricingInfoType)
|
2322
|
+
if subclass is not None:
|
2323
|
+
return subclass(*args_, **kwargs_)
|
2324
|
+
if ManifestPricingInfoType.subclass:
|
2325
|
+
return ManifestPricingInfoType.subclass(*args_, **kwargs_)
|
2326
|
+
else:
|
2327
|
+
return ManifestPricingInfoType(*args_, **kwargs_)
|
2328
|
+
factory = staticmethod(factory)
|
2329
|
+
def get_ns_prefix_(self):
|
2330
|
+
return self.ns_prefix_
|
2331
|
+
def set_ns_prefix_(self, ns_prefix):
|
2332
|
+
self.ns_prefix_ = ns_prefix
|
2333
|
+
def get_base_cost(self):
|
2334
|
+
return self.base_cost
|
2335
|
+
def set_base_cost(self, base_cost):
|
2336
|
+
self.base_cost = base_cost
|
2337
|
+
def get_automation_discount(self):
|
2338
|
+
return self.automation_discount
|
2339
|
+
def set_automation_discount(self, automation_discount):
|
2340
|
+
self.automation_discount = automation_discount
|
2341
|
+
def get_options_and_surcharges(self):
|
2342
|
+
return self.options_and_surcharges
|
2343
|
+
def set_options_and_surcharges(self, options_and_surcharges):
|
2344
|
+
self.options_and_surcharges = options_and_surcharges
|
2345
|
+
def get_gst(self):
|
2346
|
+
return self.gst
|
2347
|
+
def set_gst(self, gst):
|
2348
|
+
self.gst = gst
|
2349
|
+
def get_pst(self):
|
2350
|
+
return self.pst
|
2351
|
+
def set_pst(self, pst):
|
2352
|
+
self.pst = pst
|
2353
|
+
def get_hst(self):
|
2354
|
+
return self.hst
|
2355
|
+
def set_hst(self, hst):
|
2356
|
+
self.hst = hst
|
2357
|
+
def get_total_due_cpc(self):
|
2358
|
+
return self.total_due_cpc
|
2359
|
+
def set_total_due_cpc(self, total_due_cpc):
|
2360
|
+
self.total_due_cpc = total_due_cpc
|
2361
|
+
def has__content(self):
|
2362
|
+
if (
|
2363
|
+
self.base_cost is not None or
|
2364
|
+
self.automation_discount is not None or
|
2365
|
+
self.options_and_surcharges is not None or
|
2366
|
+
self.gst is not None or
|
2367
|
+
self.pst is not None or
|
2368
|
+
self.hst is not None or
|
2369
|
+
self.total_due_cpc is not None
|
2370
|
+
):
|
2371
|
+
return True
|
2372
|
+
else:
|
2373
|
+
return False
|
2374
|
+
def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='ManifestPricingInfoType', pretty_print=True):
|
2375
|
+
imported_ns_def_ = GenerateDSNamespaceDefs_.get('ManifestPricingInfoType')
|
2376
|
+
if imported_ns_def_ is not None:
|
2377
|
+
namespacedef_ = imported_ns_def_
|
2378
|
+
if pretty_print:
|
2379
|
+
eol_ = '\n'
|
2380
|
+
else:
|
2381
|
+
eol_ = ''
|
2382
|
+
if self.original_tagname_ is not None and name_ == 'ManifestPricingInfoType':
|
2383
|
+
name_ = self.original_tagname_
|
2384
|
+
if UseCapturedNS_ and self.ns_prefix_:
|
2385
|
+
namespaceprefix_ = self.ns_prefix_ + ':'
|
2386
|
+
showIndent(outfile, level, pretty_print)
|
2387
|
+
outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
|
2388
|
+
already_processed = set()
|
2389
|
+
self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ManifestPricingInfoType')
|
2390
|
+
if self.has__content():
|
2391
|
+
outfile.write('>%s' % (eol_, ))
|
2392
|
+
self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ManifestPricingInfoType', pretty_print=pretty_print)
|
2393
|
+
showIndent(outfile, level, pretty_print)
|
2394
|
+
outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
|
2395
|
+
else:
|
2396
|
+
outfile.write('/>%s' % (eol_, ))
|
2397
|
+
def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ManifestPricingInfoType'):
|
2398
|
+
pass
|
2399
|
+
def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='ManifestPricingInfoType', fromsubclass_=False, pretty_print=True):
|
2400
|
+
if pretty_print:
|
2401
|
+
eol_ = '\n'
|
2402
|
+
else:
|
2403
|
+
eol_ = ''
|
2404
|
+
if self.base_cost is not None:
|
2405
|
+
namespaceprefix_ = self.base_cost_nsprefix_ + ':' if (UseCapturedNS_ and self.base_cost_nsprefix_) else ''
|
2406
|
+
showIndent(outfile, level, pretty_print)
|
2407
|
+
outfile.write('<%sbase-cost>%s</%sbase-cost>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.base_cost), input_name='base-cost')), namespaceprefix_ , eol_))
|
2408
|
+
if self.automation_discount is not None:
|
2409
|
+
namespaceprefix_ = self.automation_discount_nsprefix_ + ':' if (UseCapturedNS_ and self.automation_discount_nsprefix_) else ''
|
2410
|
+
showIndent(outfile, level, pretty_print)
|
2411
|
+
outfile.write('<%sautomation-discount>%s</%sautomation-discount>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.automation_discount), input_name='automation-discount')), namespaceprefix_ , eol_))
|
2412
|
+
if self.options_and_surcharges is not None:
|
2413
|
+
namespaceprefix_ = self.options_and_surcharges_nsprefix_ + ':' if (UseCapturedNS_ and self.options_and_surcharges_nsprefix_) else ''
|
2414
|
+
showIndent(outfile, level, pretty_print)
|
2415
|
+
outfile.write('<%soptions-and-surcharges>%s</%soptions-and-surcharges>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.options_and_surcharges), input_name='options-and-surcharges')), namespaceprefix_ , eol_))
|
2416
|
+
if self.gst is not None:
|
2417
|
+
namespaceprefix_ = self.gst_nsprefix_ + ':' if (UseCapturedNS_ and self.gst_nsprefix_) else ''
|
2418
|
+
showIndent(outfile, level, pretty_print)
|
2419
|
+
outfile.write('<%sgst>%s</%sgst>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.gst), input_name='gst')), namespaceprefix_ , eol_))
|
2420
|
+
if self.pst is not None:
|
2421
|
+
namespaceprefix_ = self.pst_nsprefix_ + ':' if (UseCapturedNS_ and self.pst_nsprefix_) else ''
|
2422
|
+
showIndent(outfile, level, pretty_print)
|
2423
|
+
outfile.write('<%spst>%s</%spst>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.pst), input_name='pst')), namespaceprefix_ , eol_))
|
2424
|
+
if self.hst is not None:
|
2425
|
+
namespaceprefix_ = self.hst_nsprefix_ + ':' if (UseCapturedNS_ and self.hst_nsprefix_) else ''
|
2426
|
+
showIndent(outfile, level, pretty_print)
|
2427
|
+
outfile.write('<%shst>%s</%shst>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.hst), input_name='hst')), namespaceprefix_ , eol_))
|
2428
|
+
if self.total_due_cpc is not None:
|
2429
|
+
namespaceprefix_ = self.total_due_cpc_nsprefix_ + ':' if (UseCapturedNS_ and self.total_due_cpc_nsprefix_) else ''
|
2430
|
+
showIndent(outfile, level, pretty_print)
|
2431
|
+
outfile.write('<%stotal-due-cpc>%s</%stotal-due-cpc>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.total_due_cpc), input_name='total-due-cpc')), namespaceprefix_ , eol_))
|
2432
|
+
def build(self, node, gds_collector_=None):
|
2433
|
+
self.gds_collector_ = gds_collector_
|
2434
|
+
if SaveElementTreeNode:
|
2435
|
+
self.gds_elementtree_node_ = node
|
2436
|
+
already_processed = set()
|
2437
|
+
self.ns_prefix_ = node.prefix
|
2438
|
+
self._buildAttributes(node, node.attrib, already_processed)
|
2439
|
+
for child in node:
|
2440
|
+
nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
|
2441
|
+
self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
|
2442
|
+
return self
|
2443
|
+
def _buildAttributes(self, node, attrs, already_processed):
|
2444
|
+
pass
|
2445
|
+
def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
|
2446
|
+
if nodeName_ == 'base-cost':
|
2447
|
+
value_ = child_.text
|
2448
|
+
value_ = self.gds_parse_string(value_, node, 'base_cost')
|
2449
|
+
value_ = self.gds_validate_string(value_, node, 'base_cost')
|
2450
|
+
self.base_cost = value_
|
2451
|
+
self.base_cost_nsprefix_ = child_.prefix
|
2452
|
+
elif nodeName_ == 'automation-discount':
|
2453
|
+
value_ = child_.text
|
2454
|
+
value_ = self.gds_parse_string(value_, node, 'automation_discount')
|
2455
|
+
value_ = self.gds_validate_string(value_, node, 'automation_discount')
|
2456
|
+
self.automation_discount = value_
|
2457
|
+
self.automation_discount_nsprefix_ = child_.prefix
|
2458
|
+
elif nodeName_ == 'options-and-surcharges':
|
2459
|
+
value_ = child_.text
|
2460
|
+
value_ = self.gds_parse_string(value_, node, 'options_and_surcharges')
|
2461
|
+
value_ = self.gds_validate_string(value_, node, 'options_and_surcharges')
|
2462
|
+
self.options_and_surcharges = value_
|
2463
|
+
self.options_and_surcharges_nsprefix_ = child_.prefix
|
2464
|
+
elif nodeName_ == 'gst':
|
2465
|
+
value_ = child_.text
|
2466
|
+
value_ = self.gds_parse_string(value_, node, 'gst')
|
2467
|
+
value_ = self.gds_validate_string(value_, node, 'gst')
|
2468
|
+
self.gst = value_
|
2469
|
+
self.gst_nsprefix_ = child_.prefix
|
2470
|
+
elif nodeName_ == 'pst':
|
2471
|
+
value_ = child_.text
|
2472
|
+
value_ = self.gds_parse_string(value_, node, 'pst')
|
2473
|
+
value_ = self.gds_validate_string(value_, node, 'pst')
|
2474
|
+
self.pst = value_
|
2475
|
+
self.pst_nsprefix_ = child_.prefix
|
2476
|
+
elif nodeName_ == 'hst':
|
2477
|
+
value_ = child_.text
|
2478
|
+
value_ = self.gds_parse_string(value_, node, 'hst')
|
2479
|
+
value_ = self.gds_validate_string(value_, node, 'hst')
|
2480
|
+
self.hst = value_
|
2481
|
+
self.hst_nsprefix_ = child_.prefix
|
2482
|
+
elif nodeName_ == 'total-due-cpc':
|
2483
|
+
value_ = child_.text
|
2484
|
+
value_ = self.gds_parse_string(value_, node, 'total_due_cpc')
|
2485
|
+
value_ = self.gds_validate_string(value_, node, 'total_due_cpc')
|
2486
|
+
self.total_due_cpc = value_
|
2487
|
+
self.total_due_cpc_nsprefix_ = child_.prefix
|
2488
|
+
# end class ManifestPricingInfoType
|
2489
|
+
|
2490
|
+
|
2491
|
+
class ManifestAddressType(GeneratedsSuper):
|
2492
|
+
__hash__ = GeneratedsSuper.__hash__
|
2493
|
+
subclass = None
|
2494
|
+
superclass = None
|
2495
|
+
def __init__(self, manifest_company=None, manifest_name=None, phone_number=None, address_details=None, gds_collector_=None, **kwargs_):
|
2496
|
+
self.gds_collector_ = gds_collector_
|
2497
|
+
self.gds_elementtree_node_ = None
|
2498
|
+
self.original_tagname_ = None
|
2499
|
+
self.parent_object_ = kwargs_.get('parent_object_')
|
2500
|
+
self.ns_prefix_ = None
|
2501
|
+
self.manifest_company = manifest_company
|
2502
|
+
self.validate_manifest_companyType(self.manifest_company)
|
2503
|
+
self.manifest_company_nsprefix_ = None
|
2504
|
+
self.manifest_name = manifest_name
|
2505
|
+
self.validate_manifest_nameType(self.manifest_name)
|
2506
|
+
self.manifest_name_nsprefix_ = None
|
2507
|
+
self.phone_number = phone_number
|
2508
|
+
self.phone_number_nsprefix_ = None
|
2509
|
+
self.address_details = address_details
|
2510
|
+
self.address_details_nsprefix_ = None
|
2511
|
+
def factory(*args_, **kwargs_):
|
2512
|
+
if CurrentSubclassModule_ is not None:
|
2513
|
+
subclass = getSubclassFromModule_(
|
2514
|
+
CurrentSubclassModule_, ManifestAddressType)
|
2515
|
+
if subclass is not None:
|
2516
|
+
return subclass(*args_, **kwargs_)
|
2517
|
+
if ManifestAddressType.subclass:
|
2518
|
+
return ManifestAddressType.subclass(*args_, **kwargs_)
|
2519
|
+
else:
|
2520
|
+
return ManifestAddressType(*args_, **kwargs_)
|
2521
|
+
factory = staticmethod(factory)
|
2522
|
+
def get_ns_prefix_(self):
|
2523
|
+
return self.ns_prefix_
|
2524
|
+
def set_ns_prefix_(self, ns_prefix):
|
2525
|
+
self.ns_prefix_ = ns_prefix
|
2526
|
+
def get_manifest_company(self):
|
2527
|
+
return self.manifest_company
|
2528
|
+
def set_manifest_company(self, manifest_company):
|
2529
|
+
self.manifest_company = manifest_company
|
2530
|
+
def get_manifest_name(self):
|
2531
|
+
return self.manifest_name
|
2532
|
+
def set_manifest_name(self, manifest_name):
|
2533
|
+
self.manifest_name = manifest_name
|
2534
|
+
def get_phone_number(self):
|
2535
|
+
return self.phone_number
|
2536
|
+
def set_phone_number(self, phone_number):
|
2537
|
+
self.phone_number = phone_number
|
2538
|
+
def get_address_details(self):
|
2539
|
+
return self.address_details
|
2540
|
+
def set_address_details(self, address_details):
|
2541
|
+
self.address_details = address_details
|
2542
|
+
def validate_manifest_companyType(self, value):
|
2543
|
+
result = True
|
2544
|
+
# Validate type manifest-companyType, a restriction on xsd:normalizedString.
|
2545
|
+
if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None:
|
2546
|
+
if not isinstance(value, str):
|
2547
|
+
lineno = self.gds_get_node_lineno_()
|
2548
|
+
self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, })
|
2549
|
+
return False
|
2550
|
+
if len(value) > 44:
|
2551
|
+
lineno = self.gds_get_node_lineno_()
|
2552
|
+
self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on manifest-companyType' % {"value": value, "lineno": lineno} )
|
2553
|
+
result = False
|
2554
|
+
if len(value) < 1:
|
2555
|
+
lineno = self.gds_get_node_lineno_()
|
2556
|
+
self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on manifest-companyType' % {"value" : value, "lineno": lineno} )
|
2557
|
+
result = False
|
2558
|
+
return result
|
2559
|
+
def validate_manifest_nameType(self, value):
|
2560
|
+
result = True
|
2561
|
+
# Validate type manifest-nameType, a restriction on xsd:normalizedString.
|
2562
|
+
if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None:
|
2563
|
+
if not isinstance(value, str):
|
2564
|
+
lineno = self.gds_get_node_lineno_()
|
2565
|
+
self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, })
|
2566
|
+
return False
|
2567
|
+
if len(value) > 44:
|
2568
|
+
lineno = self.gds_get_node_lineno_()
|
2569
|
+
self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on manifest-nameType' % {"value": value, "lineno": lineno} )
|
2570
|
+
result = False
|
2571
|
+
if len(value) < 1:
|
2572
|
+
lineno = self.gds_get_node_lineno_()
|
2573
|
+
self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on manifest-nameType' % {"value" : value, "lineno": lineno} )
|
2574
|
+
result = False
|
2575
|
+
return result
|
2576
|
+
def has__content(self):
|
2577
|
+
if (
|
2578
|
+
self.manifest_company is not None or
|
2579
|
+
self.manifest_name is not None or
|
2580
|
+
self.phone_number is not None or
|
2581
|
+
self.address_details is not None
|
2582
|
+
):
|
2583
|
+
return True
|
2584
|
+
else:
|
2585
|
+
return False
|
2586
|
+
def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='ManifestAddressType', pretty_print=True):
|
2587
|
+
imported_ns_def_ = GenerateDSNamespaceDefs_.get('ManifestAddressType')
|
2588
|
+
if imported_ns_def_ is not None:
|
2589
|
+
namespacedef_ = imported_ns_def_
|
2590
|
+
if pretty_print:
|
2591
|
+
eol_ = '\n'
|
2592
|
+
else:
|
2593
|
+
eol_ = ''
|
2594
|
+
if self.original_tagname_ is not None and name_ == 'ManifestAddressType':
|
2595
|
+
name_ = self.original_tagname_
|
2596
|
+
if UseCapturedNS_ and self.ns_prefix_:
|
2597
|
+
namespaceprefix_ = self.ns_prefix_ + ':'
|
2598
|
+
showIndent(outfile, level, pretty_print)
|
2599
|
+
outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
|
2600
|
+
already_processed = set()
|
2601
|
+
self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ManifestAddressType')
|
2602
|
+
if self.has__content():
|
2603
|
+
outfile.write('>%s' % (eol_, ))
|
2604
|
+
self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ManifestAddressType', pretty_print=pretty_print)
|
2605
|
+
showIndent(outfile, level, pretty_print)
|
2606
|
+
outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
|
2607
|
+
else:
|
2608
|
+
outfile.write('/>%s' % (eol_, ))
|
2609
|
+
def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ManifestAddressType'):
|
2610
|
+
pass
|
2611
|
+
def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='ManifestAddressType', fromsubclass_=False, pretty_print=True):
|
2612
|
+
if pretty_print:
|
2613
|
+
eol_ = '\n'
|
2614
|
+
else:
|
2615
|
+
eol_ = ''
|
2616
|
+
if self.manifest_company is not None:
|
2617
|
+
namespaceprefix_ = self.manifest_company_nsprefix_ + ':' if (UseCapturedNS_ and self.manifest_company_nsprefix_) else ''
|
2618
|
+
showIndent(outfile, level, pretty_print)
|
2619
|
+
outfile.write('<%smanifest-company>%s</%smanifest-company>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.manifest_company), input_name='manifest-company')), namespaceprefix_ , eol_))
|
2620
|
+
if self.manifest_name is not None:
|
2621
|
+
namespaceprefix_ = self.manifest_name_nsprefix_ + ':' if (UseCapturedNS_ and self.manifest_name_nsprefix_) else ''
|
2622
|
+
showIndent(outfile, level, pretty_print)
|
2623
|
+
outfile.write('<%smanifest-name>%s</%smanifest-name>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.manifest_name), input_name='manifest-name')), namespaceprefix_ , eol_))
|
2624
|
+
if self.phone_number is not None:
|
2625
|
+
namespaceprefix_ = self.phone_number_nsprefix_ + ':' if (UseCapturedNS_ and self.phone_number_nsprefix_) else ''
|
2626
|
+
showIndent(outfile, level, pretty_print)
|
2627
|
+
outfile.write('<%sphone-number>%s</%sphone-number>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.phone_number), input_name='phone-number')), namespaceprefix_ , eol_))
|
2628
|
+
if self.address_details is not None:
|
2629
|
+
namespaceprefix_ = self.address_details_nsprefix_ + ':' if (UseCapturedNS_ and self.address_details_nsprefix_) else ''
|
2630
|
+
self.address_details.export(outfile, level, namespaceprefix_, namespacedef_='', name_='address-details', pretty_print=pretty_print)
|
2631
|
+
def build(self, node, gds_collector_=None):
|
2632
|
+
self.gds_collector_ = gds_collector_
|
2633
|
+
if SaveElementTreeNode:
|
2634
|
+
self.gds_elementtree_node_ = node
|
2635
|
+
already_processed = set()
|
2636
|
+
self.ns_prefix_ = node.prefix
|
2637
|
+
self._buildAttributes(node, node.attrib, already_processed)
|
2638
|
+
for child in node:
|
2639
|
+
nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
|
2640
|
+
self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
|
2641
|
+
return self
|
2642
|
+
def _buildAttributes(self, node, attrs, already_processed):
|
2643
|
+
pass
|
2644
|
+
def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
|
2645
|
+
if nodeName_ == 'manifest-company':
|
2646
|
+
value_ = child_.text
|
2647
|
+
value_ = self.gds_parse_string(value_, node, 'manifest_company')
|
2648
|
+
value_ = self.gds_validate_string(value_, node, 'manifest_company')
|
2649
|
+
self.manifest_company = value_
|
2650
|
+
self.manifest_company_nsprefix_ = child_.prefix
|
2651
|
+
# validate type manifest-companyType
|
2652
|
+
self.validate_manifest_companyType(self.manifest_company)
|
2653
|
+
elif nodeName_ == 'manifest-name':
|
2654
|
+
value_ = child_.text
|
2655
|
+
value_ = self.gds_parse_string(value_, node, 'manifest_name')
|
2656
|
+
value_ = self.gds_validate_string(value_, node, 'manifest_name')
|
2657
|
+
self.manifest_name = value_
|
2658
|
+
self.manifest_name_nsprefix_ = child_.prefix
|
2659
|
+
# validate type manifest-nameType
|
2660
|
+
self.validate_manifest_nameType(self.manifest_name)
|
2661
|
+
elif nodeName_ == 'phone-number':
|
2662
|
+
value_ = child_.text
|
2663
|
+
value_ = self.gds_parse_string(value_, node, 'phone_number')
|
2664
|
+
value_ = self.gds_validate_string(value_, node, 'phone_number')
|
2665
|
+
self.phone_number = value_
|
2666
|
+
self.phone_number_nsprefix_ = child_.prefix
|
2667
|
+
elif nodeName_ == 'address-details':
|
2668
|
+
obj_ = AddressDetailsType.factory(parent_object_=self)
|
2669
|
+
obj_.build(child_, gds_collector_=gds_collector_)
|
2670
|
+
self.address_details = obj_
|
2671
|
+
obj_.original_tagname_ = 'address-details'
|
2672
|
+
# end class ManifestAddressType
|
2673
|
+
|
2674
|
+
|
2675
|
+
class AddressDetailsType(GeneratedsSuper):
|
2676
|
+
__hash__ = GeneratedsSuper.__hash__
|
2677
|
+
subclass = None
|
2678
|
+
superclass = None
|
2679
|
+
def __init__(self, address_line_1=None, address_line_2=None, city=None, prov_state=None, country_code=None, postal_zip_code=None, gds_collector_=None, **kwargs_):
|
2680
|
+
self.gds_collector_ = gds_collector_
|
2681
|
+
self.gds_elementtree_node_ = None
|
2682
|
+
self.original_tagname_ = None
|
2683
|
+
self.parent_object_ = kwargs_.get('parent_object_')
|
2684
|
+
self.ns_prefix_ = None
|
2685
|
+
self.address_line_1 = address_line_1
|
2686
|
+
self.validate_address_line_1Type(self.address_line_1)
|
2687
|
+
self.address_line_1_nsprefix_ = None
|
2688
|
+
self.address_line_2 = address_line_2
|
2689
|
+
self.validate_address_line_2Type(self.address_line_2)
|
2690
|
+
self.address_line_2_nsprefix_ = None
|
2691
|
+
self.city = city
|
2692
|
+
self.validate_cityType(self.city)
|
2693
|
+
self.city_nsprefix_ = None
|
2694
|
+
self.prov_state = prov_state
|
2695
|
+
self.validate_prov_stateType(self.prov_state)
|
2696
|
+
self.prov_state_nsprefix_ = None
|
2697
|
+
self.country_code = country_code
|
2698
|
+
self.validate_country_codeType(self.country_code)
|
2699
|
+
self.country_code_nsprefix_ = None
|
2700
|
+
self.postal_zip_code = postal_zip_code
|
2701
|
+
self.postal_zip_code_nsprefix_ = None
|
2702
|
+
def factory(*args_, **kwargs_):
|
2703
|
+
if CurrentSubclassModule_ is not None:
|
2704
|
+
subclass = getSubclassFromModule_(
|
2705
|
+
CurrentSubclassModule_, AddressDetailsType)
|
2706
|
+
if subclass is not None:
|
2707
|
+
return subclass(*args_, **kwargs_)
|
2708
|
+
if AddressDetailsType.subclass:
|
2709
|
+
return AddressDetailsType.subclass(*args_, **kwargs_)
|
2710
|
+
else:
|
2711
|
+
return AddressDetailsType(*args_, **kwargs_)
|
2712
|
+
factory = staticmethod(factory)
|
2713
|
+
def get_ns_prefix_(self):
|
2714
|
+
return self.ns_prefix_
|
2715
|
+
def set_ns_prefix_(self, ns_prefix):
|
2716
|
+
self.ns_prefix_ = ns_prefix
|
2717
|
+
def get_address_line_1(self):
|
2718
|
+
return self.address_line_1
|
2719
|
+
def set_address_line_1(self, address_line_1):
|
2720
|
+
self.address_line_1 = address_line_1
|
2721
|
+
def get_address_line_2(self):
|
2722
|
+
return self.address_line_2
|
2723
|
+
def set_address_line_2(self, address_line_2):
|
2724
|
+
self.address_line_2 = address_line_2
|
2725
|
+
def get_city(self):
|
2726
|
+
return self.city
|
2727
|
+
def set_city(self, city):
|
2728
|
+
self.city = city
|
2729
|
+
def get_prov_state(self):
|
2730
|
+
return self.prov_state
|
2731
|
+
def set_prov_state(self, prov_state):
|
2732
|
+
self.prov_state = prov_state
|
2733
|
+
def get_country_code(self):
|
2734
|
+
return self.country_code
|
2735
|
+
def set_country_code(self, country_code):
|
2736
|
+
self.country_code = country_code
|
2737
|
+
def get_postal_zip_code(self):
|
2738
|
+
return self.postal_zip_code
|
2739
|
+
def set_postal_zip_code(self, postal_zip_code):
|
2740
|
+
self.postal_zip_code = postal_zip_code
|
2741
|
+
def validate_address_line_1Type(self, value):
|
2742
|
+
result = True
|
2743
|
+
# Validate type address-line-1Type, a restriction on xsd:normalizedString.
|
2744
|
+
if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None:
|
2745
|
+
if not isinstance(value, str):
|
2746
|
+
lineno = self.gds_get_node_lineno_()
|
2747
|
+
self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, })
|
2748
|
+
return False
|
2749
|
+
if len(value) > 44:
|
2750
|
+
lineno = self.gds_get_node_lineno_()
|
2751
|
+
self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on address-line-1Type' % {"value": value, "lineno": lineno} )
|
2752
|
+
result = False
|
2753
|
+
if len(value) < 1:
|
2754
|
+
lineno = self.gds_get_node_lineno_()
|
2755
|
+
self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on address-line-1Type' % {"value" : value, "lineno": lineno} )
|
2756
|
+
result = False
|
2757
|
+
return result
|
2758
|
+
def validate_address_line_2Type(self, value):
|
2759
|
+
result = True
|
2760
|
+
# Validate type address-line-2Type, a restriction on xsd:normalizedString.
|
2761
|
+
if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None:
|
2762
|
+
if not isinstance(value, str):
|
2763
|
+
lineno = self.gds_get_node_lineno_()
|
2764
|
+
self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, })
|
2765
|
+
return False
|
2766
|
+
if len(value) > 44:
|
2767
|
+
lineno = self.gds_get_node_lineno_()
|
2768
|
+
self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on address-line-2Type' % {"value": value, "lineno": lineno} )
|
2769
|
+
result = False
|
2770
|
+
return result
|
2771
|
+
def validate_cityType(self, value):
|
2772
|
+
result = True
|
2773
|
+
# Validate type cityType, a restriction on xsd:normalizedString.
|
2774
|
+
if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None:
|
2775
|
+
if not isinstance(value, str):
|
2776
|
+
lineno = self.gds_get_node_lineno_()
|
2777
|
+
self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, })
|
2778
|
+
return False
|
2779
|
+
if len(value) > 40:
|
2780
|
+
lineno = self.gds_get_node_lineno_()
|
2781
|
+
self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on cityType' % {"value": value, "lineno": lineno} )
|
2782
|
+
result = False
|
2783
|
+
if len(value) < 1:
|
2784
|
+
lineno = self.gds_get_node_lineno_()
|
2785
|
+
self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on cityType' % {"value" : value, "lineno": lineno} )
|
2786
|
+
result = False
|
2787
|
+
return result
|
2788
|
+
def validate_prov_stateType(self, value):
|
2789
|
+
result = True
|
2790
|
+
# Validate type prov-stateType, a restriction on xsd:normalizedString.
|
2791
|
+
if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None:
|
2792
|
+
if not isinstance(value, str):
|
2793
|
+
lineno = self.gds_get_node_lineno_()
|
2794
|
+
self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, })
|
2795
|
+
return False
|
2796
|
+
if len(value) > 2:
|
2797
|
+
lineno = self.gds_get_node_lineno_()
|
2798
|
+
self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on prov-stateType' % {"value": value, "lineno": lineno} )
|
2799
|
+
result = False
|
2800
|
+
if len(value) < 1:
|
2801
|
+
lineno = self.gds_get_node_lineno_()
|
2802
|
+
self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on prov-stateType' % {"value" : value, "lineno": lineno} )
|
2803
|
+
result = False
|
2804
|
+
return result
|
2805
|
+
def validate_country_codeType(self, value):
|
2806
|
+
result = True
|
2807
|
+
# Validate type country-codeType, a restriction on xsd:string.
|
2808
|
+
if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None:
|
2809
|
+
if not isinstance(value, str):
|
2810
|
+
lineno = self.gds_get_node_lineno_()
|
2811
|
+
self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, })
|
2812
|
+
return False
|
2813
|
+
value = value
|
2814
|
+
enumerations = ['CA', 'US']
|
2815
|
+
if value not in enumerations:
|
2816
|
+
lineno = self.gds_get_node_lineno_()
|
2817
|
+
self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on country-codeType' % {"value" : encode_str_2_3(value), "lineno": lineno} )
|
2818
|
+
result = False
|
2819
|
+
return result
|
2820
|
+
def has__content(self):
|
2821
|
+
if (
|
2822
|
+
self.address_line_1 is not None or
|
2823
|
+
self.address_line_2 is not None or
|
2824
|
+
self.city is not None or
|
2825
|
+
self.prov_state is not None or
|
2826
|
+
self.country_code is not None or
|
2827
|
+
self.postal_zip_code is not None
|
2828
|
+
):
|
2829
|
+
return True
|
2830
|
+
else:
|
2831
|
+
return False
|
2832
|
+
def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='AddressDetailsType', pretty_print=True):
|
2833
|
+
imported_ns_def_ = GenerateDSNamespaceDefs_.get('AddressDetailsType')
|
2834
|
+
if imported_ns_def_ is not None:
|
2835
|
+
namespacedef_ = imported_ns_def_
|
2836
|
+
if pretty_print:
|
2837
|
+
eol_ = '\n'
|
2838
|
+
else:
|
2839
|
+
eol_ = ''
|
2840
|
+
if self.original_tagname_ is not None and name_ == 'AddressDetailsType':
|
2841
|
+
name_ = self.original_tagname_
|
2842
|
+
if UseCapturedNS_ and self.ns_prefix_:
|
2843
|
+
namespaceprefix_ = self.ns_prefix_ + ':'
|
2844
|
+
showIndent(outfile, level, pretty_print)
|
2845
|
+
outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
|
2846
|
+
already_processed = set()
|
2847
|
+
self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='AddressDetailsType')
|
2848
|
+
if self.has__content():
|
2849
|
+
outfile.write('>%s' % (eol_, ))
|
2850
|
+
self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='AddressDetailsType', pretty_print=pretty_print)
|
2851
|
+
showIndent(outfile, level, pretty_print)
|
2852
|
+
outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
|
2853
|
+
else:
|
2854
|
+
outfile.write('/>%s' % (eol_, ))
|
2855
|
+
def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='AddressDetailsType'):
|
2856
|
+
pass
|
2857
|
+
def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='AddressDetailsType', fromsubclass_=False, pretty_print=True):
|
2858
|
+
if pretty_print:
|
2859
|
+
eol_ = '\n'
|
2860
|
+
else:
|
2861
|
+
eol_ = ''
|
2862
|
+
if self.address_line_1 is not None:
|
2863
|
+
namespaceprefix_ = self.address_line_1_nsprefix_ + ':' if (UseCapturedNS_ and self.address_line_1_nsprefix_) else ''
|
2864
|
+
showIndent(outfile, level, pretty_print)
|
2865
|
+
outfile.write('<%saddress-line-1>%s</%saddress-line-1>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.address_line_1), input_name='address-line-1')), namespaceprefix_ , eol_))
|
2866
|
+
if self.address_line_2 is not None:
|
2867
|
+
namespaceprefix_ = self.address_line_2_nsprefix_ + ':' if (UseCapturedNS_ and self.address_line_2_nsprefix_) else ''
|
2868
|
+
showIndent(outfile, level, pretty_print)
|
2869
|
+
outfile.write('<%saddress-line-2>%s</%saddress-line-2>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.address_line_2), input_name='address-line-2')), namespaceprefix_ , eol_))
|
2870
|
+
if self.city is not None:
|
2871
|
+
namespaceprefix_ = self.city_nsprefix_ + ':' if (UseCapturedNS_ and self.city_nsprefix_) else ''
|
2872
|
+
showIndent(outfile, level, pretty_print)
|
2873
|
+
outfile.write('<%scity>%s</%scity>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.city), input_name='city')), namespaceprefix_ , eol_))
|
2874
|
+
if self.prov_state is not None:
|
2875
|
+
namespaceprefix_ = self.prov_state_nsprefix_ + ':' if (UseCapturedNS_ and self.prov_state_nsprefix_) else ''
|
2876
|
+
showIndent(outfile, level, pretty_print)
|
2877
|
+
outfile.write('<%sprov-state>%s</%sprov-state>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.prov_state), input_name='prov-state')), namespaceprefix_ , eol_))
|
2878
|
+
if self.country_code is not None:
|
2879
|
+
namespaceprefix_ = self.country_code_nsprefix_ + ':' if (UseCapturedNS_ and self.country_code_nsprefix_) else ''
|
2880
|
+
showIndent(outfile, level, pretty_print)
|
2881
|
+
outfile.write('<%scountry-code>%s</%scountry-code>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.country_code), input_name='country-code')), namespaceprefix_ , eol_))
|
2882
|
+
if self.postal_zip_code is not None:
|
2883
|
+
namespaceprefix_ = self.postal_zip_code_nsprefix_ + ':' if (UseCapturedNS_ and self.postal_zip_code_nsprefix_) else ''
|
2884
|
+
showIndent(outfile, level, pretty_print)
|
2885
|
+
outfile.write('<%spostal-zip-code>%s</%spostal-zip-code>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.postal_zip_code), input_name='postal-zip-code')), namespaceprefix_ , eol_))
|
2886
|
+
def build(self, node, gds_collector_=None):
|
2887
|
+
self.gds_collector_ = gds_collector_
|
2888
|
+
if SaveElementTreeNode:
|
2889
|
+
self.gds_elementtree_node_ = node
|
2890
|
+
already_processed = set()
|
2891
|
+
self.ns_prefix_ = node.prefix
|
2892
|
+
self._buildAttributes(node, node.attrib, already_processed)
|
2893
|
+
for child in node:
|
2894
|
+
nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
|
2895
|
+
self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
|
2896
|
+
return self
|
2897
|
+
def _buildAttributes(self, node, attrs, already_processed):
|
2898
|
+
pass
|
2899
|
+
def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
|
2900
|
+
if nodeName_ == 'address-line-1':
|
2901
|
+
value_ = child_.text
|
2902
|
+
value_ = self.gds_parse_string(value_, node, 'address_line_1')
|
2903
|
+
value_ = self.gds_validate_string(value_, node, 'address_line_1')
|
2904
|
+
self.address_line_1 = value_
|
2905
|
+
self.address_line_1_nsprefix_ = child_.prefix
|
2906
|
+
# validate type address-line-1Type
|
2907
|
+
self.validate_address_line_1Type(self.address_line_1)
|
2908
|
+
elif nodeName_ == 'address-line-2':
|
2909
|
+
value_ = child_.text
|
2910
|
+
value_ = self.gds_parse_string(value_, node, 'address_line_2')
|
2911
|
+
value_ = self.gds_validate_string(value_, node, 'address_line_2')
|
2912
|
+
self.address_line_2 = value_
|
2913
|
+
self.address_line_2_nsprefix_ = child_.prefix
|
2914
|
+
# validate type address-line-2Type
|
2915
|
+
self.validate_address_line_2Type(self.address_line_2)
|
2916
|
+
elif nodeName_ == 'city':
|
2917
|
+
value_ = child_.text
|
2918
|
+
value_ = self.gds_parse_string(value_, node, 'city')
|
2919
|
+
value_ = self.gds_validate_string(value_, node, 'city')
|
2920
|
+
self.city = value_
|
2921
|
+
self.city_nsprefix_ = child_.prefix
|
2922
|
+
# validate type cityType
|
2923
|
+
self.validate_cityType(self.city)
|
2924
|
+
elif nodeName_ == 'prov-state':
|
2925
|
+
value_ = child_.text
|
2926
|
+
value_ = self.gds_parse_string(value_, node, 'prov_state')
|
2927
|
+
value_ = self.gds_validate_string(value_, node, 'prov_state')
|
2928
|
+
self.prov_state = value_
|
2929
|
+
self.prov_state_nsprefix_ = child_.prefix
|
2930
|
+
# validate type prov-stateType
|
2931
|
+
self.validate_prov_stateType(self.prov_state)
|
2932
|
+
elif nodeName_ == 'country-code':
|
2933
|
+
value_ = child_.text
|
2934
|
+
value_ = self.gds_parse_string(value_, node, 'country_code')
|
2935
|
+
value_ = self.gds_validate_string(value_, node, 'country_code')
|
2936
|
+
self.country_code = value_
|
2937
|
+
self.country_code_nsprefix_ = child_.prefix
|
2938
|
+
# validate type country-codeType
|
2939
|
+
self.validate_country_codeType(self.country_code)
|
2940
|
+
elif nodeName_ == 'postal-zip-code':
|
2941
|
+
value_ = child_.text
|
2942
|
+
value_ = self.gds_parse_string(value_, node, 'postal_zip_code')
|
2943
|
+
value_ = self.gds_validate_string(value_, node, 'postal_zip_code')
|
2944
|
+
self.postal_zip_code = value_
|
2945
|
+
self.postal_zip_code_nsprefix_ = child_.prefix
|
2946
|
+
# end class AddressDetailsType
|
2947
|
+
|
2948
|
+
|
2949
|
+
class cc_receipt_detailsType(GeneratedsSuper):
|
2950
|
+
__hash__ = GeneratedsSuper.__hash__
|
2951
|
+
subclass = None
|
2952
|
+
superclass = None
|
2953
|
+
def __init__(self, merchant_name=None, merchant_url=None, name_on_card=None, auth_code=None, auth_timestamp=None, card_type=None, currency=None, transaction_type=None, gds_collector_=None, **kwargs_):
|
2954
|
+
self.gds_collector_ = gds_collector_
|
2955
|
+
self.gds_elementtree_node_ = None
|
2956
|
+
self.original_tagname_ = None
|
2957
|
+
self.parent_object_ = kwargs_.get('parent_object_')
|
2958
|
+
self.ns_prefix_ = None
|
2959
|
+
self.merchant_name = merchant_name
|
2960
|
+
self.merchant_name_nsprefix_ = None
|
2961
|
+
self.merchant_url = merchant_url
|
2962
|
+
self.validate_merchant_urlType(self.merchant_url)
|
2963
|
+
self.merchant_url_nsprefix_ = None
|
2964
|
+
self.name_on_card = name_on_card
|
2965
|
+
self.name_on_card_nsprefix_ = None
|
2966
|
+
self.auth_code = auth_code
|
2967
|
+
self.auth_code_nsprefix_ = None
|
2968
|
+
if isinstance(auth_timestamp, BaseStrType_):
|
2969
|
+
initvalue_ = datetime_.datetime.strptime(auth_timestamp, '%Y-%m-%dT%H:%M:%S')
|
2970
|
+
else:
|
2971
|
+
initvalue_ = auth_timestamp
|
2972
|
+
self.auth_timestamp = initvalue_
|
2973
|
+
self.auth_timestamp_nsprefix_ = None
|
2974
|
+
self.card_type = card_type
|
2975
|
+
self.card_type_nsprefix_ = None
|
2976
|
+
self.currency = currency
|
2977
|
+
self.currency_nsprefix_ = None
|
2978
|
+
self.transaction_type = transaction_type
|
2979
|
+
self.validate_transaction_typeType(self.transaction_type)
|
2980
|
+
self.transaction_type_nsprefix_ = None
|
2981
|
+
def factory(*args_, **kwargs_):
|
2982
|
+
if CurrentSubclassModule_ is not None:
|
2983
|
+
subclass = getSubclassFromModule_(
|
2984
|
+
CurrentSubclassModule_, cc_receipt_detailsType)
|
2985
|
+
if subclass is not None:
|
2986
|
+
return subclass(*args_, **kwargs_)
|
2987
|
+
if cc_receipt_detailsType.subclass:
|
2988
|
+
return cc_receipt_detailsType.subclass(*args_, **kwargs_)
|
2989
|
+
else:
|
2990
|
+
return cc_receipt_detailsType(*args_, **kwargs_)
|
2991
|
+
factory = staticmethod(factory)
|
2992
|
+
def get_ns_prefix_(self):
|
2993
|
+
return self.ns_prefix_
|
2994
|
+
def set_ns_prefix_(self, ns_prefix):
|
2995
|
+
self.ns_prefix_ = ns_prefix
|
2996
|
+
def get_merchant_name(self):
|
2997
|
+
return self.merchant_name
|
2998
|
+
def set_merchant_name(self, merchant_name):
|
2999
|
+
self.merchant_name = merchant_name
|
3000
|
+
def get_merchant_url(self):
|
3001
|
+
return self.merchant_url
|
3002
|
+
def set_merchant_url(self, merchant_url):
|
3003
|
+
self.merchant_url = merchant_url
|
3004
|
+
def get_name_on_card(self):
|
3005
|
+
return self.name_on_card
|
3006
|
+
def set_name_on_card(self, name_on_card):
|
3007
|
+
self.name_on_card = name_on_card
|
3008
|
+
def get_auth_code(self):
|
3009
|
+
return self.auth_code
|
3010
|
+
def set_auth_code(self, auth_code):
|
3011
|
+
self.auth_code = auth_code
|
3012
|
+
def get_auth_timestamp(self):
|
3013
|
+
return self.auth_timestamp
|
3014
|
+
def set_auth_timestamp(self, auth_timestamp):
|
3015
|
+
self.auth_timestamp = auth_timestamp
|
3016
|
+
def get_card_type(self):
|
3017
|
+
return self.card_type
|
3018
|
+
def set_card_type(self, card_type):
|
3019
|
+
self.card_type = card_type
|
3020
|
+
def get_currency(self):
|
3021
|
+
return self.currency
|
3022
|
+
def set_currency(self, currency):
|
3023
|
+
self.currency = currency
|
3024
|
+
def get_transaction_type(self):
|
3025
|
+
return self.transaction_type
|
3026
|
+
def set_transaction_type(self, transaction_type):
|
3027
|
+
self.transaction_type = transaction_type
|
3028
|
+
def validate_merchant_urlType(self, value):
|
3029
|
+
result = True
|
3030
|
+
# Validate type merchant-urlType, a restriction on xsd:normalizedString.
|
3031
|
+
if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None:
|
3032
|
+
if not isinstance(value, str):
|
3033
|
+
lineno = self.gds_get_node_lineno_()
|
3034
|
+
self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, })
|
3035
|
+
return False
|
3036
|
+
if len(value) > 60:
|
3037
|
+
lineno = self.gds_get_node_lineno_()
|
3038
|
+
self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on merchant-urlType' % {"value": value, "lineno": lineno} )
|
3039
|
+
result = False
|
3040
|
+
return result
|
3041
|
+
def validate_transaction_typeType(self, value):
|
3042
|
+
result = True
|
3043
|
+
# Validate type transaction-typeType, a restriction on xsd:normalizedString.
|
3044
|
+
if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None:
|
3045
|
+
if not isinstance(value, str):
|
3046
|
+
lineno = self.gds_get_node_lineno_()
|
3047
|
+
self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, })
|
3048
|
+
return False
|
3049
|
+
if len(value) > 44:
|
3050
|
+
lineno = self.gds_get_node_lineno_()
|
3051
|
+
self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on transaction-typeType' % {"value": value, "lineno": lineno} )
|
3052
|
+
result = False
|
3053
|
+
return result
|
3054
|
+
def has__content(self):
|
3055
|
+
if (
|
3056
|
+
self.merchant_name is not None or
|
3057
|
+
self.merchant_url is not None or
|
3058
|
+
self.name_on_card is not None or
|
3059
|
+
self.auth_code is not None or
|
3060
|
+
self.auth_timestamp is not None or
|
3061
|
+
self.card_type is not None or
|
3062
|
+
self.currency is not None or
|
3063
|
+
self.transaction_type is not None
|
3064
|
+
):
|
3065
|
+
return True
|
3066
|
+
else:
|
3067
|
+
return False
|
3068
|
+
def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='cc-receipt-detailsType', pretty_print=True):
|
3069
|
+
imported_ns_def_ = GenerateDSNamespaceDefs_.get('cc-receipt-detailsType')
|
3070
|
+
if imported_ns_def_ is not None:
|
3071
|
+
namespacedef_ = imported_ns_def_
|
3072
|
+
if pretty_print:
|
3073
|
+
eol_ = '\n'
|
3074
|
+
else:
|
3075
|
+
eol_ = ''
|
3076
|
+
if self.original_tagname_ is not None and name_ == 'cc-receipt-detailsType':
|
3077
|
+
name_ = self.original_tagname_
|
3078
|
+
if UseCapturedNS_ and self.ns_prefix_:
|
3079
|
+
namespaceprefix_ = self.ns_prefix_ + ':'
|
3080
|
+
showIndent(outfile, level, pretty_print)
|
3081
|
+
outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
|
3082
|
+
already_processed = set()
|
3083
|
+
self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='cc-receipt-detailsType')
|
3084
|
+
if self.has__content():
|
3085
|
+
outfile.write('>%s' % (eol_, ))
|
3086
|
+
self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='cc-receipt-detailsType', pretty_print=pretty_print)
|
3087
|
+
showIndent(outfile, level, pretty_print)
|
3088
|
+
outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
|
3089
|
+
else:
|
3090
|
+
outfile.write('/>%s' % (eol_, ))
|
3091
|
+
def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='cc-receipt-detailsType'):
|
3092
|
+
pass
|
3093
|
+
def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='cc-receipt-detailsType', fromsubclass_=False, pretty_print=True):
|
3094
|
+
if pretty_print:
|
3095
|
+
eol_ = '\n'
|
3096
|
+
else:
|
3097
|
+
eol_ = ''
|
3098
|
+
if self.merchant_name is not None:
|
3099
|
+
namespaceprefix_ = self.merchant_name_nsprefix_ + ':' if (UseCapturedNS_ and self.merchant_name_nsprefix_) else ''
|
3100
|
+
showIndent(outfile, level, pretty_print)
|
3101
|
+
outfile.write('<%smerchant-name>%s</%smerchant-name>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.merchant_name), input_name='merchant-name')), namespaceprefix_ , eol_))
|
3102
|
+
if self.merchant_url is not None:
|
3103
|
+
namespaceprefix_ = self.merchant_url_nsprefix_ + ':' if (UseCapturedNS_ and self.merchant_url_nsprefix_) else ''
|
3104
|
+
showIndent(outfile, level, pretty_print)
|
3105
|
+
outfile.write('<%smerchant-url>%s</%smerchant-url>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.merchant_url), input_name='merchant-url')), namespaceprefix_ , eol_))
|
3106
|
+
if self.name_on_card is not None:
|
3107
|
+
namespaceprefix_ = self.name_on_card_nsprefix_ + ':' if (UseCapturedNS_ and self.name_on_card_nsprefix_) else ''
|
3108
|
+
showIndent(outfile, level, pretty_print)
|
3109
|
+
outfile.write('<%sname-on-card>%s</%sname-on-card>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.name_on_card), input_name='name-on-card')), namespaceprefix_ , eol_))
|
3110
|
+
if self.auth_code is not None:
|
3111
|
+
namespaceprefix_ = self.auth_code_nsprefix_ + ':' if (UseCapturedNS_ and self.auth_code_nsprefix_) else ''
|
3112
|
+
showIndent(outfile, level, pretty_print)
|
3113
|
+
outfile.write('<%sauth-code>%s</%sauth-code>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.auth_code), input_name='auth-code')), namespaceprefix_ , eol_))
|
3114
|
+
if self.auth_timestamp is not None:
|
3115
|
+
namespaceprefix_ = self.auth_timestamp_nsprefix_ + ':' if (UseCapturedNS_ and self.auth_timestamp_nsprefix_) else ''
|
3116
|
+
showIndent(outfile, level, pretty_print)
|
3117
|
+
outfile.write('<%sauth-timestamp>%s</%sauth-timestamp>%s' % (namespaceprefix_ , self.gds_format_datetime(self.auth_timestamp, input_name='auth-timestamp'), namespaceprefix_ , eol_))
|
3118
|
+
if self.card_type is not None:
|
3119
|
+
namespaceprefix_ = self.card_type_nsprefix_ + ':' if (UseCapturedNS_ and self.card_type_nsprefix_) else ''
|
3120
|
+
showIndent(outfile, level, pretty_print)
|
3121
|
+
outfile.write('<%scard-type>%s</%scard-type>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.card_type), input_name='card-type')), namespaceprefix_ , eol_))
|
3122
|
+
if self.currency is not None:
|
3123
|
+
namespaceprefix_ = self.currency_nsprefix_ + ':' if (UseCapturedNS_ and self.currency_nsprefix_) else ''
|
3124
|
+
showIndent(outfile, level, pretty_print)
|
3125
|
+
outfile.write('<%scurrency>%s</%scurrency>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.currency), input_name='currency')), namespaceprefix_ , eol_))
|
3126
|
+
if self.transaction_type is not None:
|
3127
|
+
namespaceprefix_ = self.transaction_type_nsprefix_ + ':' if (UseCapturedNS_ and self.transaction_type_nsprefix_) else ''
|
3128
|
+
showIndent(outfile, level, pretty_print)
|
3129
|
+
outfile.write('<%stransaction-type>%s</%stransaction-type>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.transaction_type), input_name='transaction-type')), namespaceprefix_ , eol_))
|
3130
|
+
def build(self, node, gds_collector_=None):
|
3131
|
+
self.gds_collector_ = gds_collector_
|
3132
|
+
if SaveElementTreeNode:
|
3133
|
+
self.gds_elementtree_node_ = node
|
3134
|
+
already_processed = set()
|
3135
|
+
self.ns_prefix_ = node.prefix
|
3136
|
+
self._buildAttributes(node, node.attrib, already_processed)
|
3137
|
+
for child in node:
|
3138
|
+
nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
|
3139
|
+
self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
|
3140
|
+
return self
|
3141
|
+
def _buildAttributes(self, node, attrs, already_processed):
|
3142
|
+
pass
|
3143
|
+
def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
|
3144
|
+
if nodeName_ == 'merchant-name':
|
3145
|
+
value_ = child_.text
|
3146
|
+
value_ = self.gds_parse_string(value_, node, 'merchant_name')
|
3147
|
+
value_ = self.gds_validate_string(value_, node, 'merchant_name')
|
3148
|
+
self.merchant_name = value_
|
3149
|
+
self.merchant_name_nsprefix_ = child_.prefix
|
3150
|
+
elif nodeName_ == 'merchant-url':
|
3151
|
+
value_ = child_.text
|
3152
|
+
value_ = self.gds_parse_string(value_, node, 'merchant_url')
|
3153
|
+
value_ = self.gds_validate_string(value_, node, 'merchant_url')
|
3154
|
+
self.merchant_url = value_
|
3155
|
+
self.merchant_url_nsprefix_ = child_.prefix
|
3156
|
+
# validate type merchant-urlType
|
3157
|
+
self.validate_merchant_urlType(self.merchant_url)
|
3158
|
+
elif nodeName_ == 'name-on-card':
|
3159
|
+
value_ = child_.text
|
3160
|
+
value_ = self.gds_parse_string(value_, node, 'name_on_card')
|
3161
|
+
value_ = self.gds_validate_string(value_, node, 'name_on_card')
|
3162
|
+
self.name_on_card = value_
|
3163
|
+
self.name_on_card_nsprefix_ = child_.prefix
|
3164
|
+
elif nodeName_ == 'auth-code':
|
3165
|
+
value_ = child_.text
|
3166
|
+
value_ = self.gds_parse_string(value_, node, 'auth_code')
|
3167
|
+
value_ = self.gds_validate_string(value_, node, 'auth_code')
|
3168
|
+
self.auth_code = value_
|
3169
|
+
self.auth_code_nsprefix_ = child_.prefix
|
3170
|
+
elif nodeName_ == 'auth-timestamp':
|
3171
|
+
sval_ = child_.text
|
3172
|
+
dval_ = self.gds_parse_datetime(sval_)
|
3173
|
+
self.auth_timestamp = dval_
|
3174
|
+
self.auth_timestamp_nsprefix_ = child_.prefix
|
3175
|
+
elif nodeName_ == 'card-type':
|
3176
|
+
value_ = child_.text
|
3177
|
+
value_ = self.gds_parse_string(value_, node, 'card_type')
|
3178
|
+
value_ = self.gds_validate_string(value_, node, 'card_type')
|
3179
|
+
self.card_type = value_
|
3180
|
+
self.card_type_nsprefix_ = child_.prefix
|
3181
|
+
elif nodeName_ == 'currency':
|
3182
|
+
value_ = child_.text
|
3183
|
+
value_ = self.gds_parse_string(value_, node, 'currency')
|
3184
|
+
value_ = self.gds_validate_string(value_, node, 'currency')
|
3185
|
+
self.currency = value_
|
3186
|
+
self.currency_nsprefix_ = child_.prefix
|
3187
|
+
elif nodeName_ == 'transaction-type':
|
3188
|
+
value_ = child_.text
|
3189
|
+
value_ = self.gds_parse_string(value_, node, 'transaction_type')
|
3190
|
+
value_ = self.gds_validate_string(value_, node, 'transaction_type')
|
3191
|
+
self.transaction_type = value_
|
3192
|
+
self.transaction_type_nsprefix_ = child_.prefix
|
3193
|
+
# validate type transaction-typeType
|
3194
|
+
self.validate_transaction_typeType(self.transaction_type)
|
3195
|
+
# end class cc_receipt_detailsType
|
3196
|
+
|
3197
|
+
|
3198
|
+
class supplier_account_receipt_detailsType(GeneratedsSuper):
|
3199
|
+
__hash__ = GeneratedsSuper.__hash__
|
3200
|
+
subclass = None
|
3201
|
+
superclass = None
|
3202
|
+
def __init__(self, merchant_name=None, merchant_url=None, auth_code=None, auth_timestamp=None, supplier_id=None, currency=None, transaction_type=None, gds_collector_=None, **kwargs_):
|
3203
|
+
self.gds_collector_ = gds_collector_
|
3204
|
+
self.gds_elementtree_node_ = None
|
3205
|
+
self.original_tagname_ = None
|
3206
|
+
self.parent_object_ = kwargs_.get('parent_object_')
|
3207
|
+
self.ns_prefix_ = None
|
3208
|
+
self.merchant_name = merchant_name
|
3209
|
+
self.validate_merchant_nameType(self.merchant_name)
|
3210
|
+
self.merchant_name_nsprefix_ = None
|
3211
|
+
self.merchant_url = merchant_url
|
3212
|
+
self.validate_merchant_urlType1(self.merchant_url)
|
3213
|
+
self.merchant_url_nsprefix_ = None
|
3214
|
+
self.auth_code = auth_code
|
3215
|
+
self.auth_code_nsprefix_ = None
|
3216
|
+
if isinstance(auth_timestamp, BaseStrType_):
|
3217
|
+
initvalue_ = datetime_.datetime.strptime(auth_timestamp, '%Y-%m-%dT%H:%M:%S')
|
3218
|
+
else:
|
3219
|
+
initvalue_ = auth_timestamp
|
3220
|
+
self.auth_timestamp = initvalue_
|
3221
|
+
self.auth_timestamp_nsprefix_ = None
|
3222
|
+
self.supplier_id = supplier_id
|
3223
|
+
self.supplier_id_nsprefix_ = None
|
3224
|
+
self.currency = currency
|
3225
|
+
self.currency_nsprefix_ = None
|
3226
|
+
self.transaction_type = transaction_type
|
3227
|
+
self.validate_transaction_typeType2(self.transaction_type)
|
3228
|
+
self.transaction_type_nsprefix_ = None
|
3229
|
+
def factory(*args_, **kwargs_):
|
3230
|
+
if CurrentSubclassModule_ is not None:
|
3231
|
+
subclass = getSubclassFromModule_(
|
3232
|
+
CurrentSubclassModule_, supplier_account_receipt_detailsType)
|
3233
|
+
if subclass is not None:
|
3234
|
+
return subclass(*args_, **kwargs_)
|
3235
|
+
if supplier_account_receipt_detailsType.subclass:
|
3236
|
+
return supplier_account_receipt_detailsType.subclass(*args_, **kwargs_)
|
3237
|
+
else:
|
3238
|
+
return supplier_account_receipt_detailsType(*args_, **kwargs_)
|
3239
|
+
factory = staticmethod(factory)
|
3240
|
+
def get_ns_prefix_(self):
|
3241
|
+
return self.ns_prefix_
|
3242
|
+
def set_ns_prefix_(self, ns_prefix):
|
3243
|
+
self.ns_prefix_ = ns_prefix
|
3244
|
+
def get_merchant_name(self):
|
3245
|
+
return self.merchant_name
|
3246
|
+
def set_merchant_name(self, merchant_name):
|
3247
|
+
self.merchant_name = merchant_name
|
3248
|
+
def get_merchant_url(self):
|
3249
|
+
return self.merchant_url
|
3250
|
+
def set_merchant_url(self, merchant_url):
|
3251
|
+
self.merchant_url = merchant_url
|
3252
|
+
def get_auth_code(self):
|
3253
|
+
return self.auth_code
|
3254
|
+
def set_auth_code(self, auth_code):
|
3255
|
+
self.auth_code = auth_code
|
3256
|
+
def get_auth_timestamp(self):
|
3257
|
+
return self.auth_timestamp
|
3258
|
+
def set_auth_timestamp(self, auth_timestamp):
|
3259
|
+
self.auth_timestamp = auth_timestamp
|
3260
|
+
def get_supplier_id(self):
|
3261
|
+
return self.supplier_id
|
3262
|
+
def set_supplier_id(self, supplier_id):
|
3263
|
+
self.supplier_id = supplier_id
|
3264
|
+
def get_currency(self):
|
3265
|
+
return self.currency
|
3266
|
+
def set_currency(self, currency):
|
3267
|
+
self.currency = currency
|
3268
|
+
def get_transaction_type(self):
|
3269
|
+
return self.transaction_type
|
3270
|
+
def set_transaction_type(self, transaction_type):
|
3271
|
+
self.transaction_type = transaction_type
|
3272
|
+
def validate_merchant_nameType(self, value):
|
3273
|
+
result = True
|
3274
|
+
# Validate type merchant-nameType, a restriction on xsd:normalizedString.
|
3275
|
+
if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None:
|
3276
|
+
if not isinstance(value, str):
|
3277
|
+
lineno = self.gds_get_node_lineno_()
|
3278
|
+
self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, })
|
3279
|
+
return False
|
3280
|
+
if len(value) > 44:
|
3281
|
+
lineno = self.gds_get_node_lineno_()
|
3282
|
+
self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on merchant-nameType' % {"value": value, "lineno": lineno} )
|
3283
|
+
result = False
|
3284
|
+
return result
|
3285
|
+
def validate_merchant_urlType1(self, value):
|
3286
|
+
result = True
|
3287
|
+
# Validate type merchant-urlType1, a restriction on xsd:normalizedString.
|
3288
|
+
if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None:
|
3289
|
+
if not isinstance(value, str):
|
3290
|
+
lineno = self.gds_get_node_lineno_()
|
3291
|
+
self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, })
|
3292
|
+
return False
|
3293
|
+
if len(value) > 60:
|
3294
|
+
lineno = self.gds_get_node_lineno_()
|
3295
|
+
self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on merchant-urlType1' % {"value": value, "lineno": lineno} )
|
3296
|
+
result = False
|
3297
|
+
return result
|
3298
|
+
def validate_transaction_typeType2(self, value):
|
3299
|
+
result = True
|
3300
|
+
# Validate type transaction-typeType2, a restriction on xsd:normalizedString.
|
3301
|
+
if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None:
|
3302
|
+
if not isinstance(value, str):
|
3303
|
+
lineno = self.gds_get_node_lineno_()
|
3304
|
+
self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, })
|
3305
|
+
return False
|
3306
|
+
if len(value) > 44:
|
3307
|
+
lineno = self.gds_get_node_lineno_()
|
3308
|
+
self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on transaction-typeType2' % {"value": value, "lineno": lineno} )
|
3309
|
+
result = False
|
3310
|
+
return result
|
3311
|
+
def has__content(self):
|
3312
|
+
if (
|
3313
|
+
self.merchant_name is not None or
|
3314
|
+
self.merchant_url is not None or
|
3315
|
+
self.auth_code is not None or
|
3316
|
+
self.auth_timestamp is not None or
|
3317
|
+
self.supplier_id is not None or
|
3318
|
+
self.currency is not None or
|
3319
|
+
self.transaction_type is not None
|
3320
|
+
):
|
3321
|
+
return True
|
3322
|
+
else:
|
3323
|
+
return False
|
3324
|
+
def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='supplier-account-receipt-detailsType', pretty_print=True):
|
3325
|
+
imported_ns_def_ = GenerateDSNamespaceDefs_.get('supplier-account-receipt-detailsType')
|
3326
|
+
if imported_ns_def_ is not None:
|
3327
|
+
namespacedef_ = imported_ns_def_
|
3328
|
+
if pretty_print:
|
3329
|
+
eol_ = '\n'
|
3330
|
+
else:
|
3331
|
+
eol_ = ''
|
3332
|
+
if self.original_tagname_ is not None and name_ == 'supplier-account-receipt-detailsType':
|
3333
|
+
name_ = self.original_tagname_
|
3334
|
+
if UseCapturedNS_ and self.ns_prefix_:
|
3335
|
+
namespaceprefix_ = self.ns_prefix_ + ':'
|
3336
|
+
showIndent(outfile, level, pretty_print)
|
3337
|
+
outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
|
3338
|
+
already_processed = set()
|
3339
|
+
self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='supplier-account-receipt-detailsType')
|
3340
|
+
if self.has__content():
|
3341
|
+
outfile.write('>%s' % (eol_, ))
|
3342
|
+
self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='supplier-account-receipt-detailsType', pretty_print=pretty_print)
|
3343
|
+
showIndent(outfile, level, pretty_print)
|
3344
|
+
outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
|
3345
|
+
else:
|
3346
|
+
outfile.write('/>%s' % (eol_, ))
|
3347
|
+
def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='supplier-account-receipt-detailsType'):
|
3348
|
+
pass
|
3349
|
+
def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='supplier-account-receipt-detailsType', fromsubclass_=False, pretty_print=True):
|
3350
|
+
if pretty_print:
|
3351
|
+
eol_ = '\n'
|
3352
|
+
else:
|
3353
|
+
eol_ = ''
|
3354
|
+
if self.merchant_name is not None:
|
3355
|
+
namespaceprefix_ = self.merchant_name_nsprefix_ + ':' if (UseCapturedNS_ and self.merchant_name_nsprefix_) else ''
|
3356
|
+
showIndent(outfile, level, pretty_print)
|
3357
|
+
outfile.write('<%smerchant-name>%s</%smerchant-name>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.merchant_name), input_name='merchant-name')), namespaceprefix_ , eol_))
|
3358
|
+
if self.merchant_url is not None:
|
3359
|
+
namespaceprefix_ = self.merchant_url_nsprefix_ + ':' if (UseCapturedNS_ and self.merchant_url_nsprefix_) else ''
|
3360
|
+
showIndent(outfile, level, pretty_print)
|
3361
|
+
outfile.write('<%smerchant-url>%s</%smerchant-url>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.merchant_url), input_name='merchant-url')), namespaceprefix_ , eol_))
|
3362
|
+
if self.auth_code is not None:
|
3363
|
+
namespaceprefix_ = self.auth_code_nsprefix_ + ':' if (UseCapturedNS_ and self.auth_code_nsprefix_) else ''
|
3364
|
+
showIndent(outfile, level, pretty_print)
|
3365
|
+
outfile.write('<%sauth-code>%s</%sauth-code>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.auth_code), input_name='auth-code')), namespaceprefix_ , eol_))
|
3366
|
+
if self.auth_timestamp is not None:
|
3367
|
+
namespaceprefix_ = self.auth_timestamp_nsprefix_ + ':' if (UseCapturedNS_ and self.auth_timestamp_nsprefix_) else ''
|
3368
|
+
showIndent(outfile, level, pretty_print)
|
3369
|
+
outfile.write('<%sauth-timestamp>%s</%sauth-timestamp>%s' % (namespaceprefix_ , self.gds_format_datetime(self.auth_timestamp, input_name='auth-timestamp'), namespaceprefix_ , eol_))
|
3370
|
+
if self.supplier_id is not None:
|
3371
|
+
namespaceprefix_ = self.supplier_id_nsprefix_ + ':' if (UseCapturedNS_ and self.supplier_id_nsprefix_) else ''
|
3372
|
+
showIndent(outfile, level, pretty_print)
|
3373
|
+
outfile.write('<%ssupplier-id>%s</%ssupplier-id>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.supplier_id), input_name='supplier-id')), namespaceprefix_ , eol_))
|
3374
|
+
if self.currency is not None:
|
3375
|
+
namespaceprefix_ = self.currency_nsprefix_ + ':' if (UseCapturedNS_ and self.currency_nsprefix_) else ''
|
3376
|
+
showIndent(outfile, level, pretty_print)
|
3377
|
+
outfile.write('<%scurrency>%s</%scurrency>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.currency), input_name='currency')), namespaceprefix_ , eol_))
|
3378
|
+
if self.transaction_type is not None:
|
3379
|
+
namespaceprefix_ = self.transaction_type_nsprefix_ + ':' if (UseCapturedNS_ and self.transaction_type_nsprefix_) else ''
|
3380
|
+
showIndent(outfile, level, pretty_print)
|
3381
|
+
outfile.write('<%stransaction-type>%s</%stransaction-type>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.transaction_type), input_name='transaction-type')), namespaceprefix_ , eol_))
|
3382
|
+
def build(self, node, gds_collector_=None):
|
3383
|
+
self.gds_collector_ = gds_collector_
|
3384
|
+
if SaveElementTreeNode:
|
3385
|
+
self.gds_elementtree_node_ = node
|
3386
|
+
already_processed = set()
|
3387
|
+
self.ns_prefix_ = node.prefix
|
3388
|
+
self._buildAttributes(node, node.attrib, already_processed)
|
3389
|
+
for child in node:
|
3390
|
+
nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
|
3391
|
+
self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
|
3392
|
+
return self
|
3393
|
+
def _buildAttributes(self, node, attrs, already_processed):
|
3394
|
+
pass
|
3395
|
+
def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
|
3396
|
+
if nodeName_ == 'merchant-name':
|
3397
|
+
value_ = child_.text
|
3398
|
+
value_ = self.gds_parse_string(value_, node, 'merchant_name')
|
3399
|
+
value_ = self.gds_validate_string(value_, node, 'merchant_name')
|
3400
|
+
self.merchant_name = value_
|
3401
|
+
self.merchant_name_nsprefix_ = child_.prefix
|
3402
|
+
# validate type merchant-nameType
|
3403
|
+
self.validate_merchant_nameType(self.merchant_name)
|
3404
|
+
elif nodeName_ == 'merchant-url':
|
3405
|
+
value_ = child_.text
|
3406
|
+
value_ = self.gds_parse_string(value_, node, 'merchant_url')
|
3407
|
+
value_ = self.gds_validate_string(value_, node, 'merchant_url')
|
3408
|
+
self.merchant_url = value_
|
3409
|
+
self.merchant_url_nsprefix_ = child_.prefix
|
3410
|
+
# validate type merchant-urlType1
|
3411
|
+
self.validate_merchant_urlType1(self.merchant_url)
|
3412
|
+
elif nodeName_ == 'auth-code':
|
3413
|
+
value_ = child_.text
|
3414
|
+
value_ = self.gds_parse_string(value_, node, 'auth_code')
|
3415
|
+
value_ = self.gds_validate_string(value_, node, 'auth_code')
|
3416
|
+
self.auth_code = value_
|
3417
|
+
self.auth_code_nsprefix_ = child_.prefix
|
3418
|
+
elif nodeName_ == 'auth-timestamp':
|
3419
|
+
sval_ = child_.text
|
3420
|
+
dval_ = self.gds_parse_datetime(sval_)
|
3421
|
+
self.auth_timestamp = dval_
|
3422
|
+
self.auth_timestamp_nsprefix_ = child_.prefix
|
3423
|
+
elif nodeName_ == 'supplier-id':
|
3424
|
+
value_ = child_.text
|
3425
|
+
value_ = self.gds_parse_string(value_, node, 'supplier_id')
|
3426
|
+
value_ = self.gds_validate_string(value_, node, 'supplier_id')
|
3427
|
+
self.supplier_id = value_
|
3428
|
+
self.supplier_id_nsprefix_ = child_.prefix
|
3429
|
+
elif nodeName_ == 'currency':
|
3430
|
+
value_ = child_.text
|
3431
|
+
value_ = self.gds_parse_string(value_, node, 'currency')
|
3432
|
+
value_ = self.gds_validate_string(value_, node, 'currency')
|
3433
|
+
self.currency = value_
|
3434
|
+
self.currency_nsprefix_ = child_.prefix
|
3435
|
+
elif nodeName_ == 'transaction-type':
|
3436
|
+
value_ = child_.text
|
3437
|
+
value_ = self.gds_parse_string(value_, node, 'transaction_type')
|
3438
|
+
value_ = self.gds_validate_string(value_, node, 'transaction_type')
|
3439
|
+
self.transaction_type = value_
|
3440
|
+
self.transaction_type_nsprefix_ = child_.prefix
|
3441
|
+
# validate type transaction-typeType2
|
3442
|
+
self.validate_transaction_typeType2(self.transaction_type)
|
3443
|
+
# end class supplier_account_receipt_detailsType
|
3444
|
+
|
3445
|
+
|
3446
|
+
#
|
3447
|
+
# End data representation classes.
|
3448
|
+
#
|
3449
|
+
|
3450
|
+
|
3451
|
+
GDSClassesMapping = {
|
3452
|
+
}
|
3453
|
+
|
3454
|
+
|
3455
|
+
USAGE_TEXT = """
|
3456
|
+
Usage: python <Parser>.py [ -s ] <in_xml_file>
|
3457
|
+
"""
|
3458
|
+
|
3459
|
+
|
3460
|
+
def usage():
|
3461
|
+
print(USAGE_TEXT)
|
3462
|
+
sys.exit(1)
|
3463
|
+
|
3464
|
+
|
3465
|
+
def get_root_tag(node):
|
3466
|
+
tag = Tag_pattern_.match(node.tag).groups()[-1]
|
3467
|
+
prefix_tag = TagNamePrefix + tag
|
3468
|
+
rootClass = GDSClassesMapping.get(prefix_tag)
|
3469
|
+
if rootClass is None:
|
3470
|
+
rootClass = globals().get(prefix_tag)
|
3471
|
+
return tag, rootClass
|
3472
|
+
|
3473
|
+
|
3474
|
+
def get_required_ns_prefix_defs(rootNode):
|
3475
|
+
'''Get all name space prefix definitions required in this XML doc.
|
3476
|
+
Return a dictionary of definitions and a char string of definitions.
|
3477
|
+
'''
|
3478
|
+
nsmap = {
|
3479
|
+
prefix: uri
|
3480
|
+
for node in rootNode.iter()
|
3481
|
+
for (prefix, uri) in node.nsmap.items()
|
3482
|
+
if prefix is not None
|
3483
|
+
}
|
3484
|
+
namespacedefs = ' '.join([
|
3485
|
+
'xmlns:{}="{}"'.format(prefix, uri)
|
3486
|
+
for prefix, uri in nsmap.items()
|
3487
|
+
])
|
3488
|
+
return nsmap, namespacedefs
|
3489
|
+
|
3490
|
+
|
3491
|
+
def parse(inFileName, silence=False, print_warnings=True):
|
3492
|
+
global CapturedNsmap_
|
3493
|
+
gds_collector = GdsCollector_()
|
3494
|
+
parser = None
|
3495
|
+
doc = parsexml_(inFileName, parser)
|
3496
|
+
rootNode = doc.getroot()
|
3497
|
+
rootTag, rootClass = get_root_tag(rootNode)
|
3498
|
+
if rootClass is None:
|
3499
|
+
rootTag = 'ShipmentTransmitSetType'
|
3500
|
+
rootClass = ShipmentTransmitSetType
|
3501
|
+
rootObj = rootClass.factory()
|
3502
|
+
rootObj.build(rootNode, gds_collector_=gds_collector)
|
3503
|
+
CapturedNsmap_, namespacedefs = get_required_ns_prefix_defs(rootNode)
|
3504
|
+
if not SaveElementTreeNode:
|
3505
|
+
doc = None
|
3506
|
+
rootNode = None
|
3507
|
+
if not silence:
|
3508
|
+
sys.stdout.write('<?xml version="1.0" ?>\n')
|
3509
|
+
rootObj.export(
|
3510
|
+
sys.stdout, 0, name_=rootTag,
|
3511
|
+
namespacedef_=namespacedefs,
|
3512
|
+
pretty_print=True)
|
3513
|
+
if print_warnings and len(gds_collector.get_messages()) > 0:
|
3514
|
+
separator = ('-' * 50) + '\n'
|
3515
|
+
sys.stderr.write(separator)
|
3516
|
+
sys.stderr.write('----- Warnings -- count: {} -----\n'.format(
|
3517
|
+
len(gds_collector.get_messages()), ))
|
3518
|
+
gds_collector.write_messages(sys.stderr)
|
3519
|
+
sys.stderr.write(separator)
|
3520
|
+
return rootObj
|
3521
|
+
|
3522
|
+
|
3523
|
+
def parseEtree(inFileName, silence=False, print_warnings=True,
|
3524
|
+
mapping=None, reverse_mapping=None, nsmap=None):
|
3525
|
+
parser = None
|
3526
|
+
doc = parsexml_(inFileName, parser)
|
3527
|
+
gds_collector = GdsCollector_()
|
3528
|
+
rootNode = doc.getroot()
|
3529
|
+
rootTag, rootClass = get_root_tag(rootNode)
|
3530
|
+
if rootClass is None:
|
3531
|
+
rootTag = 'ShipmentTransmitSetType'
|
3532
|
+
rootClass = ShipmentTransmitSetType
|
3533
|
+
rootObj = rootClass.factory()
|
3534
|
+
rootObj.build(rootNode, gds_collector_=gds_collector)
|
3535
|
+
if mapping is None:
|
3536
|
+
mapping = {}
|
3537
|
+
if reverse_mapping is None:
|
3538
|
+
reverse_mapping = {}
|
3539
|
+
rootElement = rootObj.to_etree(
|
3540
|
+
None, name_=rootTag, mapping_=mapping,
|
3541
|
+
reverse_mapping_=reverse_mapping, nsmap_=nsmap)
|
3542
|
+
reverse_node_mapping = rootObj.gds_reverse_node_mapping(mapping)
|
3543
|
+
# Enable Python to collect the space used by the DOM.
|
3544
|
+
if not SaveElementTreeNode:
|
3545
|
+
doc = None
|
3546
|
+
rootNode = None
|
3547
|
+
if not silence:
|
3548
|
+
content = etree_.tostring(
|
3549
|
+
rootElement, pretty_print=True,
|
3550
|
+
xml_declaration=True, encoding="utf-8")
|
3551
|
+
sys.stdout.write(str(content))
|
3552
|
+
sys.stdout.write('\n')
|
3553
|
+
if print_warnings and len(gds_collector.get_messages()) > 0:
|
3554
|
+
separator = ('-' * 50) + '\n'
|
3555
|
+
sys.stderr.write(separator)
|
3556
|
+
sys.stderr.write('----- Warnings -- count: {} -----\n'.format(
|
3557
|
+
len(gds_collector.get_messages()), ))
|
3558
|
+
gds_collector.write_messages(sys.stderr)
|
3559
|
+
sys.stderr.write(separator)
|
3560
|
+
return rootObj, rootElement, mapping, reverse_node_mapping
|
3561
|
+
|
3562
|
+
|
3563
|
+
def parseString(inString, silence=False, print_warnings=True):
|
3564
|
+
'''Parse a string, create the object tree, and export it.
|
3565
|
+
|
3566
|
+
Arguments:
|
3567
|
+
- inString -- A string. This XML fragment should not start
|
3568
|
+
with an XML declaration containing an encoding.
|
3569
|
+
- silence -- A boolean. If False, export the object.
|
3570
|
+
Returns -- The root object in the tree.
|
3571
|
+
'''
|
3572
|
+
parser = None
|
3573
|
+
rootNode= parsexmlstring_(inString, parser)
|
3574
|
+
gds_collector = GdsCollector_()
|
3575
|
+
rootTag, rootClass = get_root_tag(rootNode)
|
3576
|
+
if rootClass is None:
|
3577
|
+
rootTag = 'ShipmentTransmitSetType'
|
3578
|
+
rootClass = ShipmentTransmitSetType
|
3579
|
+
rootObj = rootClass.factory()
|
3580
|
+
rootObj.build(rootNode, gds_collector_=gds_collector)
|
3581
|
+
if not SaveElementTreeNode:
|
3582
|
+
rootNode = None
|
3583
|
+
if not silence:
|
3584
|
+
sys.stdout.write('<?xml version="1.0" ?>\n')
|
3585
|
+
rootObj.export(
|
3586
|
+
sys.stdout, 0, name_=rootTag,
|
3587
|
+
namespacedef_='')
|
3588
|
+
if print_warnings and len(gds_collector.get_messages()) > 0:
|
3589
|
+
separator = ('-' * 50) + '\n'
|
3590
|
+
sys.stderr.write(separator)
|
3591
|
+
sys.stderr.write('----- Warnings -- count: {} -----\n'.format(
|
3592
|
+
len(gds_collector.get_messages()), ))
|
3593
|
+
gds_collector.write_messages(sys.stderr)
|
3594
|
+
sys.stderr.write(separator)
|
3595
|
+
return rootObj
|
3596
|
+
|
3597
|
+
|
3598
|
+
def parseLiteral(inFileName, silence=False, print_warnings=True):
|
3599
|
+
parser = None
|
3600
|
+
doc = parsexml_(inFileName, parser)
|
3601
|
+
gds_collector = GdsCollector_()
|
3602
|
+
rootNode = doc.getroot()
|
3603
|
+
rootTag, rootClass = get_root_tag(rootNode)
|
3604
|
+
if rootClass is None:
|
3605
|
+
rootTag = 'ShipmentTransmitSetType'
|
3606
|
+
rootClass = ShipmentTransmitSetType
|
3607
|
+
rootObj = rootClass.factory()
|
3608
|
+
rootObj.build(rootNode, gds_collector_=gds_collector)
|
3609
|
+
# Enable Python to collect the space used by the DOM.
|
3610
|
+
if not SaveElementTreeNode:
|
3611
|
+
doc = None
|
3612
|
+
rootNode = None
|
3613
|
+
if not silence:
|
3614
|
+
sys.stdout.write('#from manifest import *\n\n')
|
3615
|
+
sys.stdout.write('import manifest as model_\n\n')
|
3616
|
+
sys.stdout.write('rootObj = model_.rootClass(\n')
|
3617
|
+
rootObj.exportLiteral(sys.stdout, 0, name_=rootTag)
|
3618
|
+
sys.stdout.write(')\n')
|
3619
|
+
if print_warnings and len(gds_collector.get_messages()) > 0:
|
3620
|
+
separator = ('-' * 50) + '\n'
|
3621
|
+
sys.stderr.write(separator)
|
3622
|
+
sys.stderr.write('----- Warnings -- count: {} -----\n'.format(
|
3623
|
+
len(gds_collector.get_messages()), ))
|
3624
|
+
gds_collector.write_messages(sys.stderr)
|
3625
|
+
sys.stderr.write(separator)
|
3626
|
+
return rootObj
|
3627
|
+
|
3628
|
+
|
3629
|
+
def main():
|
3630
|
+
args = sys.argv[1:]
|
3631
|
+
if len(args) == 1:
|
3632
|
+
parse(args[0])
|
3633
|
+
else:
|
3634
|
+
usage()
|
3635
|
+
|
3636
|
+
|
3637
|
+
if __name__ == '__main__':
|
3638
|
+
#import pdb; pdb.set_trace()
|
3639
|
+
main()
|
3640
|
+
|
3641
|
+
RenameMappings_ = {
|
3642
|
+
}
|
3643
|
+
|
3644
|
+
#
|
3645
|
+
# Mapping of namespaces to types defined in them
|
3646
|
+
# and the file in which each is defined.
|
3647
|
+
# simpleTypes are marked "ST" and complexTypes "CT".
|
3648
|
+
NamespaceToDefMappings_ = {'http://www.canadapost.ca/ws/manifest-v8': [('GroupIDType',
|
3649
|
+
'./schemas/manifest.xsd',
|
3650
|
+
'ST'),
|
3651
|
+
('ShipmentIDType',
|
3652
|
+
'./schemas/manifest.xsd',
|
3653
|
+
'ST'),
|
3654
|
+
('CustomerReferenceType',
|
3655
|
+
'./schemas/manifest.xsd',
|
3656
|
+
'ST'),
|
3657
|
+
('CustomerRequestIdType',
|
3658
|
+
'./schemas/manifest.xsd',
|
3659
|
+
'ST'),
|
3660
|
+
('ShipmentTransmitSetType',
|
3661
|
+
'./schemas/manifest.xsd',
|
3662
|
+
'CT'),
|
3663
|
+
('GroupIDListType',
|
3664
|
+
'./schemas/manifest.xsd',
|
3665
|
+
'CT'),
|
3666
|
+
('ExcludedShipmentsType',
|
3667
|
+
'./schemas/manifest.xsd',
|
3668
|
+
'CT'),
|
3669
|
+
('ShipmentsType',
|
3670
|
+
'./schemas/manifest.xsd',
|
3671
|
+
'CT'),
|
3672
|
+
('ManifestsType',
|
3673
|
+
'./schemas/manifest.xsd',
|
3674
|
+
'CT'),
|
3675
|
+
('ManifestType',
|
3676
|
+
'./schemas/manifest.xsd',
|
3677
|
+
'CT'),
|
3678
|
+
('ManifestDetailsType',
|
3679
|
+
'./schemas/manifest.xsd',
|
3680
|
+
'CT'),
|
3681
|
+
('ManifestPricingInfoType',
|
3682
|
+
'./schemas/manifest.xsd',
|
3683
|
+
'CT'),
|
3684
|
+
('ManifestAddressType',
|
3685
|
+
'./schemas/manifest.xsd',
|
3686
|
+
'CT'),
|
3687
|
+
('AddressDetailsType',
|
3688
|
+
'./schemas/manifest.xsd',
|
3689
|
+
'CT')]}
|
3690
|
+
|
3691
|
+
__all__ = [
|
3692
|
+
"AddressDetailsType",
|
3693
|
+
"ExcludedShipmentsType",
|
3694
|
+
"GroupIDListType",
|
3695
|
+
"ManifestAddressType",
|
3696
|
+
"ManifestDetailsType",
|
3697
|
+
"ManifestPricingInfoType",
|
3698
|
+
"ManifestType",
|
3699
|
+
"ManifestsType",
|
3700
|
+
"ShipmentTransmitSetType",
|
3701
|
+
"ShipmentsType",
|
3702
|
+
"cc_receipt_detailsType",
|
3703
|
+
"supplier_account_receipt_detailsType"
|
3704
|
+
]
|